PDA

View Full Version : Yet another "can't get it to compile on Solaris" post...



skirmess
November 6th, 2010, 07:04 PM
Yet another "can't get it to compile on Solaris" post... I tried to whole day to compile Amanda 3.2.0 on Solaris 10/x86 and didn't succeed. The wiki isn't specific enough about the versions of the requirements and most versions of glib don't compile either with one or another error. But there are posts who indicate that people did succeed, which gives me hope. :)

Did someone succeed in compiling Amanda with GCC? Which version? I've tried with GCC 4.5. Or do I have to use Sun Studio?

I'm stuck at the following error. (There are many thousand lines more.) Does someone know this error? Googling showed a few hits for "text relocation remains against symbol" but neither setting "LDFLAGS=-mimpure-text -lrt" nor "CFLAGS=-fpic" helped.


/bin/bash ../libtool --tag=CC --mode=link gcc -fpic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -release 3.2.0 -o libamanda.la -rpath /l/sw/opt/amanda-3.2.0/lib alloc.lo amfeatures.lo amflock.lo ipc-binary.lo amxml.lo clock.lo columnar.lo conffile.lo debug.lo dgram.lo event.lo file.lo fileheader.lo glib-util.lo match.lo packet.lo pipespawn.lo protocol.lo semaphore.lo security.lo security-util.lo simpleprng.lo sl.lo sockaddr-util.lo stream.lo tapelist.lo timestamp.lo util.lo amflock-posix.lo amflock-lockf.lo amflock-lnlock.lo ssh-security.lo bsd-security.lo bsdtcp-security.lo local-security.lo version.lo ../gnulib/libgnu.la -lm -L/l/sw/opt/glib-2.16.3/lib -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lpthread -lthread -lrt -lglib-2.0 -lsocket -lnsl -lresolv -lintl
libtool: link: gcc -shared -Wl,-z -Wl,text -Wl,-h -Wl,libamanda-3.2.0.so -o .libs/libamanda-3.2.0.so .libs/alloc.o .libs/amfeatures.o .libs/amflock.o .libs/ipc-binary.o .libs/amxml.o .libs/clock.o .libs/columnar.o .libs/conffile.o .libs/debug.o .libs/dgram.o .libs/event.o .libs/file.o .libs/fileheader.o .libs/glib-util.o .libs/match.o .libs/packet.o .libs/pipespawn.o .libs/protocol.o .libs/semaphore.o .libs/security.o .libs/security-util.o .libs/simpleprng.o .libs/sl.o .libs/sockaddr-util.o .libs/stream.o .libs/tapelist.o .libs/timestamp.o .libs/util.o .libs/amflock-posix.o .libs/amflock-lockf.o .libs/amflock-lnlock.o .libs/ssh-security.o .libs/bsd-security.o .libs/bsdtcp-security.o .libs/local-security.o .libs/version.o -Wl,-z -Wl,allextract ../gnulib/.libs/libgnu.a -Wl,-z -Wl,defaultextract -L/l/sw/opt/glib-2.16.3/lib -lm /l/sw/opt/glib-2.16.3/lib/libgmodule-2.0.a /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a /l/sw/opt/glib-2.16.3/lib/libgthread-2.0.a -lpthread -lthread -lrt /l/sw/opt/glib-2.16.3/lib/libglib-2.0.a -lsocket -lnsl -lresolv -lintl -lc
Text relocation remains referenced
against symbol offset in file
<unknown> 0x7 /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0x11 /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0x16 /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0x1b /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0x32 /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0x37 /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0x3d /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0x43 /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0x4e /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0x6f /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0x74 /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0x7b /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0x80 /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0x8f /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0x94 /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0x9a /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0xa1 /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)
<unknown> 0xc6 /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a(genums.o)

skirmess
November 11th, 2010, 01:22 PM
I've installed SolarisStudio12.2-solaris-x86-pkg-ML and Amanda just compiled without any problem or requiring anything special. Good work, thanks. :)


PKGINST: SPRO-12u2-cc
NAME: C Compiler
CATEGORY: application
ARCH: i386
VERSION: 12.2,REV=2010.07.07
BASEDIR: /opt
VENDOR: Oracle Corporation
DESC: C Compiler
PSTAMP: desna20100816115702
INSTDATE: Nov 11 2010 21:02
HOTLINE: Please contact your local service provider
STATUS: completely installed
FILES: 156 installed pathnames
19 shared pathnames
25 directories
28 executables
17123 blocks used (approx)


I get a lot of these egrep errors. (egrep is /usr/bin/egrep)



libtool: link: cc -G -h libXferServer.so -o .libs/libXferServer.so .libs/XferServer.o -R/tmp/amanda-3.2.0/perl/amglue/.libs -R/tmp/amanda-3.2.0/server-src/.libs -R/tmp/amanda-3.2.0/device-src/.libs -R/tmp/amanda-3.2.0/xfer-src/.libs -R/tmp/amanda-3.2.0/ndmp-src/.libs -R/tmp/amanda-3.2.0/common-src/.libs -R/l/sw/opt/amanda-3.2.0/lib -L/tmp/amanda-3.2.0/device-src/.libs -L/tmp/amanda-3.2.0/xfer-src/.libs -L/tmp/amanda-3.2.0/ndmp-src/.libs -L/tmp/amanda-3.2.0/common-src/.libs amglue/.libs/libamglue.so -L/l/sw/opt/glib-2.16.3/lib ../server-src/.libs/libamserver.so /tmp/amanda-3.2.0/device-src/.libs/libamdevice.so /tmp/amanda-3.2.0/xfer-src/.libs/libamxfer.so /tmp/amanda-3.2.0/ndmp-src/.libs/libndmlib.so /tmp/amanda-3.2.0/common-src/.libs/libamanda.so -lm /l/sw/opt/glib-2.16.3/lib/libgmodule-2.0.a /l/sw/opt/glib-2.16.3/lib/libgobject-2.0.a /l/sw/opt/glib-2.16.3/lib/libgthread-2.0.a -lpthread -lthread -lrt /l/sw/opt/glib-2.16.3/lib/libglib-2.0.a -lsocket -lnsl -lresolv -lintl -lc
egrep: syntax error
egrep: syntax error
egrep: syntax error
egrep: syntax error
egrep: syntax error
egrep: syntax error
egrep: syntax error
egrep: syntax error
egrep: syntax error
egrep: syntax error
egrep: syntax error
egrep: syntax error
egrep: syntax error
egrep: syntax error
egrep: syntax error
egrep: syntax error
egrep: syntax error
egrep: syntax error
libtool: link: ( cd ".libs" && rm -f "libXferServer.la" && ln -s "../libXferServer.la" "libXferServer.la" )

bisbell
November 12th, 2010, 01:30 PM
I was getting the same thing.
I'm using blastwave GNU tools and libraries for my compile, not using Sun Studio.
With CSWggrep installed you can rename /usr/bin/egrep and link to /opt/csw/bin/ggrep

# mv /usr/bin/egrep /usr/bin/egrep.orig
# ln -s /opt/csw/bin/ggrep /usr/bin/egrep


Also, I had to use gmake (CSWgmake). /usr/ccs/bin/make wasn't working.

skirmess
November 14th, 2010, 06:38 AM
Yes, that worked. It's a little bit confusing that Amanda requires all GNU tools but the Sun compiler. For most software it's the other way around. :)

I've compiled it and it works with the following tools:

* glib 2.16.3 (compiled with gcc; can't get newer versions to compile)
* solstudio 12.2
* GNU Make 3.80
* GNU grep 2.7
* pkg-config 0.15.0

and options:

* --enable-static-binary
* --without-ipv6