<div dir="ltr"><div><div><div><div><div><div>I'm compiling on Solaris with the SunStudio 12.3 compilers.<br><br></div>The recipie is:<br><br>    cd /var/tmp<br>    rm -rf pixman-0.30.2<br>    untgz /usr/local/src/graphics/pixman-0.30.2.tar.gz<br>

    cd pixman-0.30.2<br>    ./configure --prefix=/usr/local \<br>        --disable-mmx \<br>        --disable-vmx \<br>        --disable-sse2 \<br>        --disable-silent-rules \<br>        --disable-gcc-inline-asm<br>    gmake<br>

<br></div>What happens is these errors show up:<br><br>DEPDIR=.deps depmode=none /bin/sh ../depcomp \<br>cc -DHAVE_CONFIG_H -I. -I..  -I../pixman -I../pixman -I/usr/local/include/libpng16   -xopenmp -O -g -xldscope=hidden -c prng-test.c<br>

/bin/sh ../libtool  --tag=CC   --mode=link cc -xopenmp -O -g -xldscope=hidden -xopenmp   -o prng-test prng-test.o <a href="http://libutils.la">libutils.la</a> ../pixman/<a href="http://libpixman-1.la">libpixman-1.la</a> -lm  -L/usr/local/lib -lpng16  -lm <br>

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<br>

Undefined                       first referenced<br> symbol                             in file<br>global_implementation               prng-test.o<br>_pixman_choose_implementation       prng-test.o<br>ld: fatal: symbol referencing errors. No output written to .libs/prng-test<br>

gmake[2]: *** [prng-test] Error 2<br>gmake[2]: Leaving directory `/var/tmp/pixman-0.30.2/test'<br>gmake[1]: *** [all-recursive] Error 1<br>gmake[1]: Leaving directory `/var/tmp/pixman-0.30.2'<br>gmake: *** [all] Error 2<br>

<br><br></div>because of this library symbol being local, not global:<br><br>host:/var/tmp/pixman-0.30.2/pixman/.libs root# nm -g libpixman-1.so.0.30.2 | grep global<br>host:/var/tmp/pixman-0.30.2/pixman/.libs root# nm libpixman-1.so.0.30.2 | grep global<br>

[59]    |    577936|         4|OBJT |LOCL |2    |25     |global_implementation<br><br><br></div>Removing hidden symbol flags before running configure results in a clean compile.<br><br>    perl -pe 's#-xldscope=hidden##' -i configure<br>

<br></div>Is pixman just too zealous with limiting the symbol scope?<br><br></div>ta,<br>Mark.<br></div>