[CMake] Cmake MacOSX Question

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


Bill,

There are simlinks to the libraries in /usr/lib that link to the libraries,
but /usr/lib is not on my link line, and is supposed to be looked at after
all the -L directories are searched.

Hans



On 6/23/06 12:45 PM, "William A. Hoffman" <billlist at nycap.rr.com> wrote:

> I think there are symlinks to the tcl/tk stuff in /usr/lib or some other
> system area, they link to the framework version.
> 
> -Bill
> 
> 
> At 01:38 PM 6/23/2006, Hans J. Johnson wrote:
>> 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
>> 
>> _______________________________________________
>> CMake mailing list
>> CMake at cmake.org
>> http://www.cmake.org/mailman/listinfo/cmake
> 



More information about the CMake mailing list