Jump to page: 1 2
Thread overview
Undefined symbol: _dyld_enumerate_tlv_storage (OSX)
Oct 10, 2019
Robert M. Münch
Oct 10, 2019
Daniel Kozak
Oct 11, 2019
Laurent Tréguier
Oct 11, 2019
Robert M. Münch
Oct 11, 2019
Jacob Carlborg
Oct 14, 2019
Robert M. Münch
Oct 14, 2019
Jacob Carlborg
Oct 11, 2019
Laurent Tréguier
Oct 11, 2019
Jacob Carlborg
Oct 14, 2019
Joel
Oct 14, 2019
Paolo Invernizzi
Oct 14, 2019
Jacob Carlborg
Oct 15, 2019
Joel
Oct 15, 2019
Joel
Oct 16, 2019
nazriel
Oct 17, 2019
nazriel
October 10, 2019
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
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
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
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
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
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
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
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
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
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 ...

« First   ‹ Prev
1 2