[Image-SIG] Linking issues with 1.1.5 on x86_64
Nick Bower
nick at nickbower.com
Thu May 18 07:37:17 CEST 2006
I've some experience building PIL, but for some reason JPEG and other decoders
are not working for a particular architecture (FC4 on sun x86 opterons). The
build script reports JPEG support ok after I configure setup.py
for /usr/lib64 and the build even seems to link correctly, but at runtime
such actions as Image.open('test.jpg').save('x.jpg') report the well known
"Module PIL.Image, line 328, in _getdecoder IOError: decoder jpeg not
available"
--------------------------------------------------------------------
PIL 1.1.5 BUILD SUMMARY
--------------------------------------------------------------------
version 1.1.5
platform linux2 2.4.3 (#1, Apr 11 2006, 08:14:37)
[GCC 4.0.2 20051125 (Red Hat 4.0.2-8)]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support ok
--- ZLIB (PNG/ZIP) support ok
--- FREETYPE2 support ok
--------------------------------------------------------------------
gcc -pthread -shared build/temp.linux-x86_64-2.4/_imaging.o
build/temp.linux-x86_64-2.4/decode.o build/temp.linux-x86_64-2.4/encode.o
build/temp.linux-x86_64-2.4/map.o build/temp.linux-x86_64-2.4/display.o
build/temp.linux-x86_64-2.4/outline.o build/temp.linux-x86_64-2.4/path.o
build/temp.linux-x86_64-2.4/libImaging/Access.o
[chop]
build/temp.linux-x86_64-2.4/libImaging/JpegDecode.o
build/temp.linux-x86_64-2.4/libImaging/JpegEncode.o
[chop]
-L/opt/ktstudio/python/python243/lib -L/usr/lib64 -L/usr/local/lib -L/usr/lib
-ljpeg -lz -o build/lib.linux-x86_64-2.4/_imaging.so
# ldd Imaging-1.1.5/build/lib.linux-x86_64-2.4/_imaging.so
libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x00002aaaaabf5000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00002aaaaad17000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002aaaaae4c000)
libc.so.6 => /lib64/libc.so.6 (0x00002aaaaaf62000)
/lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
# ls -l /usr/lib64/libjpeg.so.62*
lrwxrwxrwx 1 root root 17 Jan 11 00:28 /usr/lib/libjpeg.so.62 ->
libjpeg.so.62.0.0
-rwxr-xr-x 1 root root 124696 Mar 3 2005 /usr/lib/libjpeg.so.62.0.0
The only thing that is different is that there are also 32 bit versions
in /usr/lib. Perhaps this would generate a conflict for the loader?
# ls -l /usr/lib/libjpeg*
lrwxrwxrwx 1 root root 17 Jan 11 00:28 /usr/lib/libjpeg.so.62 ->
libjpeg.so.62.0.0
-rwxr-xr-x 1 root root 124696 Mar 3 2005 /usr/lib/libjpeg.so.62.0.0
More information about the Image-SIG
mailing list