Thread overview
Optlink messages
Jun 20, 2006
Jeremy
Jun 20, 2006
pragma
Jun 20, 2006
Jeremy
Jun 20, 2006
Tom S
Jun 20, 2006
Derek Parnell
Jun 20, 2006
Derek Parnell
Jun 20, 2006
Jeremy
Jun 20, 2006
Derek Parnell
June 20, 2006
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?


June 20, 2006
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
June 20, 2006
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


June 20, 2006
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 +/
June 20, 2006
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
June 20, 2006
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
June 20, 2006
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?


June 20, 2006
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