On 12/04/2012, at 5:49 PM, john skaller wrote: > > DYNAMIC LIBRARY LOADING > Unlike many other operating systems, Darwin does not locate dependent > dynamic libraries via > their leaf file name. Instead the full path to each dylib is > used (e.g. /usr/lib/libSys- > tem.B.dylib).
OMG. This is utter crap: ~/felix>otool -L /usr/local/lib/felix/felix-1.1.7dev/lib/rtl/libflx_async_dynamic.dylib /usr/local/lib/felix/felix-1.1.7dev/lib/rtl/libflx_async_dynamic.dylib: build/release/lib/rtl/libflx_async_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) build/release/lib/rtl/libflx_pthread_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11) in other words we have installed libraries that cannot work because they depend on the build directory?? GRRRRRR. ~/felix>otool -L test/pthread/pthread-1.02-0.dylib test/pthread/pthread-1.02-0.dylib: /Users/johnskaller/felix/test/pthread/pthread-1.02-0.dylib (compatibility version 0.0.0, current version 0.0.0) build/release/lib/rtl/libflx_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) build/release/lib/rtl/libflx_gc_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) build/release/lib/rtl/libjudy_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) build/release/lib/rtl/libflx_exceptions_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) build/release/lib/rtl/libflx_pthread_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) build/release/lib/rtl/libdemux_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) build/release/lib/rtl/libfaio_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) build/release/lib/rtl/libflx_async_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11) ~/felix>flx test/pthread/pthread-1.02-0 Garbage collector world stop test Start Thread number 1 Start Thread number 2 Thread 2 Sleep #5 for 7 sec Thread 1 Sleep #5 for 7 sec Start Thread number 3 Thread 3 Sleep #5 for 9 sec Start Thread number 4 Start Thread number 5 Thread 4 Sleep #5 for 3 secMainline done!Thread 5 Sleep #5 for 8 sec The question is: why does this run??????? It's just rubbish. build/release has been deleted. ~/felix>/usr/local/lib/felix/felix-1.1.7dev/bin/flx_arun test/pthread/pthread-1.02-0.dylib dyld: Library not loaded: build/release/lib/rtl/libfaio_dynamic.dylib Referenced from: /usr/local/lib/felix/felix-1.1.7dev/bin/flx_arun Reason: image not found Trace/BPT trap ~/felix>DYLD_LIBRARY_PATH=/usr/local/lib/felix/felix-1.1.7dev/lib/rtl /usr/local/lib/felix/felix-1.1.7dev/bin/flx_arun test/pthread/pthread-1.02-0.dylib Garbage collector world stop test Start Thread number 1 Thread 1 Sleep #5 for 7 sec Start Thread number 2 Thread 2 Sleep #5 for 9 sec Start Thread number 3 Thread 3 Sleep #5 for 3 sec ... So the documentation is rubbish. /usr/local/lib/felix/felix-1.1.7dev/bin/flx_arun: build/release/lib/rtl/libfaio_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) build/release/lib/rtl/libdemux_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) build/release/lib/rtl/libflx_pthread_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) build/release/lib/rtl/libflx_async_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) build/release/lib/rtl/libflx_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) build/release/lib/rtl/libflx_gc_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) build/release/lib/rtl/libflx_exceptions_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) build/release/lib/rtl/libjudy_dynamic.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11) ~/felix>flx test/regress/rt/re2-01 Captures = 2 true varray(Hello, , H) So re2 works. ~/felix>DYLD_LIBRARY_PATH=/usr/local/lib/felix/felix-1.1.7dev/lib/rtl /usr/local/lib/felix/felix-1.1.7dev/bin/flx_run test/regress/rt/re2-01.dylib Captures = 2 true varray(Hello, , H) Similarly, the webserver "just works" if the DYLD_LIBRARY_PATH is set as above. Contrary to the documentation. -- john skaller skal...@users.sourceforge.net http://felix-lang.org ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language