[Ns-bugs] [Bug 1251] OSX: test.py reports dyld: Library not loaded:

code@nsnam.ece.gatech.edu code at nsnam.ece.gatech.edu
Thu Aug 25 11:42:15 PDT 2011


https://www.nsnam.org/bugzilla/show_bug.cgi?id=1251

--- Comment #8 from Gustavo J. A. M. Carneiro <gjcarneiro at gmail.com> 2011-08-25 14:42:15 EDT ---

14:17:36 runner system command -> ['/usr/bin/g++', [...bunch of objects...],
'-o',
'/Users/john/ns-3.12-rc1/ns-allinone-3.12-RC1/ns-3.12-RC1/build/debug/libns3-core.dylib',
'-dynamiclib', '-install_name', '/usr/local/lib/libns3-core.3.12-RC1.dylib']

14:17:48 runner system command -> ['/usr/bin/g++',
'debug/examples/tutorial/hello-simulator_1.o', '-o',
'/Users/john/ns-3.12-rc1/ns-allinone-3.12-RC1/ns-3.12-RC1/build/debug/examples/tutorial/hello-simulator',
'-Ldebug', '-lns3-core']

I guess the linker finds the libns3-core.dylib alright, but the dynamic loader
(at runtime) tries to look for /usr/local/lib/libns3-core.3.12-RC1.dylib, which
of course doesn't exist yet.  The reason is the -install_name parameter that
waf gives to the linker.

My theory (maybe you could check that) is that after "waf install" the ns-3
examples will run fine.  The next question then is how to fix it, and this is
where I have no good idea.

Apparently, if we tell waf the library will be installed, then it will supply
the parameters '-install_name /usr/local/lib/libns3-core.3.12-RC1.dylib',
wheres if install_path is missing, then the parameters will be '-install_name
libns3-core.3.12-RC1.dylib'.  The second form is what we had in ns-3.11 and it
worked for uninstalled ns-3.  So, for now, I guess we have to choose what we
want OSX build to work, either ns-3 needs to be  installed or it cannot be
installed at all, choose one *sigh*

-- 
Configure bugmail: https://www.nsnam.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the Ns-bugs mailing list