Hi,

This is driving me mad. I didn't have this problem when I built 64bit cocoa, 
but I had to backstep to carbon due to some issues with wxWindow 2.9.1 cocoa 
64bit compatibility issues at the moment.6

I get the following unresolved OpenThreads link error with GCC 4.2/Xcode 3.2, 
running OSX 10.6.5. 

<snip>
  "OpenThreads::Atomic::operator--()", referenced from:
.
<copious compiled objects... listed here....>
.

  "OpenThreads::Atomic::operator++()", referenced from:
.
.
    <copious compiled objects... listed here...>
.
.
ld: symbol(s) not found
collect2: ld returned 1 exit status

Build Failed 2 errors
<snip>

The Xcode 3.2 compile command, which is rather thick since it includes static 
*.a for wxWindows/carbon 32bit, looks like this: 

<snip>
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c++ -arch i386 -fmessage-length=0 -pipe 
-Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -mdynamic-no-pic -Wreturn-type 
-Wswitch -Wunused-variable -Wunknown-pragmas -D__USE_OSX_AGL_IMPLEMENTATION__ 
-D__WXOSX_CARBON__ -D_FILE_OFFSET_BITS=64 -DWX_PRECOMP -D__WXOSX__ -D__WXMAC__ 
-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -gdwarf-2 
-iquote 
/Users/tmorris/TruckWatch/build/TruckWatch.build/Release/TruckWatch.build/TruckWatch-generated-files.hmap
 
-I/Users/tmorris/TruckWatch/build/TruckWatch.build/Release/TruckWatch.build/TruckWatch-own-target-headers.hmap
 
-I/Users/tmorris/TruckWatch/build/TruckWatch.build/Release/TruckWatch.build/TruckWatch-all-target-headers.hmap
 -iquote 
/Users/tmorris/TruckWatch/build/TruckWatch.build/Release/TruckWatch.build/TruckWatch-project-headers.hmap
 -Wno-write-strings -F/Users/tmorris/TruckWatch/build/Release 
"-F/Users/tmorris/TruckWatch/../OpenSceneGraph-2.8.3/Xcode/OpenSceneGraph/build/Release
 32bit C
 arbon" -I/Users/tmorris/TruckWatch/build/Release/include 
-I/Users/tmorris/RoboTruck/TruckWatch 
-I/Users/tmorris/wxWidgets-2.9.1-orig/include 
-I/Users/tmorris/wxWidgets-2.9.1-orig/lib/wx/include/osx_carbon-unicode-static-2.9
 -I/Users/tmorris/OpenSceneGraph-2.8.3/include 
-I/Users/tmorris/TruckWatch/build/TruckWatch.build/Release/TruckWatch.build/DerivedSources/i386
 
-I/Users/tmorris/TruckWatch/build/TruckWatch.build/Release/TruckWatch.build/DerivedSources
 -include 
/var/folders/HQ/HQC4U1niHpyYgLMkH2CfEk+++TI/-Caches-/com.apple.Xcode.501/SharedPrecompiledHeaders/TruckWatch_Prefix-cjhobyseblptyxewbsjxcsitkdpo/TruckWatch_Prefix.pch
 -DDARWIN_QUICKTIME -DUSE_DARWIN_CARBON_IMPLEMENTATION 
-DGLU_TESS_CALLBACK_TRIPLEDOT -c 
/Users/tmorris/TruckWatch/../RoboTruck/TruckWatch/TM_MainFrame.cpp -o 
/Users/tmorris/TruckWatch/build/TruckWatch.build/Release/TruckWatch.build/Objects-normal/i386/TM_MainFrame.o
<snip>

And the link command, also rather thick-- however note the framework reference 
to OpenThreads (-framework OpenThreads) looks like this:

setenv MACOSX_DEPLOYMENT_TARGET 10.5
/Developer/usr/bin/g++-4.2 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk 
-L/Users/tmorris/TruckWatch/build/Release 
-L/Users/tmorris/TruckWatch/../wxWidgets-2.9.1-orig/librelease 
-F/Users/tmorris/TruckWatch/build/Release 
"-F/Users/tmorris/TruckWatch/../OpenSceneGraph-2.8.3/Xcode/OpenSceneGraph/build/Release
 32bit Carbon" -filelist 
/Users/tmorris/TruckWatch/build/TruckWatch.build/Release/TruckWatch.build/Objects-normal/i386/TruckWatch.LinkFileList
 -mmacosx-version-min=10.5 -framework osg -framework osgAnimation -framework 
osgDB -framework osgFX -framework osgGA -framework osgIntrospection -framework 
osgManipulator -framework osgParticle -framework osgShadow -framework osgSim 
-framework osgTerrain -framework osgText -framework osgUtil -framework 
osgViewer -framework osgVolume -lwx_baseu_net-2.9 -lwx_baseu_xml-2.9 
-lwx_baseu-2.9 -lwx_osx_carbonu_adv-2.9 -lwx_osx_carbonu_aui-2.9 
-lwx_osx_carbonu_core-2.9 -lwx_osx_carbonu_gl-2.9 -lwx_osx_carbonu_html-2.9 
-lwx_osx_carbonu_medi
 a-2.9 -lwx_osx_carbonu_propgrid-2.9 -lwx_osx_carbonu_qa-2.9 
-lwx_osx_carbonu_ribbon-2.9 -lwx_osx_carbonu_richtext-2.9 
-lwx_osx_carbonu_stc-2.9 -lwx_osx_carbonu_xrc-2.9 -lwxjpeg-2.9 -lwxpng-2.9 
-lwxregexu-2.9 -lwxscintilla-2.9 -lwxtiff-2.9 -framework AudioToolbox 
-framework Carbon -framework IOKit -framework OpenGL -framework QuickTime 
-framework WebKit -liconv -lm -lz -framework Cocoa -framework AGL -framework 
OpenThreads -o 
/Users/tmorris/TruckWatch/build/Release/TruckWatch.app/Contents/MacOS/TruckWatch



I build osg (and tested the various built apps to make sure they work) with the 
32bit carbon; both release and debug. The 32bit carbon release 
OpenThreads.framework directory looks like this:

<snip>
teddymac:Current tmorris$ ls
Headers         OpenThreads     Resources
teddymac:Current tmorris$ ls -l
total 144
drwxr-xr-x  14 tmorris  staff    476 Jan  6 22:23 Headers
-rwxr-xr-x   1 tmorris  staff  69944 Jan  6 22:23 OpenThreads
drwxr-xr-x   3 tmorris  staff    102 Jan  6 22:23 Resources
<snip>


Anyone have any insights or advise? Again the osg example apps, etc. work fine. 
So, my guess is that I'm missing something obvious. Staring at this too long, I 
think. ;-y

Thank you!

Cheers,
Ted

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=35502#35502





_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to