View previous topic :: View next topic |
Author |
Message |
mahrah
Joined: 03 Mar 2008 Posts: 1
|
Posted: Mon Mar 03, 2008 6:40 am Post subject: Building/Debugging Poseidon with Poseidon |
|
|
I'm new to D.
I was looking for a lightweight IDE for D and found Poseidon which seems to be what I was looking for.
As a starting point I downloaded the following from Digital Mars:
- DMD V1.027
- DMC 8.50
And the following from dsource.org:
- Current Poseidon sources (following the link on the Poseidon page)
- The V0.36 trunk of DWT (the "old" DWT as I understand)
- Bud 3.04 for Windows
In addition I downloaded the debugger Ddbg for Windows and built the DWT libraries successfully following the instructions to do so: They were automatically copied to/created in the dmd/lib folder.
I think that a IDE should be capable of building itself, so I attempted to build Poseidon using Poseidon.
After updating the Project in Poseidon to point to the correct location of the source files, the compilation of all the modules seems to work fine, but the link always fails for some of the modules, e.g. scintillaex.obj and edititem.obj. The linker does not seem to be able to resolve the references to the dwtextra.lib.
I even tried to call the linker manually providing all the libraries on the command line (dwt, dwtextra, win32 stuff, win32_dwt stuff etc.), but it always fails with the "unresolved symbol" error about the DWTEXTRA stuff (at least that's what the unresolved symbols look like).
Building Poseidon using Bud works fine, but Bud seems to circumvent above issue, since it obviously analyzes the source code and compiles all references modules including DWT and DWTEXTRA again, at least do I get all the objects for those modules again in the "Object" directory, which might explain why the Bud build succeeds since it actually does not have to link in the DWTEXTRA library.
If I attempt to run the debugger from Poseidon it always tried to build a debug version of Poseidon which fails for above stated reasons.
I've built a custom version of Poseidon that does not attempt to build a debug version.
Now I'm facing a different issue: When building the debug version of Poseidon using bud the linker never comes back - it generates a 4GB executable and probably only due an internal limitation the file size does not grow further, but the linker process runs forever and needs to be killed.
So in a summary:
1. Why is the linker not able to resolve the library references resp. how do I tell the linker to do so? I know how to do it according to the samples, documentation and the response files that Bud generates, so I'm not looking for the obvious, but for an explanation why the obvious does not work.
2. Why does the linker behave so strangely (generating huge exe, never coming back) when I compile the objects using the "-g" option?
Any help would be appreciated.
May be the 1.027 DMD build together with the 8.50 DMC build does have some issues and I just need to use an older revision?
Regards,
Randolf |
|
Back to top |
|
|
Kuan Hsu
Joined: 15 Apr 2006 Posts: 143 Location: Taiwan
|
Posted: Mon Apr 07, 2008 11:33 am Post subject: Re: Building/Debugging Poseidon with Poseidon |
|
|
Quote: |
1. Why is the linker not able to resolve the library references resp. how do I tell the linker to do so? I know how to do it according to the samples, documentation and the response files that Bud generates, so I'm not looking for the obvious, but for an explanation why the obvious does not work.
|
Poseidon is build by itself using DMD indeed, but your case had happened to me when I install various DMD versions in same dir, I don't know the real cause.
In my case, I removed all DMD, DM files and reinstall them then compile DWT libs finally.
Poseidon now build using DMD1.028
Quote: |
2. Why does the linker behave so strangely (generating huge exe, never coming back) when I compile the objects using the "-g" option?
|
I think the problem is dwtextrad.lib, but link with dwtd.lib and unlink with dwtextrad.lib but dwtextra.lib is build OK, but when I use Ddbg debug poseidon, it still error.......
Quote: |
May be the 1.027 DMD build together with the 8.50 DMC build does have some issues and I just need to use an older revision?
|
Even older V1.0 still had this problem...... |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|