www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.dwt - Just outright stunninly confusing

reply Ty Tower <tytower hotmail.com.au> writes:
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?
Feb 12 2008
next sibling parent reply Jesse Phillips <jessekphillips gmail.com> writes:
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.
Feb 12 2008
parent Ty Tower <tytower hotmail.com.au> writes:
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?
Feb 13 2008
prev sibling next sibling parent John Reimer <terminal.node gmail.com> writes:
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
Feb 12 2008
prev sibling parent reply John Reimer <terminal.node gmail.com> writes:
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
Feb 12 2008
next sibling parent reply Ty Tower <tytower hotmail.com.au> writes:
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

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(l nux.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(l nux.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(l nux.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(li ux.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
 

 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.

I did go back and try this to no avail except I think a couple of extra files were made in dwt
Feb 13 2008
parent John Reimer <terminal.node gmail.com> writes:
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

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(l nux.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(l nux.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(l nux.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(li ux.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
Feb 13 2008
prev sibling next sibling parent Ty Tower <tytower hotmail.com.au> writes:
I moved samples into the dwt-linux directory and tried again with an identical
result
Feb 13 2008
prev sibling parent Jesse Phillips <jessekphillips gmail.com> writes:
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

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

 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

 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

 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

 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
 

 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.
 

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.
Feb 13 2008