Thread overview
Just outright stunninly confusing
Feb 12, 2008
Ty Tower
Feb 12, 2008
Jesse Phillips
Feb 13, 2008
Ty Tower
Feb 13, 2008
John Reimer
Feb 13, 2008
John Reimer
Feb 13, 2008
Ty Tower
Feb 13, 2008
Jesse Phillips
Feb 14, 2008
John Reimer
Feb 13, 2008
Ty Tower
February 12, 2008
You guys may understand what you are doing but others will not
Its a mess and as a priority , you need to re-organise it and get it understandable and give clear instructions for the use of what you want people to use and help with

I have 2 directories now
dwt-linux  and
dwt-linux -examples

Working in the examples directory it cant find files that are in dwt-linux directory
If these directories have to be combined in some way say so
I've asked it before - do I have to copy anything over to get examples to compile?
February 12, 2008
On Tue, 12 Feb 2008 15:39:03 -0500, Ty Tower wrote:

> You guys may understand what you are doing but others will not Its a mess and as a priority , you need to re-organise it and get it understandable and give clear instructions for the use of what you want people to use and help with
> 
> I have 2 directories now
> dwt-linux  and
> dwt-linux -examples
> 
> Working in the examples directory it cant find files that are in dwt-linux directory If these directories have to be combined in some way say so I've asked it before - do I have to copy anything over to get examples to compile?

dwt-linux and dwt-win are library projects. They require compilation into a library and then installation. What installation means depends on the platform used. Linux installation is placing the libraries into the appropriate system location for libraries, ie /usr/local/lib and /usr/ local/include. This process can be done by calling $ sudo dsss install. This will then allow projects from any location find the libraries when requested. There is no need for file renaming of any kind, and if this is how you resolve the problem then installation was not properly done.

Note that it is important to make sure tango is in fact installed correctly before using dwt. Also note that Frank and John have said that it currently is a mess and they hope to clean things up. The project is at very early stages of development and it is to be expected there will be problems. That is not to say that explaining your problems and trying to get help is bad, but there is no need to hurry them to making it easy to install when the project is still in alpha.
February 13, 2008
Ty Tower wrote:
> You guys may understand what you are doing but others will not
> Its a mess and as a priority , you need to re-organise it and get it understandable and give clear instructions for the use of what you want people to use and help with
> 
> I have 2 directories now
> dwt-linux  and dwt-linux -examples
> 
> Working in the examples directory it cant find files that are in dwt-linux directory If these directories have to be combined in some way say so
> I've asked it before - do I have to copy anything over to get examples to compile?


I understand your frustration.

First, I want to say this: none of dwt would be here without Frank's astonishing porting skills (and determination); I was way too slow at porting the main source so I pretty much had to stick to working out a solution for one internal (albeit important... or at least I keep telling myself that ;)) piece to the puzzle while Frank progressed full steam ahead on the rest of the library. It seems he developed some serious porting know-how through his previous attempts with tioport. I'm still dazzled by what he's done in such a short amount of time. Simply amazing.

So, right now, I'm pretty thankful we have what we got right now: two almost complete ports of dwt!  Wow! ... but that's what you'd see if you were looking at it from my perspective. :)

DWT does need to be seen as legitimate by the outside world (in this case the D Community). From the users perspective, I see a lot of things lacking, and I'm very hopeful and motivated to get these things straightened out.  I don't like knowing that this it extremely confusing to the user and my goal is to make it NOT so. You are absolutely right, Ty.  But like Jesse said, the project is still in its beginnings despite the looks of it. Please be patient with us as we try to get organized. :)

Things I'd like to see happen with the DWT project:

* A simple way to install the library for D users, with simple instructions.  This is important but difficult because D users do not always install dsss, tango, or dmd in the same way. Thus, one set of instructions are sure to bring about conflicts in unexpected ways. I would like to simplify this /somehow/, however, and make the process reliable.

* A better web presentation... I would love to see something in line with Tango's wiki. I don't have those kind of design skills, but perhaps enough interest will attract the talent necessary to do that.

* A DWT logo.  I'm impressed with Tango's logo.  I want DWT to look good too :).

* Someday... I dream of a Mac OS X port of DWT: having one would complete the picture for DWT meeting GUI development needs for the three major platforms.  All we need now is for someone to donate a Mac OS X laptop to Frank so he can work his wonders on that... ;)

* ... and we still need a JFace equivalent for DWT.

-JJR

February 13, 2008
Ty Tower wrote:
> You guys may understand what you are doing but others will not
> Its a mess and as a priority , you need to re-organise it and get it understandable and give clear instructions for the use of what you want people to use and help with
> 
> I have 2 directories now
> dwt-linux  and dwt-linux -examples
> 
> Working in the examples directory it cant find files that are in dwt-linux directory If these directories have to be combined in some way say so
> I've asked it before - do I have to copy anything over to get examples to compile?


I'm not sure I'm following all that's going on here.  Have you tried adding "-I../dwt-linux" to your dsss command line?  If dwt-linux is installed using dsss, then this addition is not necessary.  But if not, you will need to provide the path to dsss like so:

dsss build -I../dwt-linux

This assumes five things:

1) that you want to build all the examples

2) that dsss (version 0.75) is properly installed and setup to use dmd (version 1.025) and tango (svn version 3152)

3) that you type this command from the dwt-linux-examples directory you made

4) that dwt-linux is in the parent directory.

5) that you haven NOT done a "dsss build dwt" and "dsss install dwt" in the dwt-linux directory first. (If you did the dsss "build" and "install" then there would be no need to go to all this trouble, but sometimes there are unidentified conflicts due to dsss, dmd, and tango being setup/installed incorrectly by the user.)

This is the trouble with trying to learn/use four different technologies each with the potential to be setup incorrectly.  If dmd, tango, dsss, and dwt were all distributed together with a valid setup, I suppose these things wouldn't be an issue. Tango tries to fix this sort of problem with its release packages which include a pre-configured compiler and Tango library ready-to-go.

-JJR

February 13, 2008
John Reimer Wrote:

Thanks John . Trying to be constructive in my criticism to give a clear indication as to how a new user finds it

> I'm not sure I'm following all that's going on here.  Have you tried

> adding "-I../dwt-linux" to your dsss command line?  If dwt-linux is installed using dsss, then this addition is not necessary.  But if not, you will need to provide the path to dsss like so:
> 
> dsss build -I../dwt-linux
>
I built dwt-linux sucessfully I think with "dsss build" from the dwt-linux directory It built all the object files and reported no errors.

I then tried the same with "dwt-samples-8d49c4eb4800" which is how it downloaded .
Here I have got stuck with it compiling quite a lot of object files(mostly Tango stuff-47 in all) and then getting stuck looking for "-lXdamage"-below is the tail of the output.

d/lib -Xlinker -L/usr/bin/../lib -ltango-user-dmd -ltangobos -Xlinker -L/usr/bin/../lib -ltango-user-dmd -ltangobos -ltango-base-dmd -lpthread -lm
/usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libphobos.a(linux.o):(.data+0x0): multiple definition of `MAP_FAILED'
dsss_objs/D/tango.stdc.posix.sys.mman.o:(.data+0x1c): first defined here
/usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libphobos.a(linux.o):(.data+0x4): multiple definition of `FD_SETSIZE'
dsss_objs/D/tango.stdc.posix.sys.select.o:(.data+0x4): first defined here
/usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libphobos.a(linux.o):(.data+0xc): multiple definition of `RTLD_NOW'
dsss_objs/D/tango.stdc.posix.dlfcn.o:(.data+0x4): first defined here
/usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libphobos.a(linux.o):(.data+0x10): multiple definition of `_SIGSET_NWORDS'
dsss_objs/D/tango.stdc.posix.signal.o:(.data+0x40): first defined here
/usr/bin/ld: cannot find -lXdamage
collect2: ld returned 1 exit status
--- errorlevel 1
Command /usr/bin/rebuild returned with code 65280, aborting. Error: Command failed, aborting.

So the build won't compile.

From your post

> This assumes five things:
> 
> 1) that you want to build all the examples
> 
Yes I do

> 2) that dsss (version 0.75) is properly installed and setup to use dmd (version 1.025) and tango (svn version 3152)
> 
Just so

> 3) that you type this command from the dwt-linux-examples directory you made
> 
Yes
> 4) that dwt-linux is in the parent directory.
> 
Yes -up one  however examples is not a sub-directory of dwt-linux - Should it be?

> 5) that you haven NOT done a "dsss build dwt" and "dsss install dwt" in the dwt-linux directory first. (If you did the dsss "build" and "install" then there would be no need to go to all this trouble, but sometimes there are unidentified conflicts due to dsss, dmd, and tango being setup/installed incorrectly by the user.

I did go back and try this to no avail except I think a couple of extra files were made in dwt
February 13, 2008
I moved samples into the dwt-linux directory and tried again with an identical result
February 13, 2008
Jesse Phillips Wrote:
> dwt-linux and dwt-win are library projects. They require compilation into a library and then installation. What installation means depends on the platform used. Linux installation is placing the libraries into the appropriate system location for libraries, ie /usr/local/lib and /usr/ local/include. This process can be done by calling $ sudo dsss install. This will then allow projects from any location find the libraries when requested. There is no need for file renaming of any kind, and if this is how you resolve the problem then installation was not properly done.
> 
> Note that it is important to make sure tango is in fact installed correctly before using dwt. Also note that Frank and John have said that it currently is a mess and they hope to clean things up. The project is at very early stages of development and it is to be expected there will be problems. That is not to say that explaining your problems and trying to get help is bad, but there is no need to hurry them to making it easy to install when the project is still in alpha.

Alright Jesse . That's fine Please read my post replying to John
I have been warned and am here as an experimenter. Can't experiment until I can get the examples compiled and this seems to be an internal issue that needs resolution.

The backside licking approach is not going to get me any further along . I am giving a users impression which is what all new projects need. No?

February 13, 2008
On Wed, 13 Feb 2008 16:57:59 -0500, Ty Tower wrote:

> John Reimer Wrote:
> 
> Thanks John . Trying to be constructive in my criticism to give a clear indication as to how a new user finds it
> 
>> I'm not sure I'm following all that's going on here.  Have you tried
> 
>> adding "-I../dwt-linux" to your dsss command line?  If dwt-linux is installed using dsss, then this addition is not necessary.  But if not, you will need to provide the path to dsss like so:
>> 
>> dsss build -I../dwt-linux
>>
> I built dwt-linux sucessfully I think with "dsss build" from the dwt-linux directory It built all the object files and reported no errors.
> 
> I then tried the same with "dwt-samples-8d49c4eb4800" which is how it downloaded . Here I have got stuck with it compiling quite a lot of object files(mostly Tango stuff-47 in all) and then getting stuck looking for "-lXdamage"-below is the tail of the output.
> 
> d/lib -Xlinker -L/usr/bin/../lib -ltango-user-dmd -ltangobos -Xlinker
> -L/usr/bin/../lib -ltango-user-dmd -ltangobos -ltango-base-dmd -lpthread
> -lm
> /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libphobos.a
(linux.o):(.data+0x0):
> multiple definition of `MAP_FAILED' dsss_objs/D/tango.stdc.posix.sys.mman.o:(.data+0x1c): first defined here /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libphobos.a
(linux.o):(.data+0x4):
> multiple definition of `FD_SETSIZE' dsss_objs/D/tango.stdc.posix.sys.select.o:(.data+0x4): first defined here /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libphobos.a
(linux.o):(.data+0xc):
> multiple definition of `RTLD_NOW' dsss_objs/D/tango.stdc.posix.dlfcn.o:(.data+0x4): first defined here /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libphobos.a
(linux.o):(.data+0x10):
> multiple definition of `_SIGSET_NWORDS'
> dsss_objs/D/tango.stdc.posix.signal.o:(.data+0x40): first defined here
> /usr/bin/ld: cannot find -lXdamage
> collect2: ld returned 1 exit status
> --- errorlevel 1
> Command /usr/bin/rebuild returned with code 65280, aborting. Error: Command failed, aborting.
> 
> So the build won't compile.
> 
> From your post
> 
>> This assumes five things:
>> 
>> 1) that you want to build all the examples
>> 
> Yes I do
> 
>> 2) that dsss (version 0.75) is properly installed and setup to use dmd
>> (version 1.025) and tango (svn version 3152)
>> 
> Just so
> 
>> 3) that you type this command from the dwt-linux-examples directory you made
>> 
> Yes
>> 4) that dwt-linux is in the parent directory.
>> 
> Yes -up one  however examples is not a sub-directory of dwt-linux - Should it be?
> 
>> 5) that you haven NOT done a "dsss build dwt" and "dsss install dwt" in the dwt-linux directory first. (If you did the dsss "build" and "install" then there would be no need to go to all this trouble, but sometimes there are unidentified conflicts due to dsss, dmd, and tango being setup/installed incorrectly by the user.
> 
> I did go back and try this to no avail except I think a couple of extra files were made in dwt

Your error is occurring from having phobos installed. Check in /etc/ and remove any dmd.conf files. It is likely that this file is pointing to Phobos. If you wish you may also want to make sure that /usr/local/bin (or where the dmd executable has been installed) has a dmd.conf file that point to tango libraries.
February 14, 2008
Ty Tower wrote:
> John Reimer Wrote:
> 
> Thanks John . Trying to be constructive in my criticism to give a clear indication as to how a new user finds it 
> 
>> I'm not sure I'm following all that's going on here.  Have you tried 
> 
>> adding "-I../dwt-linux" to your dsss command line?  If dwt-linux is installed using dsss, then this addition is not necessary.  But if not, you will need to provide the path to dsss like so:
>>
>> dsss build -I../dwt-linux
>>
> I built dwt-linux sucessfully I think with "dsss build" from the dwt-linux directory
> It built all the object files and reported no errors.
> 
> I then tried the same with "dwt-samples-8d49c4eb4800" which is how it downloaded .
> Here I have got stuck with it compiling quite a lot of object files(mostly Tango stuff-47 in all) and then getting stuck looking for "-lXdamage"-below is the tail of the output.
> 
> d/lib -Xlinker -L/usr/bin/../lib -ltango-user-dmd -ltangobos -Xlinker -L/usr/bin/../lib -ltango-user-dmd -ltangobos -ltango-base-dmd -lpthread -lm
> /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libphobos.a(linux.o):(.data+0x0): multiple definition of `MAP_FAILED'
> dsss_objs/D/tango.stdc.posix.sys.mman.o:(.data+0x1c): first defined here
> /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libphobos.a(linux.o):(.data+0x4): multiple definition of `FD_SETSIZE'
> dsss_objs/D/tango.stdc.posix.sys.select.o:(.data+0x4): first defined here
> /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libphobos.a(linux.o):(.data+0xc): multiple definition of `RTLD_NOW'
> dsss_objs/D/tango.stdc.posix.dlfcn.o:(.data+0x4): first defined here
> /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libphobos.a(linux.o):(.data+0x10): multiple definition of `_SIGSET_NWORDS'
> dsss_objs/D/tango.stdc.posix.signal.o:(.data+0x40): first defined here
> /usr/bin/ld: cannot find -lXdamage
> collect2: ld returned 1 exit status
> --- errorlevel 1
> Command /usr/bin/rebuild returned with code 65280, aborting.
> Error: Command failed, aborting.
> 
> So the build won't compile.
> 

Firstly, it does look like your installation is looking at an extraneous libphobos.a.  When you install Tango, you may have to make sure that all old phobos libraries are removed from your system.

On my linux system, I do not install my compilers or libraries at the system level (/usr/bin, /usr/lib, or /etc). I regard doing so as "polluting" the system (unless these libraries and binaries are in an official distribution package).  I much prefer installing the binaries and libraries "per user" in /home/<username>/bin and /home/<username>/lib etc.  This keeps all problems local, and this, for me at least, is much easier to troubleshoot. If you are interested, I can try to outline for you how my system is setup so you can try the same?

Secondly, make sure that your tango installation is working correctly before you try to compile the dwt examples.  Merely building the dwt.lib will not verify correct tango installation because doing so does not enter the link phase.  Please make sure Tango is correctly installed by first testing that the Tango examples build and link (see tango/example directory).  If they do not, then this is a Tango issue for you, and you should ask for support in the Tango forums to get this fixed before experimenting with dwt.

I know you prefer not to use IRC, but I remind you again that you will probably find lots of troubleshooting help in real time there (especially for Tango).  However, I'm willing to try to fix the DWT side of things in this newsgroup, if you prefer, but I encourage you to tap any troubleshooting resource available to you to get your problems resolved.  My time is limited, and I can only check this newsgroup periodically.

-JJR