Menu

#62 shared libraries on FreeBSD AMD64 are not building

closed-fixed
5
2005-12-29
2005-12-26
No

Hello;

I am attempting to build brlcad 7.6.4 on my new Pentium
D using FreeBSD 6.0R-amd64. Trying to build (from the
port) gives me this:

...................
mkdir .libs
cc -DHAVE_CONFIG_H -I. -I. -I../../include
-I/usr/local/include -I/usr/local/in
clude/tcl8.4 -I/usr/X11R6/include -I/usr/local/include
-I../../include -DRT_MULT
ISPECTRAL -Os -march=nocona -pipe -fno-strict-aliasing
-fno-common -c init.c -f
PIC -DPIC -o .libs/init.o
cc -DHAVE_CONFIG_H -I. -I. -I../../include
-I/usr/local/include -I/usr/local/in
clude/tcl8.4 -I/usr/X11R6/include -I/usr/local/include
-I../../include -DRT_MULT
ISPECTRAL -Os -march=nocona -pipe -fno-strict-aliasing
-fno-common -c init.c -o
init.o >/dev/null 2>&1
/bin/sh /usr/local/bin/libtool15 --mode=compile cc
-DHAVE_CONFIG_H -I. -I. -I../
../include -I/usr/local/include
-I/usr/local/include/tcl8.4 -I/usr/X11R6/inclu
de -I/usr/local/include -I../../include
-DRT_MULTISPECTRAL -Os -march=nocona -pi
pe -fno-strict-aliasing -fno-common -c -o sh_temp.lo
`test -f 'sh_temp.c' || ech
o './'`sh_temp.c
cc -DHAVE_CONFIG_H -I. -I. -I../../include
-I/usr/local/include -I/usr/local/in
clude/tcl8.4 -I/usr/X11R6/include -I/usr/local/include
-I../../include -DRT_MULT
ISPECTRAL -Os -march=nocona -pipe -fno-strict-aliasing
-fno-common -c sh_temp.c
-fPIC -DPIC -o .libs/sh_temp.o
cc -DHAVE_CONFIG_H -I. -I. -I../../include
-I/usr/local/include -I/usr/local/in
clude/tcl8.4 -I/usr/X11R6/include -I/usr/local/include
-I../../include -DRT_MULT
ISPECTRAL -Os -march=nocona -pipe -fno-strict-aliasing
-fno-common -c sh_temp.c
-o sh_temp.o >/dev/null 2>&1
/bin/sh /usr/local/bin/libtool15 --mode=compile cc
-DHAVE_CONFIG_H -I. -I. -I../
../include -I/usr/local/include
-I/usr/local/include/tcl8.4 -I/usr/X11R6/inclu
de -I/usr/local/include -I../../include
-DRT_MULTISPECTRAL -Os -march=nocona -pi
pe -fno-strict-aliasing -fno-common -c -o vers.lo `test
-f 'vers.c' || echo './'
`vers.c
cc -DHAVE_CONFIG_H -I. -I. -I../../include
-I/usr/local/include -I/usr/local/in
clude/tcl8.4 -I/usr/X11R6/include -I/usr/local/include
-I../../include -DRT_MULT
ISPECTRAL -Os -march=nocona -pipe -fno-strict-aliasing
-fno-common -c vers.c -f
PIC -DPIC -o .libs/vers.o
cc -DHAVE_CONFIG_H -I. -I. -I../../include
-I/usr/local/include -I/usr/local/in
clude/tcl8.4 -I/usr/X11R6/include -I/usr/local/include
-I../../include -DRT_MULT
ISPECTRAL -Os -march=nocona -pipe -fno-strict-aliasing
-fno-common -c vers.c -o
vers.o >/dev/null 2>&1
/bin/sh /usr/local/bin/libtool15 --mode=link cc
-DRT_MULTISPECTRAL -Os -march=no
cona -pipe -fno-strict-aliasing -fno-common
-L/usr/local/lib -L/usr/X11R6/lib -
L/usr/local/lib -pipe -fno-strict-aliasing -fno-common
-o libmultispectral.la -r
path /usr/local/brlcad/lib -version-info 19:1 init.lo
sh_temp.lo vers.lo ../../s
rc/liboptical/librtms.la ../../src/libbu/libbu.la
-ltcl84 ../../src/librt/librt.
la -lpng
cc -shared .libs/init.o .libs/sh_temp.o .libs/vers.o
-Wl,--whole-archive ../../
src/liboptical/.libs/librtms.a -Wl,--no-whole-archive
-Wl,--rpath -Wl,/usr/port
s/cad/brlcad/work/brlcad-7.6.4/src/librt/.libs
-Wl,--rpath -Wl,/usr/ports/cad/br
lcad/work/brlcad-7.6.4/src/libbn/.libs -Wl,--rpath
-Wl,/usr/ports/cad/brlcad/wor
k/brlcad-7.6.4/src/libbu/.libs -Wl,--rpath
-Wl,/usr/local/brlcad/lib -L/usr/loca
l/lib -L/usr/X11R6/lib
/usr/ports/cad/brlcad/work/brlcad-7.6.4/src/librt/.libs/l
ibrt.so
-L/usr/ports/cad/brlcad/work/brlcad-7.6.4/src/libbn/.libs
-L/usr/ports/c
ad/brlcad/work/brlcad-7.6.4/src/libbu/.libs
/usr/ports/cad/brlcad/work/brlcad-7.
6.4/src/libbn/.libs/libbn.so
/usr/ports/cad/brlcad/work/brlcad-7.6.4/src/libbu/.
libs/libbu.so -pthread -lm
../../src/libbu/.libs/libbu.so -ltcl84 ../../src/libr
t/.libs/librt.so -lpng -march=nocona -pthread
-Wl,-soname -Wl,libmultispectral.
so.19 -o .libs/libmultispectral.so.19
/usr/bin/ld:
../../src/liboptical/.libs/librtms.a(librtms_la-sh_camo.o):
relocat
ion R_X86_64_32 can not be used when making a shared
object; recompile with -fPI
C
../../src/liboptical/.libs/librtms.a(librtms_la-sh_camo.o):
could not read symbo
ls: Bad value
gmake[3]: *** [libmultispectral.la] Error 1
gmake[3]: Leaving directory
`/usr/ports/cad/brlcad/work/brlcad-7.6.4/src/libmult
ispectral'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory
`/usr/ports/cad/brlcad/work/brlcad-7.6.4/src/libmult
ispectral'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory
`/usr/ports/cad/brlcad/work/brlcad-7.6.4/src'
gmake: *** [all-recursive] Error 1
*** Error code 2

Stop in /usr/ports/cad/brlcad.
___________

Hope that helps,

Pedro

Discussion

  • Sean Morrison

    Sean Morrison - 2005-12-29
    • labels: --> Compilation
    • status: open --> closed-fixed
     
  • Sean Morrison

    Sean Morrison - 2005-12-29
    • milestone: --> other bug / workaround
    • assigned_to: nobody --> erikgreenwald
     
  • Sean Morrison

    Sean Morrison - 2005-12-29

    Logged In: YES
    user_id=785737

    Thanks for the report. The problem has to do with a libtool bug symbols bug
    that we've been wrestling with for some time now related to whether the
    convenience library has PIC symbols or not. This matters heavily on amd64
    systems yet forcing the PIC symbols breaks other platforms. For now the
    -fPIC has been readded to the library and better alternatives are being
    investigated for one of the next two upcoming iteration releases. Thanks
    again for the report, it should be fixed in the proposed 7.6.6 port update that
    Eric recently submitted.

     

Log in to post a comment.