www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.dwt - DWT information, requirements and installation

reply doob <doobnet gmail.com> writes:
I added a new page on every DWT wiki, dwt-win, dwt-linux, dwt-samples 
and dwt-addons in hope of that it would help people to get dwt working 
on their systems.

For example: http://www.dsource.org/projects/dwt-win/wiki/Installation
Feb 14 2008
parent reply Ty Tower <tytower hotmail.com.au> writes:
Good doob, I thought I would see if I can get any clues from this as to why my
installation is not working.
Tango seems to be working and the dmd.conf files are both correct and in the
right place.

So I tried building it with the command "dmd main.d" and got errrors as below

bash: TMOUT: readonly variable

[tytower linuxbox dwt-linux]$ dmd main.d
gcc main.o -o main -m32 -Xlinker -L/usr/bin/../lib -ltango-user-dmd
-ltango-base-dmd -lpthread -lm
main.o:(.data+0x38): undefined reference to
`_D3dwt7widgets7Display12__ModuleInfoZ'
main.o:(.data+0x3c): undefined reference to
`_D3dwt7widgets5Shell12__ModuleInfoZ'
main.o: In function `_Dmain':
main.d:(.text._Dmain+0x8): undefined reference to
`_D3dwt7widgets7Display7Display7__ClassZ'
main.d:(.text._Dmain+0x13): undefined reference to
`_D3dwt7widgets7Display7Display5_ctorMFZC3dwt7widgets7Display7Display'
main.d:(.text._Dmain+0x1b): undefined reference to
`_D3dwt7widgets5Shell5Shell7__ClassZ'
main.d:(.text._Dmain+0x29): undefined reference to
`_D3dwt7widgets5Shell5Shell5_ctorMFC3dwt7widgets7Display7DisplayZC3dwt7widgets5Shell5Shell'
collect2: ld returned 1 exit status
--- errorlevel 1


So I thought I would try the "dsss build main.d" just in case and this gave me 

[tytower linuxbox dwt-linux]$ dsss build main.d
Default prefix /usr is unwritable, using /home/tytower/d instead.
main.d is not described in the configuration file.

so I changed to su and so 

[tytower linuxbox dwt-linux]$ su
Password:

main.d is not described in the configuration file.

Hmm , so where now ?
Does this give anybody any clues?
Feb 14 2008
next sibling parent reply Jesse Phillips <jessekphillips gmail.com> writes:
On Fri, 15 Feb 2008 00:28:21 -0500, Ty Tower wrote:

 Good doob, I thought I would see if I can get any clues from this as to
 why my installation is not working. Tango seems to be working and the
 dmd.conf files are both correct and in the right place.
 
 So I tried building it with the command "dmd main.d" and got errrors as
 below
 
 bash: TMOUT: readonly variable
 
 [tytower linuxbox dwt-linux]$ dmd main.d gcc main.o -o main -m32
 -Xlinker -L/usr/bin/../lib -ltango-user-dmd -ltango-base-dmd -lpthread
 -lm main.o:(.data+0x38): undefined reference to
 `_D3dwt7widgets7Display12__ModuleInfoZ' main.o:(.data+0x3c): undefined
 reference to `_D3dwt7widgets5Shell12__ModuleInfoZ' main.o: In function
 `_Dmain':
 main.d:(.text._Dmain+0x8): undefined reference to
 `_D3dwt7widgets7Display7Display7__ClassZ' main.d:(.text._Dmain+0x13):
 undefined reference to
 `_D3dwt7widgets7Display7Display5_ctorMFZC3dwt7widgets7Display7Display'
 main.d:(.text._Dmain+0x1b): undefined reference to
 `_D3dwt7widgets5Shell5Shell7__ClassZ' main.d:(.text._Dmain+0x29):
 undefined reference to
 
`_D3dwt7widgets5Shell5Shell5_ctorMFC3dwt7widgets7Display7DisplayZC3dwt7widgets5Shell5Shell'
 collect2: ld returned 1 exit status
 --- errorlevel 1
 
 
 So I thought I would try the "dsss build main.d" just in case and this
 gave me
 
 [tytower linuxbox dwt-linux]$ dsss build main.d Default prefix /usr is
 unwritable, using /home/tytower/d instead. main.d is not described in
 the configuration file.
 
 so I changed to su and so
 
 [tytower linuxbox dwt-linux]$ su
 Password:

 the configuration file.
 
 Hmm , so where now ?
 Does this give anybody any clues?
I assume this is a program you wrote? Either way doesn't matter, your missing a dsss.conf file which should have these lines. [main.d] buildflags+= -L-lDD-tango-util then do your dsss build. Your building in Linux right?
Feb 14 2008
next sibling parent Ty Tower <tytower hotmail.com.au> writes:
Jesse Phillips Wrote:

 I assume this is a program you wrote? Either way doesn't matter, your 
 missing a dsss.conf file which should have these lines.
 
Its a demo program copied from doob's new page as per previous post
 [main.d]
 buildflags+= -L-lDD-tango-util
 
 then do your dsss build. Your building in Linux right? 
Linux is right . I have a dss.conf file in the directorywhich is dwt-linux but all it has in it is [dwt] type=library Ill try that anyway
Feb 15 2008
prev sibling next sibling parent Ty Tower <tytower hotmail.com.au> writes:
Jesse Phillips Wrote:

 I assume this is a program you wrote? Either way doesn't matter, your 
 missing a dsss.conf file which should have these lines.
 
Its a demo program copied from doob's new page as per previous post
 [main.d]
 buildflags+= -L-lDD-tango-util
 
 then do your dsss build. Your building in Linux right? 
Linux is right . I have a dss.conf file in the directorywhich is dwt-linux but all it has in it is [dwt] type=library Ill try that anyway
Feb 15 2008
prev sibling next sibling parent Ty Tower <tytower hotmail.com.au> writes:
Jesse Phillips Wrote:
 [main.d]
 buildflags+= -L-lDD-tango-util
 
 then do your dsss build. Your building in Linux right? 
Well that was a waste of time -I put the suggested in the dsss;conf file I have and it promptly deleted the libraray I had compiled titled "libDD-dwt.a" and then had the same hang up trying to compile it again with "main.d" tagged on .
Feb 15 2008
prev sibling parent reply Ty Tower <tytower hotmail.com.au> writes:
I tried putting my trial stuff in a separate directory "myStuff" as a directory
in "dwt-linux"
and made a new dsss.conf file with Jesse's stuff in it but no change 

I wonder how much thought you put into your posts before you type
Feb 15 2008
parent reply Frank Benoit <keinfarbton googlemail.com> writes:
Ty Tower schrieb:
 I wonder how much thought you put into your posts before you type
Ask yourself about your own postings. Please stay polite. Its really hard to help with all that weird information you give. Permission problems, then you copy and rename files wildly. Sometimes you use dmd directly then again dsss. Did you install the lib or not in all your experiments, hm. Perhaps it would be good if you start all over. And describe all you do, covering installation of dmd, dsss, tango. Paths, env variables and so on. then about dwt and what you try to do. This would help to help you.
Feb 15 2008
next sibling parent John Reimer <terminal.node gmail.com> writes:
Frank Benoit wrote:
 Ty Tower schrieb:
 I wonder how much thought you put into your posts before you type
Ask yourself about your own postings. Please stay polite. Its really hard to help with all that weird information you give. Permission problems, then you copy and rename files wildly. Sometimes you use dmd directly then again dsss. Did you install the lib or not in all your experiments, hm. Perhaps it would be good if you start all over. And describe all you do, covering installation of dmd, dsss, tango. Paths, env variables and so on. then about dwt and what you try to do. This would help to help you.
I have to agree with Frank on this. Right now, we've been guessing at what you've done without knowledge of how you've set things up (other than bits and pieces of information). In order to help you, we will need every detail of your D installation from start to finish. That's the only way to catch a hint of what is causing the problem. The likelihood is that it has less to do with dwt than you might expect. Also, I don't believe you answered my question whether or not you can build and run the Tango examples correctly. Did you try that? Please list: * Your Operating System (distribution and version) * Your dmd version * Your Tango version * Your dsss version * Where and how you installed each of these tools (/usr/bin ?) * Whether or not you have installed gdc (and where) * Where you have installed your Tango library (/usr/lib etc). * Whether or not you have left libphobos.a installed somewhere (the Phobos library may still be left in the lib directory). * Any other possible information related to any of the above, and the steps you made to execute them. After that, we can discuss how to test that dsss and Tango are installed correctly. Finally, we can start testing a dwt library build and then a dwt example build and link. -JJR
Feb 15 2008
prev sibling next sibling parent Ty Tower <tytower hotmail.com.au> writes:
Frank Benoit Wrote:

 Ty Tower schrieb:
 I wonder how much thought you put into your posts before you type
Ask yourself about your own postings. Please stay polite. Its really hard to help with all that weird information you give. Permission problems, then you copy and rename files wildly. Sometimes you use dmd directly then again dsss. Did you install the lib or not in all your experiments, hm. Perhaps it would be good if you start all over. And describe all you do, covering installation of dmd, dsss, tango. Paths, env variables and so on. then about dwt and what you try to do. This would help to help you.
Err I'm thinking the same about you as to how much time you spend considering the content of the post and how much time justifying what you have done so far. The "weird" data I give is the output of the terminal in case anybody really wants to think about it and try to suggest fixes . I use dmd to compile the programs I am writing or at least trying to write. You and your colleagues suggest getting and using dsss and do not provide a traditional linux makefile for a normal make,install approach There is nothing difficult to follow in my posts . As much info as I think people might need to answer my query is collected first and after many trys I then post it. I have wiped the lot and redone everything from original download 3 yes three times . I will tell you again it is a mess from an outsiders point of view and although you admit such I say again give some priority to getting clear working instructions for downloading and installing this if you want other people to come help. The permission "problem" you mention was in one post I ommitted to change to su . Which I considered rather obvious and barely rates for a mention. If you have to mention it you are telling me you are trying to pick at my posts to justify your own inadequacy on the job . It would be far better if you are going to post back ,you read and coscider the material and post something usual. There is a major problem with your examples project which I am trying to isolate . It is not my download and install ,they have gone flawlessly . The problem is in the dwt-examples which won't compile. Thats the only area left which I have not achieved. When I get it going I can then contribute. Doobs work above is good . Jesses post indicates he had not even read the originating post above. So he went straight for my post by name . That tells me whats going on.
Feb 15 2008
prev sibling parent reply Ty Tower <tytower hotmail.com.au> writes:
Just to demonstrate ,this is the output I get trying to compile doobs example
at the start of this thread. So surely the output suggests whats missing or
what the compiler is looking for? I am not familiar with the inner workings 
and what the undefined references mean but surely the command line out would
tell someone experienced whether it is getting it right?      "gcc main.o
........... -lm "


[tytower linuxbox dwt-linux]$ dmd MyStuff/main.d
gcc main.o -o main -m32 -Xlinker -L/usr/bin/../lib -ltango-user-dmd
-ltango-base-dmd -lpthread -lm
main.o:(.data+0x38): undefined reference to
`_D3dwt7widgets7Display12__ModuleInfoZ'
main.o:(.data+0x3c): undefined reference to
`_D3dwt7widgets5Shell12__ModuleInfoZ'
main.o: In function `_Dmain':
MyStuff/main.d:(.text._Dmain+0x8): undefined reference to
`_D3dwt7widgets7Display7Display7__ClassZ'
MyStuff/main.d:(.text._Dmain+0x13): undefined reference to
`_D3dwt7widgets7Display7Display5_ctorMFZC3dwt7widgets7Display7Display'
MyStuff/main.d:(.text._Dmain+0x1b): undefined reference to
`_D3dwt7widgets5Shell5Shell7__ClassZ'
MyStuff/main.d:(.text._Dmain+0x29): undefined reference to
`_D3dwt7widgets5Shell5Shell5_ctorMFC3dwt7widgets7Display7DisplayZC3dwt7widgets5Shell5Shell'
collect2: ld returned 1 exit status
--- errorlevel 1
Feb 15 2008
next sibling parent reply torhu <no spam.invalid> writes:
Ty Tower wrote:
 Just to demonstrate ,this is the output I get trying to compile doobs example
at the start of this thread. So surely the output suggests whats missing or
what the compiler is looking for? I am not familiar with the inner workings 
and what the undefined references mean but surely the command line out would
tell someone experienced whether it is getting it right?      "gcc main.o
........... -lm "
 
 
 [tytower linuxbox dwt-linux]$ dmd MyStuff/main.d
 gcc main.o -o main -m32 -Xlinker -L/usr/bin/../lib -ltango-user-dmd
-ltango-base-dmd -lpthread -lm
 main.o:(.data+0x38): undefined reference to
`_D3dwt7widgets7Display12__ModuleInfoZ'
 main.o:(.data+0x3c): undefined reference to
`_D3dwt7widgets5Shell12__ModuleInfoZ'
 main.o: In function `_Dmain':
 MyStuff/main.d:(.text._Dmain+0x8): undefined reference to
`_D3dwt7widgets7Display7Display7__ClassZ'
 MyStuff/main.d:(.text._Dmain+0x13): undefined reference to
`_D3dwt7widgets7Display7Display5_ctorMFZC3dwt7widgets7Display7Display'
 MyStuff/main.d:(.text._Dmain+0x1b): undefined reference to
`_D3dwt7widgets5Shell5Shell7__ClassZ'
 MyStuff/main.d:(.text._Dmain+0x29): undefined reference to
`_D3dwt7widgets5Shell5Shell5_ctorMFC3dwt7widgets7Display7DisplayZC3dwt7widgets5Shell5Shell'
 collect2: ld returned 1 exit status
 --- errorlevel 1
 
All the missing symbols are from DWT, since they all start with '_D3dwt'. So you need to build dwt, and then link with it. Or you can use dsss, which allows you to skip building dwt: dsss build main.d If everything is set up correctly, that command will compile the needed dwt modules, and link them all into the executable. That's what I do on linux myself currently.
Feb 15 2008
parent Ty Tower <tytower hotmail.com.au> writes:
torhu Wrote:
 All the missing symbols are from DWT, since they all start with 
 '_D3dwt'.  So you need to build dwt, and then link with it.
 
 Or you can use dsss, which allows you to skip building dwt:
 
 dsss build main.d
 
 If everything is set up correctly, that command will compile the needed 
 dwt modules, and link them all into the executable.  That's what I do on 
 linux myself currently.
Ok torhu I have built dwt and installed it, as far as I am aware ,as I was told to. I have compiled a small program of my own with that and received a working executeable with that approach. I must look into this dsss build and the configuration files some more and back at dwt Thanks
Feb 16 2008
prev sibling parent Jesse Phillips <jessekphillips gmail.com> writes:
On Fri, 15 Feb 2008 15:35:00 -0500, Ty Tower wrote:

 Just to demonstrate ,this is the output I get trying to compile doobs
 example at the start of this thread. So surely the output suggests whats
 missing or what the compiler is looking for? I am not familiar with the
 inner workings  and what the undefined references mean but surely the
 command line out would tell someone experienced whether it is getting it
 right?      "gcc main.o ........... -lm "
 
 
 [tytower linuxbox dwt-linux]$ dmd MyStuff/main.d gcc main.o -o main -m32
 -Xlinker -L/usr/bin/../lib -ltango-user-dmd -ltango-base-dmd -lpthread
 -lm main.o:(.data+0x38): undefined reference to
 `_D3dwt7widgets7Display12__ModuleInfoZ' main.o:(.data+0x3c): undefined
 reference to `_D3dwt7widgets5Shell12__ModuleInfoZ' main.o: In function
 `_Dmain':
 MyStuff/main.d:(.text._Dmain+0x8): undefined reference to
 `_D3dwt7widgets7Display7Display7__ClassZ'
 MyStuff/main.d:(.text._Dmain+0x13): undefined reference to
 `_D3dwt7widgets7Display7Display5_ctorMFZC3dwt7widgets7Display7Display'
 MyStuff/main.d:(.text._Dmain+0x1b): undefined reference to
 `_D3dwt7widgets5Shell5Shell7__ClassZ'
 MyStuff/main.d:(.text._Dmain+0x29): undefined reference to
 
`_D3dwt7widgets5Shell5Shell5_ctorMFC3dwt7widgets7Display7DisplayZC3dwt7widgets5Shell5Shell'
 collect2: ld returned 1 exit status
 --- errorlevel 1
I will begin by telling you what this output is telling you, after which I will respond to your other post, and then go into explanations for both me and "my colleagues" as to what brought us to our suggestions and assumptions we made during suggestion. Your current compilation is telling you that it was not able to find the dwt libraries for witch to compile. The error has come about because you called dmd without providing the appropriate linker flags that will tell gcc what to link in. It also says that you have an older version of Tango, you need to use the SVN repository version now which does not use - ltango-user-dmd. "The 'weird' data I give is the output of the terminal in case anybody really wants to think about it and try to suggest fixes." The weird information that was referred is not compiler output, but inconsistent information that you provide. IE Frank gave you instrutions on installation: http://www.digitalmars.com/webnews/newsgroups.php? art_group=digitalmars.D.dwt&article_id=639 $ dsss build dwt $ dsss install dwt in dwt-samples dir do: $ dsss build dwtexamples/helloworld/HelloWorld1.d Your response: got this back on both "dsss build" and "dsss build dwtexamples/helloworld/HelloWorld1.d" This leads us to conclude you missed step 2 $ dsss install dwt In a later post you write, "I have also found the file /dsss/rebuild.conf/ default and changed its contents to 'dmd-linux-tango'" http://www.digitalmars.com/webnews/newsgroups.php? art_group=digitalmars.D.dwt&article_id=647 This is odd as I know of no such file and am unable to find it. Also it would suggest that dsss is installed incorrectly, it should not be in the root directory (and will not install itself there). However in either case, dsss seems to be working an thus this can be elegantly ignored. "I use dmd to compile the programs I am writing or at least trying to write. You and your colleagues suggest getting and using dsss and do not provide a traditional linux makefile for a normal make,install approach" There is a good reason we suggest dsss over creating a makefile. Makefiles are blotted, not platform independent. DSSS does a great job of automation, but still needs some kinks worked out. Lastly using dmd will fail unless you successfully add all the needed linker commands. "There is a major problem with your examples project which I am trying to isolate . It is not my download and install ,they have gone flawlessly . The problem is in the dwt-examples which won't compile. Thats the only area left which I have not achieved." The examples compile for other users of the project. This leads to only one conclusion, your system has not been fully configured. In fact, most of your posted problems aren't even compiler errors, but instead linker errors. These linker errors are caused from not finding the needed files, ie the files are not installed correctly. "Jesses post indicates he had not even read the originating post above. So he went straight for my post by name . That tells me whats going on." This is true I did not read doob's installation instructions my install already worked. I also apparently did not look over the output as closely as I should have, but instead I when with the command you called. Had I looked closer I would have been able to point out the clues of incorrect Tango version. I would now like to refer back to a previous help of mine where I had been in another error. http://www.digitalmars.com/webnews/newsgroups.php? art_group=digitalmars.D.dwt&article_id=636 I was saying that the samples worked in linux and did not know what the imports were for. This was related to a big change in the structure of Tango that I had not yet been introduced to. This has not only led to me not following some of the errors, but after having resolved the problems on my computer I have gotten a better idea of what should happen during compile and what shouldn't. So I would like to recap on what you should try next. Install the latest svn Tango, this my require uninstalling the current one.
Feb 15 2008
prev sibling parent doob <doobnet gmail.com> writes:
Ty Tower wrote:
 Good doob, I thought I would see if I can get any clues from this as to why my
installation is not working.
 Tango seems to be working and the dmd.conf files are both correct and in the
right place.
 
 So I tried building it with the command "dmd main.d" and got errrors as below
 
 bash: TMOUT: readonly variable
 
 [tytower linuxbox dwt-linux]$ dmd main.d
 gcc main.o -o main -m32 -Xlinker -L/usr/bin/../lib -ltango-user-dmd
-ltango-base-dmd -lpthread -lm
 main.o:(.data+0x38): undefined reference to
`_D3dwt7widgets7Display12__ModuleInfoZ'
 main.o:(.data+0x3c): undefined reference to
`_D3dwt7widgets5Shell12__ModuleInfoZ'
 main.o: In function `_Dmain':
 main.d:(.text._Dmain+0x8): undefined reference to
`_D3dwt7widgets7Display7Display7__ClassZ'
 main.d:(.text._Dmain+0x13): undefined reference to
`_D3dwt7widgets7Display7Display5_ctorMFZC3dwt7widgets7Display7Display'
 main.d:(.text._Dmain+0x1b): undefined reference to
`_D3dwt7widgets5Shell5Shell7__ClassZ'
 main.d:(.text._Dmain+0x29): undefined reference to
`_D3dwt7widgets5Shell5Shell5_ctorMFC3dwt7widgets7Display7DisplayZC3dwt7widgets5Shell5Shell'
 collect2: ld returned 1 exit status
 --- errorlevel 1
 
 
 So I thought I would try the "dsss build main.d" just in case and this gave me 
 
 [tytower linuxbox dwt-linux]$ dsss build main.d
 Default prefix /usr is unwritable, using /home/tytower/d instead.
 main.d is not described in the configuration file.
 
 so I changed to su and so 
 
 [tytower linuxbox dwt-linux]$ su
 Password:

 main.d is not described in the configuration file.
 
 Hmm , so where now ?
 Does this give anybody any clues?
 
 
Put "main.d" in a completely different directory than dwt-linux. Preferable in a new empty directory. I noticed I have to update the instructions.
Feb 15 2008