pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

graphics/glu and GCC's symbol visibility

I'm having problems building some packages on Sparc Solaris, because
they can't find some functions in shared library:

checking for gluNewQuadric in -lGLU... no
configure: error: Cannot find required GLU library
*** Error code 1

bmake: stopped in /opt/pkgsrc/graphics/gle
*** Error code 1

Looking at config.log I see:

configure:9285: checking for gluNewQuadric in -lGLU
configure:9316: gcc -o conftest -O -I/opt/pkg/include -I/usr/include
-Wall -I/opt/pkg/include -I/usr/include -L/opt/pkg/lib
-Wl,-R/opt/pkg/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/openwin/lib
-Wl,-R/usr/openwin/lib conftest.c -lGLU  -lSM -lICE -lGL
-L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lsocket  -lnsl -lXext -lm
Undefined                       first referenced
 symbol                             in file
gluNewQuadric                       /var/tmp//ccdiNTKB.o
ld: fatal: Symbol referencing errors. No output written to conftest
collect2: ld returned 1 exit status

Looking then at symbols in /opt/pkg/lib/

# nm /opt/pkg/lib/ | grep gluNewQuadric
[638]   |    132448|      64|FUNC |LOCL |2    |54     |gluNewQuadric

It turns out that the above function is a local one, i.e. it's not
visible outside the shared library.

So, when building graphics/glu, somehow all symbols become hidden. I'm
not sure this is supposed to happen, any ideas what's going on here?

Home | Main Index | Thread Index | Old Index