Thread overview
Dear toolchain...
Mar 10, 2009
Simen Haugen
Mar 10, 2009
Simen Haugen
Mar 10, 2009
torhu
Mar 10, 2009
Bill Baxter
Mar 10, 2009
Simen Haugen
Mar 10, 2009
Simen Haugen
Mar 12, 2009
Sergey Gromov
March 10, 2009
I'm waist deep in problems, and have no idea how to get up.

I have a program that uses d1, dmd, tango, ddbi, dwt and dwin. Some time ago I discovered that the program would no longer compile, and I have several features and bugfixes long overdue.

It seems the problem happens during linking, but as I get no error what so ever it's a bit hard for me to track down. The project is about 30kloc.

I've tried both dsss and rebuild. Dsss at least says rebuild exits with a status code 1, but still no hints on where the error might be.
My guess is that this is a bug with lib.exe or link.exe, but I might be far off...

I'm using D for several other programs, but don't keep a log for what versions I used when the projects last compiled... I've tried several different versions of both the compiler and the various libs, but as I said, I keep no log, so it's kind of a shot in the dark...

I've spent at least 8 hours so far trying to locate the error with no luck.
Does anyone have any good ideas how I can proceed?
Or perhaps a pointer in the direction for narrowing down my search?
March 10, 2009
On Tue, Mar 10, 2009 at 1:45 PM, Simen Haugen <simen@norstat.no> wrote:
> I'm waist deep in problems, and have no idea how to get up.
>
> I have a program that uses d1, dmd, tango, ddbi, dwt and dwin. Some time ago I discovered that the program would no longer compile, and I have several features and bugfixes long overdue.
>
> It seems the problem happens during linking, but as I get no error what so ever it's a bit hard for me to track down. The project is about 30kloc.
>
> I've tried both dsss and rebuild. Dsss at least says rebuild exits with a
> status code 1, but still no hints on where the error might be.
> My guess is that this is a bug with lib.exe or link.exe, but I might be far
> off...
>
> I'm using D for several other programs, but don't keep a log for what versions I used when the projects last compiled... I've tried several different versions of both the compiler and the various libs, but as I said, I keep no log, so it's kind of a shot in the dark...
>
> I've spent at least 8 hours so far trying to locate the error with no luck.
> Does anyone have any good ideas how I can proceed?
> Or perhaps a pointer in the direction for narrowing down my search?
>

Verbose flags!  That should help narrow down where the compilation/linking fails.
March 10, 2009
Jarrett Billingsley wrote:
> On Tue, Mar 10, 2009 at 1:45 PM, Simen Haugen <simen@norstat.no> wrote:
>> I'm waist deep in problems, and have no idea how to get up.
>>
>> I have a program that uses d1, dmd, tango, ddbi, dwt and dwin. Some time ago
>> I discovered that the program would no longer compile, and I have several
>> features and bugfixes long overdue.
>>
>> It seems the problem happens during linking, but as I get no error what so
>> ever it's a bit hard for me to track down. The project is about 30kloc.
>>
>> I've tried both dsss and rebuild. Dsss at least says rebuild exits with a
>> status code 1, but still no hints on where the error might be.
>> My guess is that this is a bug with lib.exe or link.exe, but I might be far
>> off...
>>
>> I'm using D for several other programs, but don't keep a log for what
>> versions I used when the projects last compiled... I've tried several
>> different versions of both the compiler and the various libs, but as I said,
>> I keep no log, so it's kind of a shot in the dark...
>>
>> I've spent at least 8 hours so far trying to locate the error with no luck.
>> Does anyone have any good ideas how I can proceed?
>> Or perhaps a pointer in the direction for narrowing down my search?
>>
> 
> Verbose flags!  That should help narrow down where the
> compilation/linking fails.

I've tried that. Rebuild keeps compiling files until I get the command prompt with no message. I don't see any message showing the linking begins, but if I exclude the last file from my project, the same thing happens (in other words - I know all the files compiles correctly). X-Files ...
March 10, 2009
On Tue, Mar 10, 2009 at 10:45 AM, Simen Haugen <simen@norstat.no> wrote:
> I'm waist deep in problems, and have no idea how to get up.
>
> I have a program that uses d1, dmd, tango, ddbi, dwt and dwin. Some time ago I discovered that the program would no longer compile, and I have several features and bugfixes long overdue.
>
> It seems the problem happens during linking, but as I get no error what so ever it's a bit hard for me to track down. The project is about 30kloc.
>
> I've tried both dsss and rebuild. Dsss at least says rebuild exits with a
> status code 1, but still no hints on where the error might be.
> My guess is that this is a bug with lib.exe or link.exe, but I might be far
> off...
>
> I'm using D for several other programs, but don't keep a log for what versions I used when the projects last compiled... I've tried several different versions of both the compiler and the various libs, but as I said, I keep no log, so it's kind of a shot in the dark...
>
> I've spent at least 8 hours so far trying to locate the error with no luck.
> Does anyone have any good ideas how I can proceed?
> Or perhaps a pointer in the direction for narrowing down my search?

Some thoughts:
For the longest time DMD 1.037 was the most recent version that would
work for me and my DWT app.  So that might be a good version to try if
you haven't already.

One thing that bit me when I was trying to try out different compilers -- the new directory layout is different, so you need to make sure you're really using the compiler you think you're using.  If you set up your path to have dmd/windows/bin on your path, but you install an older compiler over top of an existing install, you'll still be using the newer compiler because of your PATH setting.

Other than that, the only way to find these things is pretty much to comment out chunks of your program until it compiles, and try to narrow it down that way.

--bb
March 10, 2009
Bill Baxter wrote:
> On Tue, Mar 10, 2009 at 10:45 AM, Simen Haugen <simen@norstat.no> wrote:
>> I'm waist deep in problems, and have no idea how to get up.
>>
>> I have a program that uses d1, dmd, tango, ddbi, dwt and dwin. Some time ago
>> I discovered that the program would no longer compile, and I have several
>> features and bugfixes long overdue.
>>
>> It seems the problem happens during linking, but as I get no error what so
>> ever it's a bit hard for me to track down. The project is about 30kloc.
>>
>> I've tried both dsss and rebuild. Dsss at least says rebuild exits with a
>> status code 1, but still no hints on where the error might be.
>> My guess is that this is a bug with lib.exe or link.exe, but I might be far
>> off...
>>
>> I'm using D for several other programs, but don't keep a log for what
>> versions I used when the projects last compiled... I've tried several
>> different versions of both the compiler and the various libs, but as I said,
>> I keep no log, so it's kind of a shot in the dark...
>>
>> I've spent at least 8 hours so far trying to locate the error with no luck.
>> Does anyone have any good ideas how I can proceed?
>> Or perhaps a pointer in the direction for narrowing down my search?
> 
> Some thoughts:
> For the longest time DMD 1.037 was the most recent version that would
> work for me and my DWT app.  So that might be a good version to try if
> you haven't already.
> 
> One thing that bit me when I was trying to try out different compilers
> -- the new directory layout is different, so you need to make sure
> you're really using the compiler you think you're using.  If you set
> up your path to have dmd/windows/bin on your path, but you install an
> older compiler over top of an existing install, you'll still be using
> the newer compiler because of your PATH setting.
> 
> Other than that, the only way to find these things is pretty much to
> comment out chunks of your program until it compiles, and try to
> narrow it down that way.
> 
> --bb

I noticed the new directory structure, so that's not the issue.
I'll try .37 and commenting out stuff (I was using .28 for a long time, but I was still using this when the compiling started failing).
One problem with commenting out code is that compilation takes a lot of time (especially for dwt) - For some reason rebuild seem to do a full compilation even if I have dwt precompiled and use -llDD-dwt, or perhaps I'm just a bit stupid :|
March 10, 2009
Bill Baxter wrote:
> On Tue, Mar 10, 2009 at 10:45 AM, Simen Haugen <simen@norstat.no> wrote:
>> I'm waist deep in problems, and have no idea how to get up.
>>
>> I have a program that uses d1, dmd, tango, ddbi, dwt and dwin. Some time ago
>> I discovered that the program would no longer compile, and I have several
>> features and bugfixes long overdue.
>>
>> It seems the problem happens during linking, but as I get no error what so
>> ever it's a bit hard for me to track down. The project is about 30kloc.
>>
>> I've tried both dsss and rebuild. Dsss at least says rebuild exits with a
>> status code 1, but still no hints on where the error might be.
>> My guess is that this is a bug with lib.exe or link.exe, but I might be far
>> off...
>>
>> I'm using D for several other programs, but don't keep a log for what
>> versions I used when the projects last compiled... I've tried several
>> different versions of both the compiler and the various libs, but as I said,
>> I keep no log, so it's kind of a shot in the dark...
>>
>> I've spent at least 8 hours so far trying to locate the error with no luck.
>> Does anyone have any good ideas how I can proceed?
>> Or perhaps a pointer in the direction for narrowing down my search?
> 
> Some thoughts:
> For the longest time DMD 1.037 was the most recent version that would
> work for me and my DWT app.  So that might be a good version to try if
> you haven't already.
> 
> One thing that bit me when I was trying to try out different compilers
> -- the new directory layout is different, so you need to make sure
> you're really using the compiler you think you're using.  If you set
> up your path to have dmd/windows/bin on your path, but you install an
> older compiler over top of an existing install, you'll still be using
> the newer compiler because of your PATH setting.
> 
> Other than that, the only way to find these things is pretty much to
> comment out chunks of your program until it compiles, and try to
> narrow it down that way.
> 
> --bb

I noticed the new directory structure, so that's not the issue.
I'll try .37 and commenting out stuff (I was using .28 for a long time, but I was still using this when the compiling started failing).
One problem with commenting out code is that compilation takes a lot of time (especially for dwt) - For some reason rebuild seem to do a full compilation even if I have dwt precompiled and use -llDD-dwt, or perhaps I'm just a bit stupid :|
March 10, 2009
On 10.03.2009 19:38, Simen Haugen wrote:
> Jarrett Billingsley wrote:
>>  On Tue, Mar 10, 2009 at 1:45 PM, Simen Haugen<simen@norstat.no>  wrote:
>>>  I'm waist deep in problems, and have no idea how to get up.
>>>
>>>  I have a program that uses d1, dmd, tango, ddbi, dwt and dwin. Some time ago
>>>  I discovered that the program would no longer compile, and I have several
>>>  features and bugfixes long overdue.
>>>
>>>  It seems the problem happens during linking, but as I get no error what so
>>>  ever it's a bit hard for me to track down. The project is about 30kloc.
>>>
>>>  I've tried both dsss and rebuild. Dsss at least says rebuild exits with a
>>>  status code 1, but still no hints on where the error might be.
>>>  My guess is that this is a bug with lib.exe or link.exe, but I might be far
>>>  off...
>>>
>>>  I'm using D for several other programs, but don't keep a log for what
>>>  versions I used when the projects last compiled... I've tried several
>>>  different versions of both the compiler and the various libs, but as I said,
>>>  I keep no log, so it's kind of a shot in the dark...
>>>
>>>  I've spent at least 8 hours so far trying to locate the error with no luck.
>>>  Does anyone have any good ideas how I can proceed?
>>>  Or perhaps a pointer in the direction for narrowing down my search?
>>>
>>
>>  Verbose flags!  That should help narrow down where the
>>  compilation/linking fails.
>
> I've tried that. Rebuild keeps compiling files until I get the command
> prompt with no message. I don't see any message showing the linking
> begins, but if I exclude the last file from my project, the same thing
> happens (in other words - I know all the files compiles correctly).
> X-Files ...

You can use dsss to build a lib from dwt and the other libs you use. Then do a fully manual compile and link, on thing at a time. Run the linker directly or through dmd, not through rebuild and/or dsss.  That should narrow it down.
March 12, 2009
Tue, 10 Mar 2009 18:45:26 +0100, Simen Haugen wrote:

> I've spent at least 8 hours so far trying to locate the error with no luck.
> Does anyone have any good ideas how I can proceed?
> Or perhaps a pointer in the direction for narrowing down my search?

You're using tango, so you may want to try Jake:

http://www.dsource.org/projects/tango/wiki/Jake

Try to use it instead of rebuild.  It builds everything in one step so compile time should be very feasible, even for DWT-based project.  It may happen to give you better diagnostics.

Also try to use -v flag.  Jake passes it through to the compiler so you'll see steps DMD takes to compile your program, which may give some clues, too.