Thread overview
release link std.exception errnoEnforce erro in 1.1.0-beta2
Sep 26, 2016
Dsby
Sep 26, 2016
Dsby
Sep 26, 2016
Dsby
Sep 26, 2016
kinke
Sep 26, 2016
Dsby
Sep 26, 2016
Johan Engelen
Sep 26, 2016
Johan Engelen
Sep 27, 2016
Dsby
September 26, 2016
in debug, it is ok.
But in release will erro:
../../../libcollie.a(collie.codec.http.handler.o):在函数‘_D6collie5codec4http7handler11HTTPHandler12responseSentMFC6collie5codec4http8response12HTTPResponseAyamZv’中:
../../../source/collie/codec/http/handler.d:(.text._D6collie5codec4http7handler11HTTPHandler12responseSentMFC6collie5codec4http8response12HTTPResponseAyamZv[_D6collie5codec4http7handler11HTTPHandler12responseSentMFC6collie5codec4http8response12HTTPResponseAyamZv]+0x192):对‘_D3std9exception123__T12errnoEnforceTbVAyaa44_2f686f6d652f647362792f62696e2f6c64632f62696e2f2e2e2f696d706f72742f7374642f737464696f2e64Vmi1041Z12errnoEnforceFNfbLAyaZb’未定义的引用
../../../libcollie.a(collie.codec.http.handler.o):在函数‘_D6collie5codec4http7handler11HTTPHandler8sendFileMFAhkZv’中:
../../../source/collie/codec/http/handler.d:(.text._D6collie5codec4http7handler11HTTPHandler8sendFileMFAhkZv[_D6collie5codec4http7handler11HTTPHandler8sendFileMFAhkZv]+0x118):对‘_D3std9exception123__T12errnoEnforceTbVAyaa44_2f686f6d652f647362792f62696e2f6c64632f62696e2f2e2e2f696d706f72742f7374642f737464696f2e64Vmi1098Z12errnoEnforceFNfbLAyaZb’未定义的引用
collect2: error: ld returned 1 exit status
Error: /usr/bin/gcc failed with status: 1
ldc2 failed with exit code 1


In english:
在函数  =  in function
未定义的引用 = Undefined Reference
September 26, 2016
On Monday, 26 September 2016 at 06:30:03 UTC, Dsby wrote:
> [...]
The code is : https://github.com/putaolabs/collie/tree/master/example/http/httpserver
September 26, 2016
On Monday, 26 September 2016 at 06:34:49 UTC, Dsby wrote:
> On Monday, 26 September 2016 at 06:30:03 UTC, Dsby wrote:
>> [...]
> The code is : https://github.com/putaolabs/collie/tree/master/example/http/httpserver

the Erro is form std.stdio.
in seek and tell.
when I use debug, but enable "inline" it will erro:
httpserver ~master: building configuration "default"...
../../../libcollie.a(collie.codec.http.handler.o):在函数‘_D3std5stdio4File4seekMFNeliZv’中:
/home/dsby/bin/ldc/bin/../import/std/stdio.d:1041:对‘_D3std9exception123__T12errnoEnforceTbVAyaa44_2f686f6d652f647362792f62696e2f6c64632f62696e2f2e2e2f696d706f72742f7374642f737464696f2e64Vmi1041Z12errnoEnforceFNfbLAyaZb’未定义的引用
../../../libcollie.a(collie.codec.http.handler.o):在函数‘_D3std5stdio4File4tellMxFNdNeZm’中:
/home/dsby/bin/ldc/bin/../import/std/stdio.d:1098:对‘_D3std9exception123__T12errnoEnforceTbVAyaa44_2f686f6d652f647362792f62696e2f6c64632f62696e2f2e2e2f696d706f72742f7374642f737464696f2e64Vmi1098Z12errnoEnforceFNfbLAyaZb’未定义的引用
collect2: error: ld returned 1 exit status
Error: /usr/bin/gcc failed with status: 1
ldc2 failed with exit code 1.



September 26, 2016
On Monday, 26 September 2016 at 07:20:18 UTC, Dsby wrote:
> when I use debug, but enable "inline" it will erro:

You should be able to work around this issue by specifying `-cross-module-inlining=false` in the command line. It's already resolved (disabled by default) in git master.
September 26, 2016
On Monday, 26 September 2016 at 08:13:43 UTC, kinke wrote:
> On Monday, 26 September 2016 at 07:20:18 UTC, Dsby wrote:
>> when I use debug, but enable "inline" it will erro:
>
> You should be able to work around this issue by specifying `-cross-module-inlining=false` in the command line. It's already resolved (disabled by default) in git master.

-cross-module-inlining=false is erro,
I add -disable-cross-module-inlining or -disable-cross-module-inlining = true or -ensable-cross-module-inlining = flase, But it also error.
September 26, 2016
On Monday, 26 September 2016 at 14:59:14 UTC, Dsby wrote:
> On Monday, 26 September 2016 at 08:13:43 UTC, kinke wrote:
>> On Monday, 26 September 2016 at 07:20:18 UTC, Dsby wrote:
>>> when I use debug, but enable "inline" it will erro:
>>
>> You should be able to work around this issue by specifying `-cross-module-inlining=false` in the command line. It's already resolved (disabled by default) in git master.
>
> -cross-module-inlining=false is erro,
> I add -disable-cross-module-inlining or -disable-cross-module-inlining = true or -ensable-cross-module-inlining = flase, But it also error.

This is because in 1.1.0-beta2, -disable-cross-module-inlining does not disable cross-module inlining of `pragma(inline, true)` functions.

There is no other solution than downgrading to 1.0.0 for now, and to wait for 1.1.0-beta3 (or build LDC yourself).
September 26, 2016
On Monday, 26 September 2016 at 15:06:04 UTC, Johan Engelen wrote:
> 
> There is no other solution than downgrading to 1.0.0 for now, and to wait for 1.1.0-beta3 (or build LDC yourself).

Or you could edit Phobos source and remove the pragma(inline, true) in std.exception for errnoEnforce.
September 27, 2016
On Monday, 26 September 2016 at 15:07:35 UTC, Johan Engelen wrote:
> On Monday, 26 September 2016 at 15:06:04 UTC, Johan Engelen wrote:
>> 
>> There is no other solution than downgrading to 1.0.0 for now, and to wait for 1.1.0-beta3 (or build LDC yourself).
>
> Or you could edit Phobos source and remove the pragma(inline, true) in std.exception for errnoEnforce.

Thanks。