www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Optlink messages

reply Jeremy <Jeremy_member pathlink.com> writes:
C:\dmd\FreeUniverse>build FreeUniverse.d -cleanup -O -debug -inline

C:\dmd\FreeUniverse>build FreeUniverse.d -cleanup -O -release -inline
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

c:\dmd\lib\phobos.lib(ti_double)  Offset 1C75EH Record Type 0091
Error 1: Previous Definition Different : __init_10TypeInfo_d
c:\dmd\lib\phobos.lib(ti_double)  Offset 1C778H Record Type 0091
Error 1: Previous Definition Different : __Class_10TypeInfo_d
c:\dmd\lib\phobos.lib(ti_double)  Offset 1C791H Record Type 0091
Error 1: Previous Definition Different : __vtbl_10TypeInfo_d

So, it seems to compile fine with -debug, but when I use -release, I get weird
errors. This is using the new DMD v0.161 -- any ideas?
Jun 20 2006
next sibling parent reply pragma <pragma_member pathlink.com> writes:
In article <e793de$282g$1 digitaldaemon.com>, Jeremy says...
C:\dmd\FreeUniverse>build FreeUniverse.d -cleanup -O -debug -inline

C:\dmd\FreeUniverse>build FreeUniverse.d -cleanup -O -release -inline
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

c:\dmd\lib\phobos.lib(ti_double)  Offset 1C75EH Record Type 0091
Error 1: Previous Definition Different : __init_10TypeInfo_d
c:\dmd\lib\phobos.lib(ti_double)  Offset 1C778H Record Type 0091
Error 1: Previous Definition Different : __Class_10TypeInfo_d
c:\dmd\lib\phobos.lib(ti_double)  Offset 1C791H Record Type 0091
Error 1: Previous Definition Different : __vtbl_10TypeInfo_d

So, it seems to compile fine with -debug, but when I use -release, I get weird
errors. This is using the new DMD v0.161 -- any ideas?

Out of curiosity, did you try using "-full" on the command line as well? Let me preface this by saing that Build is an *awesome* tool for D. I use it exclusively when compiling my apps. But bulid has one drawback: it doesn't distinguish between debug/release builds when it checks the file times of your object files. So if you build once in release, update one or two files, and build again in debug, only those two files will be recompiled - despite the fact that the mode of compilation has changed. - EricAnderton at yahoo
Jun 20 2006
next sibling parent Jeremy <Jeremy_member pathlink.com> writes:
In article <e79a5p$2jsd$1 digitaldaemon.com>, pragma says...
In article <e793de$282g$1 digitaldaemon.com>, Jeremy says...
C:\dmd\FreeUniverse>build FreeUniverse.d -cleanup -O -debug -inline

C:\dmd\FreeUniverse>build FreeUniverse.d -cleanup -O -release -inline
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

c:\dmd\lib\phobos.lib(ti_double)  Offset 1C75EH Record Type 0091
Error 1: Previous Definition Different : __init_10TypeInfo_d
c:\dmd\lib\phobos.lib(ti_double)  Offset 1C778H Record Type 0091
Error 1: Previous Definition Different : __Class_10TypeInfo_d
c:\dmd\lib\phobos.lib(ti_double)  Offset 1C791H Record Type 0091
Error 1: Previous Definition Different : __vtbl_10TypeInfo_d

So, it seems to compile fine with -debug, but when I use -release, I get weird
errors. This is using the new DMD v0.161 -- any ideas?

Out of curiosity, did you try using "-full" on the command line as well? Let me preface this by saing that Build is an *awesome* tool for D. I use it exclusively when compiling my apps. But bulid has one drawback: it doesn't distinguish between debug/release builds when it checks the file times of your object files. So if you build once in release, update one or two files, and build again in debug, only those two files will be recompiled - despite the fact that the mode of compilation has changed. - EricAnderton at yahoo

Using "-full" does not change the outcome -- I get those errors whether I use that option or not. I did not have these problems in DMD v0.160. I guess I will be compiling in "-debug" mode until this gets resolved :( Thank you for the suggestion, but unfortunately it doesn't help :( - Jeremy
Jun 20 2006
prev sibling next sibling parent Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
pragma wrote:
 Out of curiosity, did you try using "-full" on the command line as well?
 
 Let me preface this by saing that Build is an *awesome* tool for D.  I use it
 exclusively when compiling my apps.
 
 But bulid has one drawback: it doesn't distinguish between debug/release builds
 when it checks the file times of your object files.  So if you build once in
 release, update one or two files, and build again in debug, only those two
files
 will be recompiled - despite the fact that the mode of compilation has changed.

The trick is that -clean / -cleanup is enough, since it deletes the object files :) -- Tomasz Stachowiak /+ a.k.a. h3r3tic +/
Jun 20 2006
prev sibling parent "Derek Parnell" <derek psych.ward> writes:
On Wed, 21 Jun 2006 03:10:18 +1000, pragma <pragma_member pathlink.com>  
wrote:



 But bulid has one drawback: it doesn't distinguish between debug/release  
 builds
 when it checks the file times of your object files.  So if you build  
 once in
 release, update one or two files, and build again in debug, only those  
 two files
 will be recompiled - despite the fact that the mode of compilation has  
 changed.

This is my TODO list ;-) -- Derek Parnell Melbourne, Australia
Jun 20 2006
prev sibling parent reply "Derek Parnell" <derek psych.ward> writes:
On Wed, 21 Jun 2006 01:14:54 +1000, Jeremy <Jeremy_member pathlink.com>  
wrote:

 C:\dmd\FreeUniverse>build FreeUniverse.d -cleanup -O -debug -inline

 C:\dmd\FreeUniverse>build FreeUniverse.d -cleanup -O -release -inline
 OPTLINK (R) for Win32  Release 7.50B1
 Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

 c:\dmd\lib\phobos.lib(ti_double)  Offset 1C75EH Record Type 0091
 Error 1: Previous Definition Different : __init_10TypeInfo_d
 c:\dmd\lib\phobos.lib(ti_double)  Offset 1C778H Record Type 0091
 Error 1: Previous Definition Different : __Class_10TypeInfo_d
 c:\dmd\lib\phobos.lib(ti_double)  Offset 1C791H Record Type 0091
 Error 1: Previous Definition Different : __vtbl_10TypeInfo_d

 So, it seems to compile fine with -debug, but when I use -release, I get  
 weird
 errors. This is using the new DMD v0.161 -- any ideas?

This is caused by using Build with a response file for the Linker (the default behaviour). If you run Build with the -R=No switch, it should work. The problem is I create the response file as ... test.obj test.exe test.map somelib.lib test.def test.res /noi/map but OptLink doesn't like this. It turns out I need to create it as ... test.obj test.exe test.map somelib.lib test.def test.res/noi/map I've repaired Build and will release it later today. -- Derek Parnell Melbourne, Australia
Jun 20 2006
parent reply Jeremy <Jeremy_member pathlink.com> writes:
In article <op.tbgvkcku6b8z09 ginger.vic.bigpond.net.au>, Derek Parnell says...
On Wed, 21 Jun 2006 01:14:54 +1000, Jeremy <Jeremy_member pathlink.com>  
wrote:

 C:\dmd\FreeUniverse>build FreeUniverse.d -cleanup -O -debug -inline

 C:\dmd\FreeUniverse>build FreeUniverse.d -cleanup -O -release -inline
 OPTLINK (R) for Win32  Release 7.50B1
 Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

 c:\dmd\lib\phobos.lib(ti_double)  Offset 1C75EH Record Type 0091
 Error 1: Previous Definition Different : __init_10TypeInfo_d
 c:\dmd\lib\phobos.lib(ti_double)  Offset 1C778H Record Type 0091
 Error 1: Previous Definition Different : __Class_10TypeInfo_d
 c:\dmd\lib\phobos.lib(ti_double)  Offset 1C791H Record Type 0091
 Error 1: Previous Definition Different : __vtbl_10TypeInfo_d

 So, it seems to compile fine with -debug, but when I use -release, I get  
 weird
 errors. This is using the new DMD v0.161 -- any ideas?

This is caused by using Build with a response file for the Linker (the default behaviour). If you run Build with the -R=No switch, it should work. The problem is I create the response file as ... test.obj test.exe test.map somelib.lib test.def test.res /noi/map but OptLink doesn't like this. It turns out I need to create it as ... test.obj test.exe test.map somelib.lib test.def test.res/noi/map I've repaired Build and will release it later today. -- Derek Parnell Melbourne, Australia

Yay, sounds good :) Is that -exec bug going to be fixed too?
Jun 20 2006
parent "Derek Parnell" <derek psych.ward> writes:
On Wed, 21 Jun 2006 09:14:20 +1000, Jeremy <Jeremy_member pathlink.com>  
wrote:


 I've repaired Build and will release it later today.


 Yay, sounds good :) Is that -exec bug going to be fixed too?

Yes, and a few others too to fix when 'gcc' is the linker. ;-) -- Derek Parnell Melbourne, Australia
Jun 20 2006