print/fontforge: link failure on amd64
cyberbotx at cyberbotx.com
Mon Oct 29 13:22:23 PDT 2007
I'm using FreeBSD 6.2 on i386 and it links Python just fine with
/usr/local/lib/python2.5/config/libpython2.5.a, so I suspect it has something to
do with how Python gets built on an amd64. I don't have one to test it on, but
have you tried rebuilding Python and then Fontforge? I just want to see if it's
Python's fault, Fontforge's fault, or something weird with the way Fontforge's
libtool is handling Python. I'm not even sure if Python is actually used by
Fontforge either. I haven't looked into that.
Andriy Gapon wrote:
> on 29/10/2007 15:08 Naram Qashat said the following:
>> I'm really not sure about it, but maybe Python needs rebuilding for that?
>> Either that or I could look into seeing if there's an option to enable/disable
>> Python support. I think by default it just auto-detects if Python is there and
>> tries to use it if it is.
> Just in case: there is already
> /usr/local/lib/python2.5/config/libpython2.5.so installed, I hacked
> Makefile to link against it and everything seems to be OK.
>> Andriy Gapon wrote:
>>> I have the following problem while building print/fontforge version
>>> 20071002 on FreeBSD 6.2-RELEASE-p6 amd64:
>>> *** Warning: Linking the shared library ../libfontforge.la against the
>>> *** static library /usr/local/lib/python2.5/config/libpython2.5.a is not
>>> cc -shared .libs/autohint.o .libs/autosave.o ...
>>> /usr/local/lib/python2.5/config/libpython2.5.a -lutil -lpthread -lm
>>> /usr/local/lib/libintl.so -march=athlon64 -Wl,-soname
>>> -Wl,libfontforge.so.1 -o ../.libs/libfontforge.so.1
>>> /usr/bin/ld: /usr/local/lib/python2.5/config/libpython2.5.a(abstract.o):
>>> relocation R_X86_64_32 can not be used when making a shared object;
>>> recompile with -fPIC
>>> /usr/local/lib/python2.5/config/libpython2.5.a: could not read symbols:
>>> Bad value
>>> gmake: *** [../libfontforge.la] Error 1
>>> gmake: Leaving directory
>>> gmake: *** [fontforge] Error 2
>>> *** Error code 2
>>> Stop in /usr/ports/print/fontforge.
>>> I think that there either should be a "PIC" version of libpython2.5.a
>>> and that's what fontforge should link to or it should link to .so
>>> version of the library.
More information about the freebsd-ports