www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - release building problem

reply "Oleg" <code.viator gmail.com> writes:
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-AD20DEA65FEE410217932
49C1D262EF/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-AD20DEA65FEE410217932
49C1D262EF/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-AD20DEA65FEE410217932
49C1D262EF/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_dupFNaNbAxS6client6Clien
ZAyS6client6Client' 
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?
Dec 03 2014
parent reply Rikki Cattermole <alphaglosined gmail.com> writes:
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.
Dec 03 2014
parent reply "Oleg" <code.viator gmail.com> writes:
the same result of building release or profile
Dec 03 2014
parent "Oleg" <code.viator gmail.com> writes:
renaming struct from 'Client' to 'MClient' resolve question
Dec 04 2014