[ODE] Old makefile build system

Peter Kyme pk at dneg.com
Thu Apr 6 11:51:17 MST 2006


Rodrigo Hernandez wrote:
> 
> Ok, thats better :), now the problem with adding a check for glut is 
> that it may not be available everywhere and its not needed anyway,
> the solution is to push the GL library temporally into LDFLAGS, I can do 
> that.
> 
> Did you add the line to .bash_profile? did you start a new xterm after 
> that? you can also run the line as a command from the command line,
> and make sure the variable is set by calling "set" with no parameters.
> 

Yes I did, though I don't see how it would help since AFAIK 
LD_LIBRARY_PATH isn't used at link time.

Ok I think I see where the problem is coming from. On my installation of 
Redhat 9 libGLU has no dependency on libGL or libX11.

ldd /usr/lib/libGLU.so

         libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40096000)
         libm.so.6 => /lib/libm.so.6 (0x40149000)
         libc.so.6 => /lib/libc.so.6 (0x4016b000)
         libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x402a4000)
         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

while on Fedora Core 4

ldd /usr/lib/libGLU.so

         linux-gate.so.1 =>  (0xffffe000)
         libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xf7f43000)
         libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xf7e6f000)
         libGL.so.1 => /usr/lib/libGL.so.1 (0xf7dec000)
         libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xf7d0c000)
         libm.so.6 => /lib/libm.so.6 (0xf7ce8000)
         libc.so.6 => /lib/libc.so.6 (0xf7bbe000)
         libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf7bb4000)
         libdl.so.2 => /lib/libdl.so.2 (0xf7bb0000)
         libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0xf73f2000)
         libnvidia-tls.so.1 => /usr/lib/tls/libnvidia-tls.so.1 (0xf73ef000)
         /lib/ld-linux.so.2 (0x56555000)

> Peter Kyme wrote:
> 
>> Rodrigo Hernandez wrote:
>>
>>>
>>> It shouldn't fail because the test makes no references to any 
>>> functions in either library (the only error that should come up is if 
>>> the lib.a file isn't found),
>>> but check your config.log file to find out what exactly is the cause 
>>> of the error.
>>
>>
>> configure:9432: checking for main in -lGLU
>> configure:9456: gcc -o conftest -g -g  conftest.c -lGLU   >&5
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glPixelStorei'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glEvalPoint2'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glMultMatrixd'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glPopAttrib'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glTexImage2D'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glMapGrid2f'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glTexImage3D'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glMapGrid1f'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glColor3f'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glMapGrid2d'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glEvalCoord1f'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glEvalMesh2'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glVertex3f'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glNormal3fv'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glTexImage1D'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glMultMatrixf'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glGetTexLevelParameteriv'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glDisable'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glVertex3fv'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glBegin'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glMap1f'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glEvalPoint1'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glGetFloatv'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glVertex2f'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glTexCoord2f'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glGetIntegerv'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glPushAttrib'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glTranslated'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glOrtho'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glGetString'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glEnable'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glNormal3f'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glPolygonMode'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glMap2f'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glScalef'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glVertex2fv'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glTranslatef'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glEvalCoord2f'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glEnd'
>> /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libGLU.so: undefined 
>> reference to `glEvalMesh1'
>> collect2: ld returned 1 exit status
>>
>>> Also, I just made the changes about an hour ago, could you update 
>>> your SVN directory and try again?
>>>
>>
>> Yes I already updated to latest trunk. The libXmu and libXi tests also 
>> fail since /usr/X11R6/lib/ isn't in the link path.
>>
>>> Oh and if you want to keep the discussion inside the list make sure 
>>> ODE at q12.org is copied on your mailings.
>>>
>>> Cheers!
>>>
>>> Peter Kyme wrote:
>>>
>>>> Rodrigo Hernandez wrote:
>>>>
>>>>>
>>>>> As for the change in libraries, I will add checks for libXmu.a and 
>>>>> libXi, those shoudnt pose a problem, but the path to /usr/X11R6/lib/
>>>>> should be set in the LD_LIBRARY_PATH enviroment variable (unless of 
>>>>> course there is an M4 macro to detect the X library path).
>>>>>
>>>>> try adding:
>>>>>
>>>>> LD_LIBRARY_PATH=/usr/X11R6/lib/:$LD_LIBRARY_PATH ; export 
>>>>> LD_LIBRARY_PATH
>>>>>
>>>>> to your ~/.bash_profile file.
>>>>>
>>>>
>>>> I think the actual problem is that the configure script attempts to do:
>>>>
>>>> gcc -o conftest -g -g  conftest.c -lGLU
>>>>
>>>> and fails because libGLU has dependencies on libGL.
>>>>
>>>> I can make the problem go away (and remove the need for the Xmu & Xi 
>>>> tests) by linking against glut.
>>>>
>>>> AC_CHECK_LIB(glut, main,[GL_LIBS="$GL_LIBS -lglut"])
>>>>
>>>> This allows ode to build on my system.
>>>>
>>>
>>>
>>
> 
> 


More information about the ODE mailing list