[GRASS-user] Problems with OpenGL when compiling grass-6.4.0 on Mac OS X 10.5.4

Elvis Dowson elvis.dowson at mac.com
Sun Sep 21 14:32:55 EDT 2008


Hi William,
			Ok, I've taken your suggestions and tried it, but with identical  
results.

Here are my export option. I still get the same error without the -g  
option

export CFLAGS="-arch i386 -Os"
export CXXFLAGS="-arch i386 -Os"
export LDFLAGS="-arch i386 -Os"
export NAD2BIN=/Library/Frameworks/PROJ.framework/Programs/nad2bin

./configure --with-cxx --prefix=/Applications/GRASS --enable-macosx- 
app --with-x --with-cxx --with-opengl

I still get the same error

checking for gluBeginCurve in -lGLU... yes
checking for glXCreatePbuffer... no
configure: error: *** Unable to locate .

I have attached the config.log file here. Please note that configure  
command did not complete successfully. So, I haven't had a chance to  
run make, so the glXCreatePBuffer() error is in the config.log.

Any ideas on how I can resolve this or what might be causing this?



Best regards,

Elvis Dowson


On Sep 21, 2008, at 10:20 PM, William Kyngesburye wrote:

> On Sep 21, 2008, at 12:20 PM, Elvis Dowson wrote:
>
>> Hi William,
>>                      Upon looking more closely at the config.log
>>
>> configure:11340: gcc -o conftest -g -O2      conftest.c    -lGL    
>> 1>&5
>> ld: library not found for -lGL
>> collect2: ld returned 1 exit status
>> configure: failed program was:
>>
>>
>> I see that ld could not find the GL libraries for some reason.
>>
> One thing to watch out for is the -g flag.  This causes configure  
> errors with the latest Xcode.  export CFLAGS and CXXFLAGS with -Os  
> before configuring.
>
> export CFLAGS=-Os
> export CXXFLAGS=-Os
>
> If you need debug symbols, add -g back into platform.make after  
> configuration (to CFLAGS1 & CXXFLAGS1).
>
>> However, I have put this in my .profile. The location I have put is  
>> usr/X11/lib . Is this the correct location?
>>
>> # environment variables
>> export QTROOT=/usr/local/qt-4.4.1
>> export GRASS_TCLSH=/usr/X11R6/bin/tclsh
>> export GRASS_WISH=/usr/X11R6/bin/wish
>> export VTK_DIR=/Users/elvis/Tool/vtk-5.2.0/src
>> export VTK_LIB_DIR=/usr/local/lib/vtk-5.2
>> export X11_LIB_DIR=/usr/X11/lib
>> #export OPENGL_LIB_DIR=/Developer/SDKs/MacOSX10.5.sdk/System/ 
>> Library/Frameworks/OpenGL.framework/Versions/A/Libraries
>>
>> # the path is initially set to "/usr/bin:/bin:/usr/sbin:/sbin:/usr/ 
>> local/bin:/usr/X11/bin"
>> export PATH=$PATH:$QTROOT/bin
>> export LD_LIBRARY_PATH=$VTK_LIB_DIR:$X11_LIB_DIR:$LD_LIBRARY_PATH
>> export DYLD_LIBRARY_PATH=$VTK_LIB_DIR:$X11_LIB_DIR:$DYLD_LIBRARY_PATH
>>
> Setting DYLD_LIBRARY_PATH is unnecessary on OSX.  If you have to do  
> it for VTK, then the VTK build is broken.  LD_LIBRARY_PATH is the  
> linux version of this and is not needed on OSX.
>
> DYLD_LIBRARY_PATH only affects the finding of libraries at runtime,  
> not linking as in configure tests.  And properly built libraries on  
> OSX should have the path built into them so they're found at runtime  
> without DYLD_LIBRARY_PATH.  Though GRASS does use this as a neat  
> trick (as a side effect) to make the binaries relocatable.
>
>>
>
>
>> Here is my configure command
>>
>> ./configure --with-cxx --prefix=/Applications/GRASS --enable-macosx- 
>> app --with-x --with-cxx --with-opengl=aqua --without-readline --x- 
>> includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --with- 
>> opengl-includes=/usr/X11R6/include
>>
> This is probably what is confusing the build - you set --with- 
> opengl=aqua, yet set the opengl includes and libs to X11.  These  
> options can't be used together.  Configure should force the includes  
> and libs based on the opengl value, but to be sure just use --with- 
> opengl, which defaults to X11, and you probably won't need the  
> includes/libs options.
>
> Also note that you need to compile your own tcltk for X11, and set  
> those options for the GRASS configure.  See the grass source osx  
> readme for details.
>
>
>> If I use the -with-opengl=x11 option, I get the following  
>> configuration error
>>
>> checking for location of OpenGL library...
>> checking for glBegin in -lGL... yes
>> checking for gluBeginCurve in -lGLU... yes
>> checking for glXCreatePbuffer... no
>> configure: error: *** Unable to locate .
>>
>
>> configure:10998: checking for location of OpenGL library
>> configure:11027: checking for glBegin in -lGL
>> configure:11044: gcc -o conftest -g -O2      conftest.c -lGL  -L/ 
>> usr/X11R6/lib  -lSM -lICE -lX11     1>&5
>> configure:11214: checking for gluBeginCurve in -lGLU
>> configure:11231: gcc -o conftest -g -O2      conftest.c -lGLU  - 
>> lGL   -L/usr/X11R6/lib  -lSM -lICE -lX11     1>&5
>> configure:11314: checking for glXCreatePbuffer
>> configure:11340: gcc -o conftest -g -O2      conftest.c    -lGL    
>> 1>&5
>> ld: library not found for -lGL
>> collect2: ld returned 1 exit status
>>
>
> This is strange - configure is inserting the X11 lib path for the  
> glBegin and gluBeginCurve tests, but not for the glXCreatePbuffer  
> test.  Oh, I'm getting that also, but it's not keeping compilation  
> from working.  This is just testing for the availability of  
> pbuffers, and GRASS has a fallback if that's not available.
>
> So, your make error log doesn't have the needed info.  You need to  
> look way back in the shell scrollback to see what the actual error  
> is.  You may need to change your Terminal window settings to  
> unlimited scrollback.
>
> -----
> William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
> http://www.kyngchaos.com/
>
> Earth: "Mostly harmless"
>
> - revised entry in the HitchHiker's Guide to the Galaxy
>
>

-------------- next part --------------
Skipped content of type multipart/mixed


More information about the grass-user mailing list