-install_path woes
-install_path woes
- Subject: -install_path woes
- From: "Florin Trofin" <email@hidden>
- Date: Fri, 20 Jul 2007 17:01:10 -0700
Hi all,
I am trying to compile the new version of boost threads as a dynamic
library and I have the problem that the generated dylib has an
incorrect executable name. Here is a fragment of the output of "otool
-l regex.dylib" (with the old version of regex -1.33 - I had):
cmd LC_ID_DYLIB
cmdsize 72
name @executable_path/libboost_regex-mt-d-1_33.dylib (offset 24)
time stamp 1144204779 Tue Apr 4 19:39:39 2006
current version 0.0.0
compatibility version 0.0.0
And here it is with the new version of boost:
cmd LC_ID_DYLIB
cmdsize 48
name /var/tmp//ccctY9g0.out (offset 24)
time stamp 1184813180 Wed Jul 18 19:46:20 2007
current version 0.0.0
compatibility version 0.0.0
This problem is also described here:
http://svn.boost.org/trac/boost/ticket/989
So I tried to fix the invalid name by adding the -install_path to the
link options and I get errors about invalid path. Here is the relevant
excerpt from the output:
--------
[...]
"g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -fPIC
-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4
-arch i386 -arch ppc -dynamic -Wno-long-double -no-cpp-precomp
-gdwarf-2 -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_BUILD_DLL=1 -I"." -c
-o "bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/xtime.o"
"libs/thread/src/xtime.cpp"
darwin.link.dll
bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/libboost_thread-mt-d-1_34.dylib
g++ -dynamiclib -o
"bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/libboost_thread-mt-d-1_34.dylib"
-install_path "@executable_path/bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/libboost_thread-mt-d-1_34.dylib"
"bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/barrier.o"
"bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/condition.o"
"bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/exceptions.o"
"bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/mutex.o"
"bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/once.o"
"bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/recursive_mutex.o"
"bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/thread.o"
"bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/tss_hooks.o"
"bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/tss_dll.o"
"bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/tss_pe.o"
"bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/tss.o"
"bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/xtime.o"
-Wl,-v -g -isysroot /Developer/SDKs/MacOSX10.4u.sdk
-mmacosx-version-min=10.4 -arch i386 -arch ppc
i686-apple-darwin8-g++-4.0.1:
@executable_path/bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/libboost_thread-mt-d-1_34.dylib:
No such file or directory
powerpc-apple-darwin8-g++-4.0.1:
@executable_path/bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/libboost_thread-mt-d-1_34.dylib:
No such file or directory
lipo: can't figure out the architecture type of: /var/tmp//ccc0jfRj.out
...failed darwin.link.dll
bin.v2/libs/thread/build/darwin/debug/arch-fat/threading-multi/libboost_thread-mt-d-1_34.dylib...
...failed updating 1 target...
...updated 12 targets...
-----
I also tried without "@executable_path" (just -install_path
"libboost_thread-mt-d-1_34.dylib" with the same results. Regardless of
what I put after -install_path I get the same errors. I don't
understand why does the path need to exist: can't I just say "blah" as
a parameter for -install_path? After all that is where the binary will
finally go when it is installed, I assume the linker doesn't expect me
to compile the binary exactly in the installation place?!!
Thanks in advance for any input you might have!
Florin
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden