Undefined symbols for architecture x86_64 on jsonnet submission

Joshua Root jmr at macports.org
Sat Nov 23 15:21:57 UTC 2019


On 2019-11-24 02:03 , Mojca Miklavec wrote:
> On Sat, 23 Nov 2019 at 15:53, Joshua Root wrote:
>> I'm pretty sure the CMakeLists is just buggy. The missing symbols are
>> defined in libjsonnet.cpp, while is compiled to libjsonnet.cpp.o, but
>> there's just no attempt to include any libraries or .o files other than
>> libjsonnet++.cpp.o when linking libjsonnet++.0.14.0.dylib.
> 
> I also miss something simisar to
>     target_link_libraries(libjsonnet++ PRIVATE libjsonnet)
> in the CMakeList (something similar is even commented out), but that's
> in fact something that upstream needs to fix.

Meanwhile, the build with the configure-less version of the Portfile is
making a token attempt at setting install_name (incorrectly) while using
filenames as though it's on Linux:

c++  core/desugarer.o core/formatter.o core/lexer.o core/libjsonnet.o
core/parser.o core/pass.o core/static_analysis.o core/string_utils.o
core/vm.o third_party/md5/md5.o cpp/libjsonnet++.o -shared
-Wl,-install_name,libjsonnet++.so.0 -o libjsonnet++.so.0.14.0

It pulls in all the needed .o files at least...

- Josh


More information about the macports-dev mailing list