evolution compilation on amd64

Sean McNeil sean at mcneil.com
Thu Jun 3 15:53:29 PDT 2004


I get an error when compiling evolution on amd64:

cc -shared  address-conduit.lo -Wl,--whole-archive
../../e-util/ename/.libs/libename-static.al
../../addressbook/backend/ebook/.libs/libebook-static.a
-Wl,--no-whole-archive  -Wl,--rpath
-Wl,/usr/ports/mail/evolution/work/evolution-1.4.6/e-util/.libs
-Wl,--rpath
-Wl,/usr/ports/mail/evolution/work/evolution-1.4.6/libversit/.libs
-Wl,--rpath
-Wl,/usr/ports/mail/evolution/work/evolution-1.4.6/camel/.libs
-Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath
-Wl,/usr/X11R6/lib/evolution/1.4 -Wl,--rpath -Wl,/usr/local/lib
-L/usr/lib -L/usr/ports/mail/evolution/work/evolution-1.4.6/e-util/.libs
-L/usr/X11R6/lib -L/usr/local/lib ../../e-util/.libs/libeutil.so
../../libversit/.libs/libversit.so ../../e-util/.libs/libeconduit.so
../../camel/.libs/libcamel.so -lgpilotd -lgpilotdcm -lgpilotdconduit
/usr/local/lib/libpisock.so /usr/local/lib/libpisync.so -lgal-2.0
-lgal-a11y-2.0 -lglade-2.0 -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnome-2
-lpopt -lbonobo-2 -lgconf-2 -lgnomevfs-2 -lbonobo-activation -lORBit-2
-lgthread-2.0 -lgnomeprintui-2-2 -lgnomeprint-2-2 -lgnomecanvas-2 -lxml2
-lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lXrandr -lXi
-lXinerama -lXcursor -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lXft
-lfreetype -lz -lXrender -lXext -lfontconfig -lpangox-1.0 -lX11
-lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -liconv -lpthread 
-Wl,--export-dynamic -Wl,-soname -Wl,libeaddress_conduit.so -o
.libs/libeaddress_conduit.so
/usr/bin/ld:
../../addressbook/backend/ebook/.libs/libebook-static.a(addressbook-stubs.o): relocation R_X86_64_32S can not be used when making a shared object; recompile with -fPIC
../../addressbook/backend/ebook/.libs/libebook-static.a(addressbook-stubs.o): could not read symbols: Bad value
gmake[3]: *** [libeaddress_conduit.la] Error 1

The following patch will get me past this issue.  I would think this to
be a problem on any arch other than i386.  For some reason, i386 allows
for normally build archives to be included into shared libraries...

*** Makefile.orig       Thu Jun  3 15:34:38 2004
--- Makefile    Thu Jun  3 15:12:25 2004
*************** CONFIGURE_ARGS+=--with-openldap=${LOCALB
*** 64,69 ****
--- 64,73 ----
  CONFIGURE_ARGS+=--with-openldap=no
  .endif

+ .if ${ARCH} == "amd64"
+ CONFIGURE_ARGS+=--with-pic
+ .endif
+
  post-patch:
        @${FIND} ${WRKSRC} -type f -name "*.[ch]" | ${XARGS} ${GREP} -l '<db.h>' | \
                ${XARGS} ${REINPLACE_CMD} -e 's|<db.h>|<db3/db.h>|g'




More information about the freebsd-amd64 mailing list