www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Dear toolchain...

reply Simen Haugen <simen norstat.no> writes:
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?
Mar 10 2009
next sibling parent reply Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
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.
Mar 10 2009
parent reply Simen Haugen <simen norstat.no> writes:
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 ...
Mar 10 2009
parent torhu <no spam.invalid> writes:
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.
Mar 10 2009
prev sibling next sibling parent reply Bill Baxter <wbaxter gmail.com> writes:
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
Mar 10 2009
next sibling parent Simen Haugen <simen norstat.no> writes:
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 :|
Mar 10 2009
prev sibling parent Simen Haugen <simen norstat.no> writes:
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 :|
Mar 10 2009
prev sibling parent Sergey Gromov <snake.scaly gmail.com> writes:
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.
Mar 12 2009