On Friday, 11 October 2019 at 11:38:27 UTC, Jacob Carlborg wrote:
On 2019-10-10 20:12, Robert M. Münch wrote:
I have two project I want to compile and both times get this
error:
Undefined symbols for architecture x86_64:
"_dyld_enumerate_tlv_storage", referenced from:
__d_dyld_getTLSRange in libphobos2.a(osx_tls.o)
I'm wondering where this comes from as I didn't see it in the
past. Any idea?
Any D application needs to be compiled with DMD 2.087.1 or
later or the corresponding version of LDC to be able to run on
macOS Catalina. That includes DMD itself. The oldest version of
DMD that runs on Catalina is 2.088.0, since any given version
of DMD is compiled with the previous version.
That means that all D applications out there for macOS needs to
be recompiled.
I get this since Catalina:
Joel-Computer:VacSpace joelchristensen$ dub
Failed to invoke the compiler dmd to determine the build
platform: dyld: lazy symbol binding failed: Symbol not found:
_dyld_enumerate_tlv_storage
Referenced from: /usr/local/bin/dmd
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _dyld_enumerate_tlv_storage
Referenced from: /usr/local/bin/dmd
Expected in: /usr/lib/libSystem.B.dylib
Joel-Computer:VacSpace joelchristensen$
I use Home Brew (brew upgrade dmd, and brew upgrade dub)
Brew is only up to 2.087.1 at the moment - John Colvin seems to
be the man that mantains dmd with brew.