Thread overview | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
October 10, 2019 Undefined symbol: _dyld_enumerate_tlv_storage (OSX) | ||||
---|---|---|---|---|
| ||||
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?
--
Robert M. Münch
http://www.saphirion.com
smarter | better | faster
|
October 10, 2019 Re: Undefined symbol: _dyld_enumerate_tlv_storage (OSX) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert M. Münch | What dmd version? https://issues.dlang.org/show_bug.cgi?id=20019 On Thu, Oct 10, 2019 at 8:15 PM Robert M. Münch via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com> 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? > > -- > Robert M. Münch > http://www.saphirion.com > smarter | better | faster > |
October 11, 2019 Re: Undefined symbol: _dyld_enumerate_tlv_storage (OSX) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert M. Münch | On Thursday, 10 October 2019 at 18:12:51 UTC, 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?
I had the same missing symbol at runtime, when trying to run an already compiled binary (LDC 1.16 I think) after a Catalina update. In that case, recompiling (LDC 1.17 or DMD 2.088.0) was apparently enough to mitigate the issue.
|
October 11, 2019 Re: Undefined symbol: _dyld_enumerate_tlv_storage (OSX) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Daniel Kozak | On Thursday, 10 October 2019 at 18:31:25 UTC, Daniel Kozak wrote:
> What dmd version?
>
> https://issues.dlang.org/show_bug.cgi?id=20019
Ah, I should have read this before replying; that's precisely the issue I had.
|
October 11, 2019 Re: Undefined symbol: _dyld_enumerate_tlv_storage (OSX) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert M. Münch | 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. -- /Jacob Carlborg |
October 11, 2019 Re: Undefined symbol: _dyld_enumerate_tlv_storage (OSX) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Daniel Kozak Attachments:
| On 2019-10-10 18:31:25 +0000, Daniel Kozak said: > What dmd version? I think I had an older one like 2.085 or so. I updated to 2.088 and it now seems to work. > https://issues.dlang.org/show_bug.cgi?id=20019 I'm on OSX 10.14.6, so this might not be directly related to Catalina but maybe more to the XCode Version installed: | => xcrun --show-sdk-version 10.15 So, it's possible to run 10.14 with SDK version 10.15 which seems to trigger the problem. Thanks for the hints. -- Robert M. Münch http://www.saphirion.com smarter | better | faster |
October 11, 2019 Re: Undefined symbol: _dyld_enumerate_tlv_storage (OSX) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert M. Münch | On 2019-10-11 18:48, Robert M. Münch wrote: > On 2019-10-10 18:31:25 +0000, Daniel Kozak said: > > > What dmd version? > > > I think I had an older one like 2.085 or so. I updated to 2.088 and it now seems to work. > > > https://issues.dlang.org/show_bug.cgi?id=20019 > > > I'm on OSX 10.14.6, so this might not be directly related to Catalina but maybe more to the XCode Version installed: > > > | => xcrun --show-sdk-version > > 10.15 > > > So, it's possible to run 10.14 with SDK version 10.15 which seems to trigger the problem. No, I don't think that's the problem. I have the same setup and I don't have this problem. What result do you get if you run the following command: nm /usr/lib/system/libdyld.dylib | grep _dyld_enumerate_tlv_storage -- /Jacob Carlborg |
October 14, 2019 Re: Undefined symbol: _dyld_enumerate_tlv_storage (OSX) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | 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.
|
October 14, 2019 Re: Undefined symbol: _dyld_enumerate_tlv_storage (OSX) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | On 2019-10-11 18:09:01 +0000, Jacob Carlborg said: > No, I don't think that's the problem. I have the same setup and I don't have this problem. Interesting... but the update seems to have solved the problem. Maybe some old DMD compiler stuff lying around got in the way. > What result do you get if you run the following command: > > nm /usr/lib/system/libdyld.dylib | grep _dyld_enumerate_tlv_storage => nm /usr/lib/system/libdyld.dylib | grep _dyld_enumerate_tlv_storage 0000000000017eca T _dyld_enumerate_tlv_storage -- Robert M. Münch http://www.saphirion.com smarter | better | faster |
October 14, 2019 Re: Undefined symbol: _dyld_enumerate_tlv_storage (OSX) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joel | On Monday, 14 October 2019 at 05:36:44 UTC, Joel wrote:
> On Friday, 11 October 2019 at 11:38:27 UTC, Jacob Carlborg wrote:
>> [...]
>
> 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.
I confirm that DMD downloaded from the official script works like charms on Catilina. You can rely on that right now ...
|
Copyright © 1999-2021 by the D Language Foundation