[ODE] Old makefile build system
Peter Kyme
pk at dneg.com
Fri Apr 7 03:37:44 MST 2006
Rodrigo Hernandez wrote:
>
> Ah, you're right, I looked thru the gcc manual, the variable you want to
> set is LIBRARY_PATH sans the LD_ prefix, my mistake:
>
> |LIBRARY_PATH|
> The value of |LIBRARY_PATH| is a colon-separated list of
> directories, much like |PATH|. When configured as a native compiler,
> GCC tries the directories thus specified when searching for special
> linker files, if it can't find them using |GCC_EXEC_PREFIX|. Linking
> using GCC also uses these directories when searching for ordinary
> libraries for the |-l| option (but directories specified with |-L|
> come first).
> Also, I ran configure on a Fedora Core 4 machine here, and it seems to
> look for and find the path for both headers and libs for X, something
> must have changed about the way configure looks for it since Redhat 9.
>
> I made the changes so GLU is tested having GL as part of LDFLAGS, that
> should work now, I have no idea what exactly is going on
> with the library path issue, but setting LIBRARY_PATH would likelly help.
>
Yep, that's fixed it - thanks.
> Cheers!
>
> Peter Kyme wrote:
>
>> 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