Author

Topic: Compiling Bytecoin on Ubuntu (Read 1165 times)

hero member
Activity: 525
Merit: 500
April 13, 2013, 12:41:46 AM
#6
Works now, I did:
  install libupnp-dev
  set  USE_UPNP:=-    int the makefile instead of uncommenting the line.
legendary
Activity: 1064
Merit: 1000
April 12, 2013, 03:32:49 PM
#5
Again guessing .. it's not the USE_UPNP=1 issue is it?.. use USE_UPNP= instead seems to be the better default for a few of these.


If no UPNP option is given I believe the default is to install miniupnpc. If miniupnpc is not installed the compiler would give you a missing dependency error. Something along the lines that it cannot find "miniupnpc'

This error is  specifically pointing to a line of code in the source.

So, I doubt it, but then again i have see some crazy things happen with compilers and source.
sr. member
Activity: 531
Merit: 260
Vires in Numeris
April 12, 2013, 03:16:45 PM
#4
Again guessing .. it's not the USE_UPNP=1 issue is it?.. use USE_UPNP= instead seems to be the better default for a few of these.
legendary
Activity: 1064
Merit: 1000
April 12, 2013, 03:12:04 PM
#3
Well the '!' operator is a logical NOT statement. Example:  A != B means A does not equal B

So it would always need something to identify with.


This is the code around where the error is happening. It is exactly the same as the Terracoin source (Using Meld to compare)

Code:
    // ********************************************************* Step 6: network initialization

    int nSocksVersion = GetArg("-socks", 5);

    if (nSocksVersion != 4 && nSocksVersion != 5)
        return InitError(strprintf(_("Unknown -socks proxy version requested: %i"), nSocksVersion));

    if (mapArgs.count("-onlynet")) {
        std::set nets;
        BOOST_FOREACH(std::string snet, mapMultiArgs["-onlynet"]) {
            enum Network net = ParseNetwork(snet);
            if (net == NET_UNROUTABLE)
                return InitError(strprintf(_("Unknown network specified in -onlynet: '%s'"), snet.c_str()));
            nets.insert(net);
        }
        for (int n = 0; n < NET_MAX; n++) {
            enum Network net = (enum Network)n;
            if (!nets.count(net))
                SetLimited(net);
        }
    }
#if defined(USE_IPV6)
#if ! USE_IPV6
    else
        SetLimited(NET_IPV6);
#endif
#endif

The only thing I see is the "#if ! USE_IPV6", However the '#' tells the compiler not to compile that line. It is like a comment using '/' except that a real '/' comment gets compiled.

I am stumped, make sure your copy of the source is not corrupted, and possibly check to make sure that 'if ! USE_IPV6'  has the '#' prefix so the compiler will ignore it.

Also make sure you have build-essential installed.

I can compile sucessfully on both 12.4 and 12.10.... Huh
sr. member
Activity: 531
Merit: 260
Vires in Numeris
April 12, 2013, 03:00:27 PM
#2
Bytecoin.. is that the one started on April 1st?..

I've no idea but others need to be made as sudo not user, otherwise fails with variety of errors.
hero member
Activity: 525
Merit: 500
April 12, 2013, 12:23:04 PM
#1
Trying to compile Bytecoin on Ubuntu leaves me with the error message :

  init.cpp:644:15: error: operator '!' has no right operand

This error appears on Ubuntu 11.04 as well as Ubuntu 12.04.

Any ideas?
Jump to: