[Pixman] Hidden symbols in libraries
Mark Ashley
mark at ibiblio.org
Sun Aug 25 20:54:32 PDT 2013
I'm compiling on Solaris with the SunStudio 12.3 compilers.
The recipie is:
cd /var/tmp
rm -rf pixman-0.30.2
untgz /usr/local/src/graphics/pixman-0.30.2.tar.gz
cd pixman-0.30.2
./configure --prefix=/usr/local \
--disable-mmx \
--disable-vmx \
--disable-sse2 \
--disable-silent-rules \
--disable-gcc-inline-asm
gmake
What happens is these errors show up:
DEPDIR=.deps depmode=none /bin/sh ../depcomp \
cc -DHAVE_CONFIG_H -I. -I.. -I../pixman -I../pixman
-I/usr/local/include/libpng16 -xopenmp -O -g -xldscope=hidden -c
prng-test.c
/bin/sh ../libtool --tag=CC --mode=link cc -xopenmp -O -g
-xldscope=hidden -xopenmp -o prng-test prng-test.o libutils.la ../pixman/
libpixman-1.la -lm -L/usr/local/lib -lpng16 -lm
libtool: link: cc -xopenmp -O -g -xldscope=hidden -xopenmp -o
.libs/prng-test prng-test.o ./.libs/libutils.a
../pixman/.libs/libpixman-1.so -L/usr/local/lib /usr/local/lib/libpng16.so
-lz -lcurses -lm -xopenmp -R/usr/local/lib
Undefined first referenced
symbol in file
global_implementation prng-test.o
_pixman_choose_implementation prng-test.o
ld: fatal: symbol referencing errors. No output written to .libs/prng-test
gmake[2]: *** [prng-test] Error 2
gmake[2]: Leaving directory `/var/tmp/pixman-0.30.2/test'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/var/tmp/pixman-0.30.2'
gmake: *** [all] Error 2
because of this library symbol being local, not global:
host:/var/tmp/pixman-0.30.2/pixman/.libs root# nm -g libpixman-1.so.0.30.2
| grep global
host:/var/tmp/pixman-0.30.2/pixman/.libs root# nm libpixman-1.so.0.30.2 |
grep global
[59] | 577936| 4|OBJT |LOCL |2 |25
|global_implementation
Removing hidden symbol flags before running configure results in a clean
compile.
perl -pe 's#-xldscope=hidden##' -i configure
Is pixman just too zealous with limiting the symbol scope?
ta,
Mark.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pixman/attachments/20130826/3fc03229/attachment.html>
More information about the Pixman
mailing list