[Scons-users] OSX Library link names include undesired prefix
edA-qa mort-ora-y
eda-qa at disemia.com
Mon Aug 7 12:01:24 EDT 2017
Also note that the OSX command line is not including the `-rpath`
setting. It should.
On 07/08/17 17:57, edA-qa mort-ora-y wrote:
> The attached ZIP file contains a minimal project that shows the
> problem. Just type `scons` to build. The output is `build/dohello`
> with library `hello`
>
> On Linux this works as intended.
>
> On OSX this fails. Be sure to try and run `build/dohello` from
> somewhere other than the directory where `build` resides (since it
> will work there). Run `otool -L build/dohello` to see that it's
> referencing `build/libhello.dylib` instead of the desired `libhello.dylib`
>
>
> On 07/08/17 14:36, Bill Deegan wrote:
>> Can you make a simple test case which demonstrates the issue?
>>
>>
>> On Sun, Aug 6, 2017 at 11:49 PM, edA-qa mort-ora-y
>> <eda-qa at disemia.com <mailto:eda-qa at disemia.com>> wrote:
>>
>> g++ -o build/libleaf_util.dylib -dynamiclib
>> build/util/dump_base.os build/util/file.os build/util/number.os
>> build/util/object_holder.os build/util/unicode.os
>> -Lbuild/build/lib -Lsrc/build/lib
>> -L/usr/local/Cellar/boost/1.63.0/lib -Lbuild -Lsrc
>> -L/Users/edA-qa/src-leaf/llvm/install/lib
>> -L/usr/local/Cellar/gmp/6.1.2/lib -lboost_unit_test_framework
>> -lboost_program_options -lboost_regex -lLLVM -lgmp -lgmpxx
>> -lboost_filesystem -lboost_system
>>
>> g++ -o build/leaf build/bin/leaf.o build/bin/test_expecter.o
>> -Lbuild/build/lib -Lsrc/build/lib
>> -L/usr/local/Cellar/boost/1.63.0/lib -Lbuild -Lsrc
>> -L/Users/edA-qa/src-leaf/llvm/install/lib
>> -L/usr/local/Cellar/gmp/6.1.2/lib -lboost_unit_test_framework
>> -lboost_program_options -lboost_regex -lLLVM -lgmp -lgmpxx
>> -lboost_filesystem -lboost_system -lleaf_lang -lleaf_parser
>> -lleaf_util -lleaf_ir -lleaf_ir_llvm -lleaf_runner
>>
>>
>>
>>
>> On 07/08/17 00:05, Bill Deegan wrote:
>>> Can you post a gist of the build log?
>>> Specifically the link line for the shared library and for the
>>> program?
>>>
>>> On Sun, Aug 6, 2017 at 12:55 PM, edA-qa mort-ora-y
>>> <eda-qa at disemia.com <mailto:eda-qa at disemia.com>> wrote:
>>>
>>> After having getting my shared libraries working on Linux
>>> I'm trying now
>>> on OSX. The approach provided before does not do the correct
>>> thing on
>>> OSX. For example, instead of linking to
>>> `libleaf_util.dylib`, it links
>>> to `build/libleaf_util.dylib`.
>>>
>>> Library created as:
>>>
>>> lib_util_name = 'leaf_util'
>>> lib_util = env.SharedLibrary( lib_util_name, [
>>> 'util/dump_base.cpp',
>>> 'util/file.cpp',
>>> 'util/number.cpp',
>>> 'util/object_holder.cpp',
>>> 'util/unicode.cpp',
>>> ] )
>>>
>>> Then used as:
>>>
>>> leaf = env.Program( 'leaf', [
>>> 'bin/leaf.cpp',
>>> 'bin/test_expecter.cpp',
>>> ],
>>> LIBS = env['LIBS'] + [ lib_lang_name, lib_parser_name,
>>> lib_util_name, lib_ir_name, lib_ir_llvm_name, lib_runner_name ],
>>> )
>>>
>>>
>>> Running `otool -L build/leaf` gives me:
>>>
>>> build/libleaf_util.dylib (compatibility version 0.0.0,
>>> current
>>> version 0.0.0)
>>>
>>>
>>> Using the `otool -l` option also doesn't list any RPATH,
>>> though I have
>>> this configured:
>>>
>>> env['RPATH'] = Literal('\\$$ORIGIN')
>>>
>>>
>>> Full SConscript file:
>>> https://gist.github.com/mortoray/0eff2a9a066ad48a6aedab8766503865
>>> <https://gist.github.com/mortoray/0eff2a9a066ad48a6aedab8766503865>
>>> Full wrapping SConstruct:
>>> https://gist.github.com/mortoray/0c7485fa04afb8f4db099132e7b1e723
>>> <https://gist.github.com/mortoray/0c7485fa04afb8f4db099132e7b1e723>
>>>
>>> --
>>> edA-qa mort-ora-y
>>> http://mortoray.com/
>>>
>>> Leaf - the language we always wanted
>>> http://leaflang.org/
>>>
>>>
>>> _______________________________________________
>>> Scons-users mailing list
>>> Scons-users at scons.org <mailto:Scons-users at scons.org>
>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>> <https://pairlist4.pair.net/mailman/listinfo/scons-users>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Scons-users mailing list
>>> Scons-users at scons.org <mailto:Scons-users at scons.org>
>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>> <https://pairlist4.pair.net/mailman/listinfo/scons-users>
>>
>> --
>> edA-qa mort-ora-y
>> http://mortoray.com/
>>
>> Leaf - the language we always wanted
>> http://leaflang.org/
>>
>> _______________________________________________ Scons-users
>> mailing list Scons-users at scons.org <mailto:Scons-users at scons.org>
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>> <https://pairlist4.pair.net/mailman/listinfo/scons-users>
>>
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
> --
> edA-qa mort-ora-y
> http://mortoray.com/
>
> Leaf - the language we always wanted
> http://leaflang.org/
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
--
edA-qa mort-ora-y
http://mortoray.com/
Leaf - the language we always wanted
http://leaflang.org/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20170807/24c44c74/attachment.html>
More information about the Scons-users
mailing list