release building problem

Rikki Cattermole via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Dec 3 04:05:55 PST 2014


On 3/12/2014 11:15 p.m., Oleg wrote:
> When I build my program with release flag I get an errors, in debug
> build all works
>
> .dub/build/application-profile-linux.posix-x86_64-dmd-AD20DEA65FEE410217932549C1D262EF/ftree.o:
> In function
> `_D3des4flow5event5Event27__T6__ctorTS6client6ClientZ6__ctorMFNcmKxS6client6ClientZS3des4flow5event5Event':
>
> /home/deviator/workspace/cdsd/fractaltree/descore/import/des/flow/event.d:62:
> undefined reference to
> `_D6object43__T4_dupTxS6client6ClientTyS6client6ClientZ4_dupFNaNbAxS6client6ClientZAyS6client6Client'
>
> .dub/build/application-profile-linux.posix-x86_64-dmd-AD20DEA65FEE410217932549C1D262EF/ftree.o:
> In function
> `_D3des4util5pdata5PData27__T6__ctorTS6client6ClientZ6__ctorMFNaNbNcNfKxS6client6ClientZS3des4util5pdata5PData':
>
> /home/deviator/workspace/cdsd/fractaltree/descore/import/des/util/pdata.d:40:
> undefined reference to
> `_D6object43__T4_dupTxS6client6ClientTyS6client6ClientZ4_dupFNaNbAxS6client6ClientZAyS6client6Client'
>
> .dub/build/application-profile-linux.posix-x86_64-dmd-AD20DEA65FEE410217932549C1D262EF/ftree.o:
> In function `_D4sock2we6SockWE10emitEventsMFZv':
> /home/deviator/workspace/cdsd/fractaltree/src/sock/we.d:134: undefined
> reference to
> `_D6object43__T4_dupTxS6client6ClientTyS6client6ClientZ4_dupFNaNbAxS6client6ClientZAyS6client6Client'
>
>
> It may be a compiler bug, but now I must find workaround.
>
>  From mangle
> `_D6object43__T4_dupTxS6client6ClientTyS6client6ClientZ4_dupFNaNbAxS6client6ClientZAyS6client6Client'
> I can understood what no 'dup(Client)' function. But I dont understand
> where it calls. Ctors flow.event.Event and des.util.pdata.PData
> looks like 'this(T)( ref const(T) val )' and dont use 'dup' function.
> Whey use 'idup' function for 'T[]'.
>
> struct Client
> {
> size_t id;
> vec3 orient; // struct vec3 { float[3] data; }
> vec3 motion;
> float p1;
> }
>
> Where I must find solution?

So are you running dub with --build=release?
Because from what I can see, its building as if it was --build=profile.
And -profile arg in my experiance has a rather awful tendency to causing 
this.


More information about the Digitalmars-d-learn mailing list