← Back to team overview

yade-dev team mailing list archive

Re: scons and linkage rules

 

g++ -o /Users/richefeu/Documents/yade-local/build-vr/lib/ libminiWm3.dylib -rdynamic -z origin -dynamiclib -rdynamic /Users/ richefeu/Documents/yade-local/build-vr/lib/miniWm3.os -L/Users/ richefeu/Documents/YADE/lib/yade-vr/extra -L/Users/richefeu/ Documents/YADE/lib/yade-vr/gui -L/Users/richefeu/Documents/YADE/lib/ yade-vr/lib -L/Users/richefeu/Documents/YADE/lib/yade-vr/py -L/ Users/richefeu/Documents/YADE/lib/yade-vr/plugins -lpthread - lboost_system-mt -lboost_thread-mt -lboost_date_time-mt - lboost_filesystem-mt -lboost_iostreams-mt -lboost_regex-mt - lboost_serialization-mt -lboost_program_options-mt -lsqlite3 -lgomp
i686-apple-darwin9-g++-4.2.1: origin: No such file or directory
You can try to remove the '-z','origin' from linker flags in SConstruct:

env.Append(LINKFLAGS=['-rdynamic','-z','origin'])

With env.Append(LINKFLAGS=['-rdynamic']) or env.Append(LINKFLAGS=['- rdynamic','-z']), I still have linkage problems:

g++ -o /Users/richefeu/Documents/yade-local/build-vr/lib/ libminiWm3.dylib -rdynamic -z -dynamiclib -rdynamic /Users/richefeu/ Documents/yade-local/build-vr/lib/miniWm3.os -L/Users/richefeu/ Documents/YADE/lib/yade-vr/extra -L/Users/richefeu/Documents/YADE/lib/ yade-vr/gui -L/Users/richefeu/Documents/YADE/lib/yade-vr/lib -L/Users/ richefeu/Documents/YADE/lib/yade-vr/py -L/Users/richefeu/Documents/ YADE/lib/yade-vr/plugins -lpthread -lboost_system-mt -lboost_thread-mt -lboost_date_time-mt -lboost_filesystem-mt -lboost_iostreams-mt - lboost_regex-mt -lboost_serialization-mt -lboost_program_options-mt - lsqlite3
Undefined symbols:
  "_FSGetCatalogInfo", referenced from:
      Wm3::System::GetPath(char const*, char const*)in miniWm3.os
      Wm3::System::GetPath(char const*, char const*)in miniWm3.os
      Wm3::System::GetPath(char const*, char const*)in miniWm3.os
  "_GetProcessBundleLocation", referenced from:
      Wm3::System::GetPath(char const*, char const*)in miniWm3.os
  "_GetCurrentProcess", referenced from:
      Wm3::System::GetPath(char const*, char const*)in miniWm3.os
  "_FSRefMakePath", referenced from:
      Wm3::System::GetPath(char const*, char const*)in miniWm3.os
ld: symbol(s) not found
collect2: ld returned 1 exit status
scons: *** [/Users/richefeu/Documents/yade-local/build-vr/lib/ libminiWm3.dylib] Error 1
scons: building terminated because of errors.

but I hope it will still work with the $ORIGIN in rpaths for you. (man ld) What is the ld version you have? It seemed this flag is not anything new.

There's nothing about origin in 'man ld'.
The version is (ld -v):
@(#)PROGRAM:ld  PROJECT:ld64-85.2.1

VR








References