[Scons-users] OSX Library link names include undesired prefix

Bill Deegan bill at baddogconsulting.com
Mon Aug 7 08:36:17 EDT 2017


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>
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>
> 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
>> Full wrapping SConstruct:
>> 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
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>
>
>
>
> _______________________________________________
> Scons-users mailing listScons-users at scons.orghttps://pairlist4.pair.net/mailman/listinfo/scons-users
>
>
>
> --
> edA-qa mort-ora-y http://mortoray.com/
>
> Leaf - the language we always wantedhttp://leaflang.org/
>
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20170807/df324dde/attachment.html>


More information about the Scons-users mailing list