Thread overview
dwt compile problem
Feb 05, 2008
Ty Tower
Feb 05, 2008
Jesse Phillips
Feb 05, 2008
Frank Benoit
Feb 05, 2008
Ty Tower
Feb 05, 2008
Ty Tower
Feb 05, 2008
John Reimer
Feb 05, 2008
Ty Tower
Feb 05, 2008
John Reimer
Feb 05, 2008
Ty Tower
Feb 05, 2008
John Reimer
February 05, 2008
Can anyone tell me what the linker is not finding here?
It seems to make the object OK but cant link

[tytower@localhost misc]$ dmd ./hello.d
gcc hello.o -o hello -m32 -Xlinker -L/dmd/bin/../lib -lphobos -lpthread -lm
hello.o:(.data+0xac): undefined reference to `_D3dwt3all12__ModuleInfoZ'
hello.o: In function `_D5hello5Hello4openMFC3dwt7widgets7display7DisplayZC3dwt7widgets5shell5Shell':
./hello.d:(.gnu.linkonce.t_D5hello5Hello4openMFC3dwt7widgets7display7DisplayZC3dwt7widgets5shell5Shell+0x11): undefined reference to `_D3dwt7widgets5shell5Shell7__ClassZ'
./hello.d:(.gnu.linkonce.t_D5hello5Hello4openMFC3dwt7widgets7display7DisplayZC3dwt7widgets5shell5Shell+0x1f): undefined reference to `_D3dwt7widgets5shell5Shell5_ctorMFC3dwt7widgets7display7DisplayZC3dwt7widgets5shell5Shell'
hello.o: In function `_D5hello5Hello3runFZv':
./hello.d:(.gnu.linkonce.t_D5hello5Hello3runFZv+0x8): undefined reference to `_D3dwt7widgets7display7Display10getDefaultFZC3dwt7widgets7display7Display'
hello.o: In function `_Dmain':
./hello.d:(.gnu.linkonce.t_Dmain+0x26): undefined reference to `_D3dwt7widgets10messagebox10MessageBox11showMessageFAaAaC3dwt7widgets5shell5ShelliZi'
collect2: ld returned 1 exit status
--- errorlevel 1

February 05, 2008
On Mon, 04 Feb 2008 19:14:08 -0500, Ty Tower wrote:

> Can anyone tell me what the linker is not finding here? It seems to make the object OK but cant link
> 
> [tytower@localhost misc]$ dmd ./hello.d gcc hello.o -o hello -m32 -Xlinker -L/dmd/bin/../lib -lphobos -lpthread -lm hello.o:(.data+0xac): undefined reference to `_D3dwt3all12__ModuleInfoZ' hello.o: In function
> 
`_D5hello5Hello4openMFC3dwt7widgets7display7DisplayZC3dwt7widgets5shell5Shell':
> ./hello.d:
(.gnu.linkonce.t_D5hello5Hello4openMFC3dwt7widgets7display7DisplayZC3dwt7widgets5shell5Shell
+0x11):
> undefined reference to `_D3dwt7widgets5shell5Shell7__ClassZ' ./hello.d:
(.gnu.linkonce.t_D5hello5Hello4openMFC3dwt7widgets7display7DisplayZC3dwt7widgets5shell5Shell
+0x1f):
> undefined reference to
> 
`_D3dwt7widgets5shell5Shell5_ctorMFC3dwt7widgets7display7DisplayZC3dwt7widgets5shell5Shell'
> hello.o: In function `_D5hello5Hello3runFZv': ./hello.d:(.gnu.linkonce.t_D5hello5Hello3runFZv+0x8): undefined reference to
> 
`_D3dwt7widgets7display7Display10getDefaultFZC3dwt7widgets7display7Display'
> hello.o: In function `_Dmain':
> ./hello.d:(.gnu.linkonce.t_Dmain+0x26): undefined reference to
> 
`_D3dwt7widgets10messagebox10MessageBox11showMessageFAaAaC3dwt7widgets5shell5ShelliZi'
> collect2: ld returned 1 exit status
> --- errorlevel 1

If your trying to compile a dwt project from the now dwt ports, you will have to install Tango first. As for the compiling command, there are a lot of libraries to reference. I use dsss for building and for a simple program this is the command it generates for rebuild:

/usr/local/bin/rebuild -Idsss_imports/ -I. -S./ -I/home/he/d/include/d -S/home/he/d/lib/  -I/usr/local/include/d -S/usr/local/lib -I/home/he/d/ include/d -S/home/he/d/lib  -oqdsss_objs/D -L-lgtk-x11-2.0 -L-lgdk- x11-2.0 -L-latk-1.0 -L-lgdk_pixbuf-2.0 -L-lgthread-2.0 -L-lm -L- lpangocairo-1.0 -L-lfontconfig -L-lXtst -L-lXext -L-lXrender -L-lXinerama -L-lXi -L-lXrandr -L-lXcursor -L-lXcomposite -L-lXdamage -L-lX11 -L- lXfixes -L-lpango-1.0 -L-lgobject-2.0 -L-lgmodule-2.0 -L-ldl -L-lglib-2.0 -L-lcairo -g -gc DrawingBoard.d -ofDrawingBoard

So my suggestion would be to install dsss for building the projects. If you do you can switch the default in the rebuild configuration directory to dmd-posix-tango And the -dc= flag might let you change it on compile.
February 05, 2008
From D3dwt7widgets5shell5Shell7__C => dwt.widgets.shell.Shell I see, that the module is lower case. So it is the DWT from Shawn Liu.
February 05, 2008
Frank Benoit Wrote:

>  From D3dwt7widgets5shell5Shell7__C => dwt.widgets.shell.Shell I see,
> that the module is lower case. So it is the DWT from Shawn Liu.


Yes Frank thanks but what do I need to change to get it to compile?
February 05, 2008
Jesse Phillips Wrote:

> If your trying to compile a dwt project from the now dwt ports, you will have to install Tango first. As for the compiling command, there are a lot of libraries to reference. I use dsss for building and for a simple program this is the command it generates for rebuild:
> 
> /usr/local/bin/rebuild -Idsss_imports/ -I. -S./ -I/home/he/d/include/d -S/home/he/d/lib/  -I/usr/local/include/d -S/usr/local/lib -I/home/he/d/ include/d -S/home/he/d/lib  -oqdsss_objs/D -L-lgtk-x11-2.0 -L-lgdk- x11-2.0 -L-latk-1.0 -L-lgdk_pixbuf-2.0 -L-lgthread-2.0 -L-lm -L- lpangocairo-1.0 -L-lfontconfig -L-lXtst -L-lXext -L-lXrender -L-lXinerama -L-lXi -L-lXrandr -L-lXcursor -L-lXcomposite -L-lXdamage -L-lX11 -L- lXfixes -L-lpango-1.0 -L-lgobject-2.0 -L-lgmodule-2.0 -L-ldl -L-lglib-2.0 -L-lcairo -g -gc DrawingBoard.d -ofDrawingBoard
> 
> So my suggestion would be to install dsss for building the projects. If you do you can switch the default in the rebuild configuration directory to dmd-posix-tango And the -dc= flag might let you change it on compile.


> If your trying to compile a dwt project from the now dwt ports, you will have to install Tango first. As for the compiling command, there are a lot of libraries to reference. I use dsss for building and for a simple program this is the command it generates for rebuild:
> 
> /usr/local/bin/rebuild -Idsss_imports/ -I. -S./ -I/home/he/d/include/d -S/home/he/d/lib/  -I/usr/local/include/d -S/usr/local/lib -I/home/he/d/ include/d -S/home/he/d/lib  -oqdsss_objs/D -L-lgtk-x11-2.0 -L-lgdk- x11-2.0 -L-latk-1.0 -L-lgdk_pixbuf-2.0 -L-lgthread-2.0 -L-lm -L- lpangocairo-1.0 -L-lfontconfig -L-lXtst -L-lXext -L-lXrender -L-lXinerama -L-lXi -L-lXrandr -L-lXcursor -L-lXcomposite -L-lXdamage -L-lX11 -L- lXfixes -L-lpango-1.0 -L-lgobject-2.0 -L-lgmodule-2.0 -L-ldl -L-lglib-2.0 -L-lcairo -g -gc DrawingBoard.d -ofDrawingBoard
> 
> So my suggestion would be to install dsss for building the projects. If you do you can switch the default in the rebuild configuration directory to dmd-posix-tango And the -dc= flag might let you change it on compile.
Thanks Jesse,
The compiler command is :-
" [tytower@localhost misc]$ dmd ./hello.d gcc hello.o -o hello -m32
> -Xlinker -L/dmd/bin/../lib -lphobos -lpthread -lm hello.o "  which builds the object file OK

The problem seems to be in the linker
The program downloaded as   "DWT_for_D1.rar" and Frank mentions that in his post here
Anything else you can tell me ?

February 05, 2008
Ty Tower wrote:
> Jesse Phillips Wrote:
>  
>> If your trying to compile a dwt project from the now dwt ports, you will have to install Tango first. As for the compiling command, there are a lot of libraries to reference. I use dsss for building and for a simple program this is the command it generates for rebuild:
>>
>> /usr/local/bin/rebuild -Idsss_imports/ -I. -S./ -I/home/he/d/include/d -S/home/he/d/lib/  -I/usr/local/include/d -S/usr/local/lib -I/home/he/d/
>> include/d -S/home/he/d/lib  -oqdsss_objs/D -L-lgtk-x11-2.0 -L-lgdk-
>> x11-2.0 -L-latk-1.0 -L-lgdk_pixbuf-2.0 -L-lgthread-2.0 -L-lm -L-
>> lpangocairo-1.0 -L-lfontconfig -L-lXtst -L-lXext -L-lXrender -L-lXinerama -L-lXi -L-lXrandr -L-lXcursor -L-lXcomposite -L-lXdamage -L-lX11 -L-
>> lXfixes -L-lpango-1.0 -L-lgobject-2.0 -L-lgmodule-2.0 -L-ldl -L-lglib-2.0 -L-lcairo -g -gc DrawingBoard.d -ofDrawingBoard 
>>
>> So my suggestion would be to install dsss for building the projects. If you do you can switch the default in the rebuild configuration directory to dmd-posix-tango And the -dc= flag might let you change it on compile.
> 
>  
>> If your trying to compile a dwt project from the now dwt ports, you will have to install Tango first. As for the compiling command, there are a lot of libraries to reference. I use dsss for building and for a simple program this is the command it generates for rebuild:
>>
>> /usr/local/bin/rebuild -Idsss_imports/ -I. -S./ -I/home/he/d/include/d -S/home/he/d/lib/  -I/usr/local/include/d -S/usr/local/lib -I/home/he/d/
>> include/d -S/home/he/d/lib  -oqdsss_objs/D -L-lgtk-x11-2.0 -L-lgdk-
>> x11-2.0 -L-latk-1.0 -L-lgdk_pixbuf-2.0 -L-lgthread-2.0 -L-lm -L-
>> lpangocairo-1.0 -L-lfontconfig -L-lXtst -L-lXext -L-lXrender -L-lXinerama -L-lXi -L-lXrandr -L-lXcursor -L-lXcomposite -L-lXdamage -L-lX11 -L-
>> lXfixes -L-lpango-1.0 -L-lgobject-2.0 -L-lgmodule-2.0 -L-ldl -L-lglib-2.0 -L-lcairo -g -gc DrawingBoard.d -ofDrawingBoard 
>>
>> So my suggestion would be to install dsss for building the projects. If you do you can switch the default in the rebuild configuration directory to dmd-posix-tango And the -dc= flag might let you change it on compile.
> Thanks Jesse,
> The compiler command is :-
> " [tytower@localhost misc]$ dmd ./hello.d gcc hello.o -o hello -m32
>> -Xlinker -L/dmd/bin/../lib -lphobos -lpthread -lm hello.o "  which builds the object file OK
> 
> The problem seems to be in the linker
> The program downloaded as   "DWT_for_D1.rar" and Frank mentions that in his post here
> Anything else you can tell me ?
> 


I'm confused with what you are doing; it doesn't appear like you are are      working on the windows platform here (unless this is mingw bash shell).

Are you using Linux? If you are, dwt 3.02 does not work on linux at all.  The old dwt is and always was win32-only.

If you would like to try the new linux version (which is still alpha quality), please go here:

www.dsource.org/projects/dwt-linux

and follow the instructions for getting the source code (until we establish a system for packaging and serving it).

Also, feel free to ask more questions and discuss dwt in general in the digitalmars.d.dwt forum, if you like. :)

All the best,

JJR
February 05, 2008
John Reimer Wrote:

> I'm confused with what you are doing; it doesn't appear like you are are
>       working on the windows platform here (unless this is mingw bash
> shell).
> 
> Are you using Linux? If you are, dwt 3.02 does not work on linux at all.
>   The old dwt is and always was win32-only.
> 
> If you would like to try the new linux version (which is still alpha quality), please go here:
> 
> www.dsource.org/projects/dwt-linux
> 
> and follow the instructions for getting the source code (until we establish a system for packaging and serving it).
> 
> Also, feel free to ask more questions and discuss dwt in general in the digitalmars.d.dwt forum, if you like. :)
> 
> All the best,
> 
> JJR


John I am using Linux and I downloaded what appears to be a unix version as DWT_for_D1.rar  . Now it may be a windows version ,I don't know.

I can use either Tango or Phobos and am trying to compile each directories files in turn to get some sort of a widget type facility up and running for "D" use.

Now I saw the Mercurial site but after learning http,ftp,cvs,subversion etc. etc. I am not keen to have to spend the time to learn another one. They seem to be coming out monthly with new systems. I'm 62 and I want to get on with my project !!

Damn it I suppose I will have to go there .

Don't know of an out of the box widget program for "D" do you? I can't find one working and useable for  Linux


February 05, 2008
Ty Tower wrote:

> 
> John I am using Linux and I downloaded what appears to be a unix version as DWT_for_D1.rar  . Now it may be a windows version ,I don't know.
> 


Yes, that is the windows-only dwt.


> I can use either Tango or Phobos and am trying to compile each directories files in turn to get some sort of a widget type facility up and running for "D" use.
> 


Sorry, that won't work with the package you downloaded. :(


> Now I saw the Mercurial site but after learning http,ftp,cvs,subversion etc. etc. I am not keen to have to spend the time to learn another one. They seem to be coming out monthly with new systems. I'm 62 and I want to get on with my project !!
> 

I fully understand this and sympathize.  We need to get things cleaned up.  The DWT project is the process of a cleanup and reorganization to simplify (and unify) the whole DWT chain of projects.


> Damn it I suppose I will have to go there .
> 

:(

I'm sorry that it's not so easy at the moment; the new dwt is still early in it's development stage.  The linux version is available, but it's likely not in a state that would meet your needs.  Although we hope to make it so soon. :)


> Don't know of an out of the box widget program for "D" do you? I can't find one working and useable for  Linux
> 
> 


GtkD (also on dsource) is available... It should build and install using dsss.

You may like to try checking into wxD which is an wxWidgets binding for D:

http://wxd.sourceforge.net/

It appears to be supported for windows, linux, and Mac OS X.

Also have a look here for a list of different GUI libraries that are or were available for D:

http://www.prowiki.org/wiki4d/wiki.cgi?GuiLibraries

And... please keep an eye on dwt's status.  If all goes well, it should turn into an exciting cross-platform tool for D GUI development. :)

-JJR
February 05, 2008
Good stuff John

I attacked Mercurial -downloaded and compiled fine -used it to download dwt and I have it but then downloaded dsss and now I am stuck trying to figure out how to get dsss to configure ,make and install.

When I work that out I will try config,make and install dwt and see how it goes .
Will have a lookmat the others mentioned and I originally got the DWT from that page as being unix

Thanks Ty
February 05, 2008
Ty Tower wrote:
> Good stuff John
> 
> I attacked Mercurial -downloaded and compiled fine -used it to download dwt and I have it but then downloaded dsss and now I am stuck trying to figure out how to get dsss to configure ,make and install. 
> 
> When I work that out I will try config,make and install dwt and see how it goes .
> Will have a lookmat the others mentioned and I originally got the DWT from that page as being unix 
> 
> Thanks Ty 


Hmmm.... looks like we should add some dsss instructions to the wiki and the repository readme.

In the meantime, feel free to ask any questions in the dwt newsgroup, if you need help. There's also the dwt IRC if you are interested.

-JJR