[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