[CMake] Cmake MacOSX Question

Hans J. Johnson johnsonhj at healthcare.uiowa.edu
Fri Jun 23 13:38:05 EDT 2006


Brad,

Here is the output.  I am still perplexed as to why the tcl and tk libraries
from the framework (or /usr/lib) are being included.

/usr/bin/c++    -bind_at_load  -O2  -ftemplate-depth-50 -no-cpp-precomp
-Wno-long-double  -ftemplate-depth-50 -no-cpp-precomp -Wno-long-double
-DNO_ITK_TCL -O3 -DNDEBUG -headerpad_max_install_names -fPIC
"CMakeFiles/brains2.dir/tkAppInit.o"
"CMakeFiles/brains2.dir/tkInstallCommands.o"   -o ../bin/brains2
-L/scratch/hjohnson/src/brains2/MacOSX/FAST/src/lib/InsightToolkit -L.
-L/scratch/hjohnson/src/brains2/MacOSX/FAST/src/lib -L/usr/X11R6/lib
-L/sw/lib -lb2Utils -liplGUI -lb2Utils -liplKernel -lITKBasicFilters -lITKIO
-lITKNrrdIO -litkgdcm -litkjpeg12 -litkjpeg16 -litkopenjpeg -litkpng
-litktiff -litkjpeg8 -lITKSpatialObject -lITKNumerics -lITKMetaIO
-lITKDICOMParser -lITKEXPAT -lITKniftiio -lITKznz -litkzlib -lqHull
-liplAlgorithms -liplObject -lgts -liplHeader -liplPixelTable -liplUtils
-liplLogging -lITKCommon -litkvnl_inst -litkvnl_algo -litkvnl -litknetlib
-litkvcl -litksys -lpthread -lm -lgts -lglib -lgmodule -lgthread -ltcl8.4
-ltk8.4 -lforms -lformsGL -lm -lX11 -lXext -lXmu -lXpm -lGLU -lGL -v
Using built-in specs.
Target: powerpc-apple-darwin8
Configured with: /private/var/tmp/gcc/gcc-5341.obj~1/src/configure
--disable-checking -enable-werror --prefix=/usr --mandir=/share/man
--enable-languages=c,objc,c++,obj-c++
--program-transform-name=/^[cg][^.-]*$/s/$/-4.0/
--with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib
--build=powerpc-apple-darwin8 --host=powerpc-apple-darwin8
--target=powerpc-apple-darwin8
Thread model: posix
gcc version 4.0.1 (Apple Computer, Inc. build 5341)
 /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/collect2 -dynamic -arch ppc
-bind_at_load -headerpad_max_install_names -macosx_version_min 10.3
-multiply_defined suppress -weak_reference_mismatches non-weak -o
../bin/brains2 -lcrt1.o /usr/lib/gcc/powerpc-apple-darwin8/4.0.1/crt2.o
/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/crt3.o
-L/scratch/hjohnson/src/brains2/MacOSX/FAST/src/lib/InsightToolkit -L.
-L/scratch/hjohnson/src/brains2/MacOSX/FAST/src/lib -L/usr/X11R6/lib
-L/sw/lib -L/usr/lib/gcc/powerpc-apple-darwin8/4.0.1
-L/usr/lib/gcc/powerpc-apple-darwin8/4.0.1
-L/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../..
CMakeFiles/brains2.dir/tkAppInit.o
CMakeFiles/brains2.dir/tkInstallCommands.o -lb2Utils -liplGUI -lb2Utils
-liplKernel -lITKBasicFilters -lITKIO -lITKNrrdIO -litkgdcm -litkjpeg12
-litkjpeg16 -litkopenjpeg -litkpng -litktiff -litkjpeg8 -lITKSpatialObject
-lITKNumerics -lITKMetaIO -lITKDICOMParser -lITKEXPAT -lITKniftiio -lITKznz
-litkzlib -lqHull -liplAlgorithms -liplObject -lgts -liplHeader
-liplPixelTable -liplUtils -liplLogging -lITKCommon -litkvnl_inst
-litkvnl_algo -litkvnl -litknetlib -litkvcl -litksys -lpthread -lm -lgts
-lglib -lgmodule -lgthread -ltcl8.4 -ltk8.4 -lforms -lformsGL -lm -lX11
-lXext -lXmu -lXpm -lGLU -lGL -lstdc++ -lgcc_s.10.4 -lgcc -lSystemStubs
-lSystem
[hjohnson at nucleus iplTclCmd]$ otool -L ../bin/brains2../bin/brains2:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version
88.1.5)        /sw/lib/libglib-1.2.0.dylib (compatibility version 1.0.0,
current version 1.10.0)        /sw/lib/libgmodule-1.2.0.dylib (compatibility
version 1.0.0, current version 1.10.0)        /sw/lib/libgthread-1.2.0.dylib
(compatibility version 1.0.0, current version 1.10.0)
        /System/Library/Frameworks/Tcl.framework/Versions/8.4/Tcl
(compatibility version 8.4.0, current version 8.4.0)
        /System/Library/Frameworks/Tk.framework/Versions/8.4/Tk
(compatibility version 8.4.0, current version 8.4.0)
        /usr/X11R6/lib/libX11.6.dylib (compatibility version 6.2.0, current
version 6.2.0)
        /usr/X11R6/lib/libXext.6.dylib (compatibility version 6.4.0, current
version 6.4.0)
        /usr/X11R6/lib/libXmu.6.dylib (compatibility version 6.2.0, current
version 6.2.0)
        /usr/X11R6/lib/libXpm.4.dylib (compatibility version 4.11.0, current
version 4.11.0)
        /usr/X11R6/lib/libGLU.1.dylib (compatibility version 1.3.0, current
version 1.3.0)
        /usr/X11R6/lib/libGL.1.dylib (compatibility version 1.2.0, current
version 1.2.0)
        /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current
version 7.4.0)
        /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
version 1.0.0)


Thanks,
Hans




On 6/23/06 12:25 PM, "Brad King" <brad.king at kitware.com> wrote:

> Hans J. Johnson wrote:
>> Cmake Experts,
>> 
>> I am running into a problem with static libraries and conflicting frameworks
>> on MacOSX.  I need to statically build my own version of tcl and tk with X11
>> bindings and link it to my application.  The problem is that the linker is
>> preferring to bind to the Tcl.framework and Tk.Framework dynamic libraries
>> instead of the ones that I specify.
>> 
>> 
>> ----- Notice the explicitly specified link directories -----
>> [hjohnson]$ /usr/bin/c++    -bind_at_load  -O2  -ftemplate-depth-50
>> -no-cpp-precomp -Wno-long-double  -ftemplate-depth-50 -no-cpp-precomp
>> -Wno-long-double -DNO_ITK_TCL -O3 -DNDEBUG -headerpad_max_install_names
>> -fPIC    "CMakeFiles/brains2.dir/tkAppInit.o"
>> "CMakeFiles/brains2.dir/tkInstallCommands.o"   -o ../bin/brains2
>> -L/scratch/hjohnson/src/brains2/MacOSX/FAST/src/lib/InsightToolkit -L.
>> -L/scratch/hjohnson/src/brains2/MacOSX/FAST/src/lib -L/usr/X11R6/lib
>> -L/sw/lib -lb2Utils -liplGUI -lb2Utils -liplKernel -lITKBasicFilters -lITKIO
>> -lITKNrrdIO -litkgdcm -litkjpeg12 -litkjpeg16 -litkopenjpeg -litkpng
>> -litktiff -litkjpeg8 -lITKSpatialObject -lITKNumerics -lITKMetaIO
>> -lITKDICOMParser -lITKEXPAT -lITKniftiio -lITKznz -litkzlib -lqHull
>> -liplAlgorithms -liplObject -lgts -liplHeader -liplPixelTable -liplUtils
>> -liplLogging -lITKCommon -litkvnl_inst -litkvnl_algo -litkvnl -litknetlib
>> -litkvcl -litksys -lpthread -lm -lgts -lglib -lgmodule -lgthread -ltcl8.4
>> -ltk8.4 -lforms -lformsGL -lm -lX11 -lXext -lXmu -lXpm -lGLU -lGL
> 
> Add the -v option to the command line to see exactly what GCC is running
> underneath.
> 
> -Brad



More information about the CMake mailing list