Installing Fuego on Linux

For discussing go computing, software announcements, etc.
Post Reply
crodgers
Dies in gote
Posts: 22
Joined: Wed Nov 07, 2012 6:25 am
Rank: OGS 9k
GD Posts: 0
Universal go server handle: crodgers
Has thanked: 6 times
Been thanked: 14 times

Installing Fuego on Linux

Post by crodgers »

I am trying to install Fuego on 3.8.4-1-ARCH GNU/Linux and keep getting the error

In file included from /usr/include/pthread.h:24:0,
from /usr/include/c++/4.8.2/x86_64-unknown-linux-gnu/bits/gthr-default.h:35,
from /usr/include/c++/4.8.2/x86_64-unknown-linux-gnu/bits/gthr.h:148,
from /usr/include/c++/4.8.2/ext/atomicity.h:35,
from /usr/include/c++/4.8.2/bits/ios_base.h:39,
from /usr/include/c++/4.8.2/ios:42,
from /usr/include/c++/4.8.2/ostream:38,
from /usr/include/c++/4.8.2/iostream:39,
from GtpEngine.h:28,
from GtpEngine.cpp:6:
GtpEngine.cpp: In member function 'void {anonymous}::ReadThread::Function::ExecuteSleepLine(const string&)':
GtpEngine.cpp:352:33: error: expected unqualified-id before numeric constant
xtime_get(&time, boost::TIME_UTC);
^
Makefile:271: recipe for target 'libfuego_gtpengine_a-GtpEngine.o' failed
make[2]: *** [libfuego_gtpengine_a-GtpEngine.o] Error 1
make[2]: Leaving directory '/home/crodgers/fuego-1.1/gtpengine'
Makefile:351: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/crodgers/fuego-1.1'
Makefile:289: recipe for target 'all' failed
make: *** [all] Error 2

I have used ./configure --with-boost-libdir=/usr/lib64 for the configure command, but it won't make properly. I'm not sure where else to ask. Google has not been really helpful. Hoping someone here has dealt with this before. Any help would be greatly appreciated.
User avatar
emeraldemon
Gosei
Posts: 1744
Joined: Sun May 02, 2010 1:33 pm
GD Posts: 0
KGS: greendemon
Tygem: greendemon
DGS: smaragdaemon
OGS: emeraldemon
Has thanked: 697 times
Been thanked: 287 times

Re: Installing Fuego on Linux

Post by emeraldemon »

You might have better luck asking on the fuego-devel mailing list.

That said it looks like maybe the problem has something to do with TIME_UTC being added as a C++11 constant, seems like newer versions of boost have changed to TIME_UTC_ ?

See this thread http://stackoverflow.com/questions/1364 ... t-versions
and this bug: https://svn.boost.org/trac/boost/ticket/6940

Which version of boost are you using?
User avatar
leichtloeslich
Lives in gote
Posts: 314
Joined: Wed Feb 29, 2012 1:16 pm
Rank: KGS 4k
GD Posts: 0
Location: Germany
Has thanked: 10 times
Been thanked: 128 times

Re: Installing Fuego on Linux

Post by leichtloeslich »

emeraldemon wrote:it looks like maybe the problem has something to do with TIME_UTC being added as a C++11 constant, seems like newer versions of boost have changed to TIME_UTC_


That's precisely it (and not that hard to google, either).
To fix it I just did s/TIME_UTC/TIME_UTC_/ in the following two files:
./go/GoGtpEngine.cpp
./gtpengine/GtpEngine.cpp

After that I also needed to pass

Code: Select all

CXXFLAGS="-fpermissive -lpthread"

to ./configure in order to build the project. YMMV.
crodgers
Dies in gote
Posts: 22
Joined: Wed Nov 07, 2012 6:25 am
Rank: OGS 9k
GD Posts: 0
Universal go server handle: crodgers
Has thanked: 6 times
Been thanked: 14 times

Re: Installing Fuego on Linux

Post by crodgers »

Thank you for the advice. I had to do a little more editing, but I finally got it built.
nazgand
Beginner
Posts: 2
Joined: Tue Jul 07, 2015 4:55 pm
Rank: KGS 9k
GD Posts: 0
KGS: nazgand
OGS: nazgand
Universal go server handle: nazgand

Re: Installing Fuego on Linux

Post by nazgand »

I am having similar difficulties... I am using Linux Mint.

Code: Select all

nazgand@Gandteke ~/Downloads/fuego-1.1 $ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for ranlib... ranlib
checking for boostlib >= 1.33.1... yes
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking build system type... x86_64-unknown-linux-gnu
checking whether the Boost::Thread library is available... yes
configure: error: Could not find a version of the library!
nazgand@Gandteke ~/Downloads/fuego-1.1 $ make
make: *** No targets specified and no makefile found.  Stop.
Keith White
Beginner
Posts: 12
Joined: Sun Oct 11, 2015 3:25 am
GD Posts: 0
Location: Jersey, Great Britain
Has thanked: 10 times
Been thanked: 2 times

Re: Installing Fuego on Linux

Post by Keith White »

I know this is an old post but, I have just (I think) successfully built fuego for linux mint which is Ubuntu based.

Do NOT use fuego 1.1 tar ball as it does NOT complile even with the changes above to UTC etc. (See former posts).

Instead, get the SVN master version of fuego-master either via SVN or the zip file option.

you do not need to edit the files as listed in previous posts as the boost UTC references have been fixed in the SVN version.

However, for mint, ubuntu and likely debian, you will come across a few glitches...

The good old -lpthread, or -pthread. Ubuntu based systems like -pthread.

With that in mind, extract the tarball,

open a terminal in the folder and run ....

./setup-build.sh

IT WILL FAIL at the end unless you are very lucky.

Edit the resulting makefile

Code: Select all

LDFLAGS = 
LIBOBJS =
LIBS = -pthread
LTLIBOBJS =


Like I said, play with this and use either -lpthread, or, -pthread in BOTH the makefile edit AND the next line.

./configure --with-boost-libdir=/usr/lib/x86_64-linux-gnu LDFLAGS=-pthread (NOTE: Or wherever YOUR boost libs are)

It should now configure just fine.

Type make and it should build.

However, IF you see this or similar

"undefined reference to symbol 'pthread_mutexattr_settype@@GLIBC_2.2.5'
/lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line"

You have used the wrong -pthread / -lpthread option.

EDIT the make file AND the ./configure line listed above to reflect the changes.

make install

(sends fuego to /usr/local/bin) so you might need to ...

sudo make install (depending on permissions)

Good luck.

BTW, just tried it via GoGui and it seems to work.
Post Reply