www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - DSSS 0.73 released.

reply Gregor Richards <Richards codu.org> writes:
DSSS, the D Shared Software System, is a tool to ease the building, 
installation, configuration and acquisition of D software.

0.73 was supposed to have one or two more features (sorry BCS :( ), but 
I have less free time than I had anticipated. So, I had to cut it off. 
The changelog:
         - Rebuild: Merged DMD 2.003.
         - Improved incremental build speed.
         - Fixed excludes to work with a larger variety of paths (see 
ticket #126).
         - Added a warning for targets containing no files.
         - Fixed a hang in rebuild with unmatched braces (see ticket #129).
         - Object files are now put in compiler-specific directories (see
           ticket #128).
         - installdir hook command now manifests properly.
         - 'include' setting, counter to 'exclude' (see ticket #111).
         - Now throws an exception if a hook command fails, rather than
           exiting. This allows DSSS to clean up after itself more 
effectively.

Note that 2.0 support is not extensively tested (my primary platform is 
GDC), but it did compile some simple tests.

As per usual, more information and downloads are available at 
http://www.dsource.org/projects/dsss/

  - Gregor Richards
Oct 09 2007
next sibling parent Gregor Richards <Richards codu.org> writes:
Gregor Richards wrote:
 Note that 2.0 support is not extensively tested (my primary platform is 
 GDC), but it did compile some simple tests.
 

For those who haven't followed my announcements, they all have the same template ... I seem to have copy/pasted a bit too much, that's from the announcement for 0.72.1 ;) - Gregor Richards
Oct 09 2007
prev sibling next sibling parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Gregor Richards wrote:
 DSSS, the D Shared Software System, is a tool to ease the building, 
 installation, configuration and acquisition of D software.
 
 0.73 was supposed to have one or two more features (sorry BCS :( ), but 
 I have less free time than I had anticipated. So, I had to cut it off. 
 The changelog:
         - Rebuild: Merged DMD 2.003.
         - Improved incremental build speed.
         - Fixed excludes to work with a larger variety of paths (see 
 ticket #126).
         - Added a warning for targets containing no files.
         - Fixed a hang in rebuild with unmatched braces (see ticket #129).
         - Object files are now put in compiler-specific directories (see
           ticket #128).
         - installdir hook command now manifests properly.
         - 'include' setting, counter to 'exclude' (see ticket #111).
         - Now throws an exception if a hook command fails, rather than
           exiting. This allows DSSS to clean up after itself more 
 effectively.
 
 Note that 2.0 support is not extensively tested (my primary platform is 
 GDC), but it did compile some simple tests.
 
 As per usual, more information and downloads are available at 
 http://www.dsource.org/projects/dsss/
 
  - Gregor Richards

Hooray! I was beginning to worry we'd seen the last of you. :-) I'm particularly happy about fix #129. That one gets me about 10 times a day recently. And I'm looking forward to playing with the 'include' directive. --bb
Oct 09 2007
parent Gregor Richards <Richards codu.org> writes:
Bill Baxter wrote:
 Hooray!  I was beginning to worry we'd seen the last of you. :-)
 

As it turns out, school + work + graduate applications and tests + projects = 36 hours a day :) - Gregor Richards
Oct 09 2007
prev sibling next sibling parent reply BCS <ao pathlink.com> writes:
Reply to Gregor,

 DSSS, the D Shared Software System, is a tool to ease the building,
 installation, configuration and acquisition of D software.
 
 0.73 was supposed to have one or two more features (sorry BCS :( ),

LOL, it's nice to know I'm a driving force in somthing. <G> While I'm thinking about it, does rebuild still do "all at once" compiles? I ask because I have a project that that would be a Huge killer for. In fact I'm playing all sorts of games just to break one module up enough to keep DMD's memory usage under 1GB per piece. If it is still doing it in one lump, what can we get for piece by piece builds?
 
 - Gregor Richards
 

Oct 09 2007
next sibling parent reply Gregor Richards <Richards codu.org> writes:
BCS wrote:
 Reply to Gregor,
 
 DSSS, the D Shared Software System, is a tool to ease the building,
 installation, configuration and acquisition of D software.

 0.73 was supposed to have one or two more features (sorry BCS :( ),

LOL, it's nice to know I'm a driving force in somthing. <G> While I'm thinking about it, does rebuild still do "all at once" compiles? I ask because I have a project that that would be a Huge killer for. In fact I'm playing all sorts of games just to break one module up enough to keep DMD's memory usage under 1GB per piece. If it is still doing it in one lump, what can we get for piece by piece builds?
 - Gregor Richards


It no longer does all-at-once compiles, although memory usage was not my primary motivation. - Gregor Richards
Oct 10 2007
parent BCS <ao pathlink.com> writes:
Reply to Gregor,

 It no longer does all-at-once compiles, although memory usage was not
 my primary motivation.

Good, I seem to recall the thread but I don't remember what the reason was (and I don't particularly care)
 
 - Gregor Richards
 

Oct 10 2007
prev sibling parent reply Graham St Jack <grahams acres.com.au> writes:
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

I love DSSS as a way of building released code - keep up the good work 
Gregor.

However, its approach of building everything every time makes it 
unsuitable during development. Hopefully this will be addressed eventually.

In the meantime, I am working on a project using gdc on Linux with 
phobos, and have put together a simple build system (source attached). 
It is a real hack so far, isn't portable and only handles d sources, but 
it might stimulate a bit of interest.

Its features are:
* Automatic dependency detection.
* Compiles one source file at a time.
* Automatic linking of appropriate libraries.
* Enforcement of rather strict dependency rules (a pet subject of mine).
* Automatic execution of tests whose result files are out of date.
* Only building what is out of date.
* Uses directory naming conventions instead of configuration files.
* It is fast.

I plan to improve the build tool over time as I need improvements, but 
it will always be limited to use "during development", and will only 
ever be able to build code written to conform to its rules. That is, it 
isn't intended to compete with dsss, which is far more general. Also, it 
is fussy about dependencies in a way that most people don't like. I like 
it because I tend to work on large projects where dependency management 
is critical.

The idea is to develop something using this build tool, then repackage 
the code for building and installation using dsss.


BCS wrote:
 Reply to Gregor,
 
 DSSS, the D Shared Software System, is a tool to ease the building,
 installation, configuration and acquisition of D software.

 0.73 was supposed to have one or two more features (sorry BCS :( ),

LOL, it's nice to know I'm a driving force in somthing. <G> While I'm thinking about it, does rebuild still do "all at once" compiles? I ask because I have a project that that would be a Huge killer for. In fact I'm playing all sorts of games just to break one module up enough to keep DMD's memory usage under 1GB per piece. If it is still doing it in one lump, what can we get for piece by piece builds?
 - Gregor Richards


Oct 10 2007
parent reply Gregor Richards <Richards codu.org> writes:
Graham St Jack wrote:
 However, its approach of building everything every time makes it 
 unsuitable during development. Hopefully this will be addressed eventually.

This is totally incorrect. DSSS calls rebuild for everything, yes, but rebuild knows what to rebuild and what not to. Try calling it with -v and examining the output: You'll notice that it never rebuilds a file unless the corresponding .d file or its dependencies have changed. - Gregor Richards
Oct 10 2007
parent reply Gregor Richards <Richards codu.org> writes:
Gregor Richards wrote:
 Graham St Jack wrote:
 However, its approach of building everything every time makes it 
 unsuitable during development. Hopefully this will be addressed 
 eventually.

This is totally incorrect. DSSS calls rebuild for everything, yes, but rebuild knows what to rebuild and what not to. Try calling it with -v and examining the output: You'll notice that it never rebuilds a file unless the corresponding .d file or its dependencies have changed. - Gregor Richards

Erm, unless you're referring to libraries specifically, in which case an earlier bug which has been fixed in this version caused libraries to use -full >_> - Gregor Richards
Oct 10 2007
parent Graham St Jack <grahams acres.com.au> writes:
Gregor Richards wrote:
 Gregor Richards wrote:
 Graham St Jack wrote:
 However, its approach of building everything every time makes it 
 unsuitable during development. Hopefully this will be addressed 
 eventually.

This is totally incorrect. DSSS calls rebuild for everything, yes, but rebuild knows what to rebuild and what not to. Try calling it with -v and examining the output: You'll notice that it never rebuilds a file unless the corresponding .d file or its dependencies have changed. - Gregor Richards

Erm, unless you're referring to libraries specifically, in which case an earlier bug which has been fixed in this version caused libraries to use -full >_> - Gregor Richards

Excellent news! I spotted the -full before, and assumed it was intentional for some obscure reason. Glad to know that it is fixed.
Oct 10 2007
prev sibling parent reply Knud Soerensen <4tuu4k002 sneakemail.com> writes:
Hi

I am trying to install DSSS 0.73 on linux.
and have add the steps on the wiki
http://www.dsource.org/projects/dsss/wiki/WikiStart

But my installation fail in the last step when trying to
install dsss-test I get:
gcc dsss_objs/D/sss.test.main.o dsss_objs/D/sss.test.test.o
dsss_objs/D/nmd_gcstats.o -o dsss_test -m32 -Xlinker --start-group
-lphobos -Xlinker -L./ -Xlinker -L/home/knud/dsss/lib/ -Xlinker
-L/home/knud/dsss/lib -Xlinker -L/home/knud/d/lib -Xlinker
-L/home/knud/dsss/lib -Xlinker -L/home/knud/dsss/lib -lphobos -lpthread -lm
/usr/bin/ld: cannot find -lphobos
collect2: ld returned 1 exit status
--- errorlevel 1
Command /home/knud/dsss/bin/rebuild returned with code 65280, aborting.
Error: Command failed, aborting.


What am I missing ???
Oct 11 2007
parent reply Gregor Richards <Richards codu.org> writes:
Knud Soerensen wrote:
 Hi
 
 I am trying to install DSSS 0.73 on linux.
 and have add the steps on the wiki
 http://www.dsource.org/projects/dsss/wiki/WikiStart
 
 But my installation fail in the last step when trying to
 install dsss-test I get:
 gcc dsss_objs/D/sss.test.main.o dsss_objs/D/sss.test.test.o
 dsss_objs/D/nmd_gcstats.o -o dsss_test -m32 -Xlinker --start-group
 -lphobos -Xlinker -L./ -Xlinker -L/home/knud/dsss/lib/ -Xlinker
 -L/home/knud/dsss/lib -Xlinker -L/home/knud/d/lib -Xlinker
 -L/home/knud/dsss/lib -Xlinker -L/home/knud/dsss/lib -lphobos -lpthread -lm
 /usr/bin/ld: cannot find -lphobos
 collect2: ld returned 1 exit status
 --- errorlevel 1
 Command /home/knud/dsss/bin/rebuild returned with code 65280, aborting.
 Error: Command failed, aborting.
 
 
 What am I missing ???

This is the problem with wikis :) I didn't make those instructions, please disregard them. There is a file README-BINARIES.txt next to the binaries which explains how to install them. (On the one hand, that doesn't explain this failure, but on the other hand, those instructions look a bit wonky to me) - Gregor Richards
Oct 11 2007
next sibling parent Knud Soerensen <4tuu4k002 sneakemail.com> writes:
Gregor Richards wrote:
 Knud Soerensen wrote:
 Hi

 I am trying to install DSSS 0.73 on linux.
 and have add the steps on the wiki
 http://www.dsource.org/projects/dsss/wiki/WikiStart

 But my installation fail in the last step when trying to
 install dsss-test I get:
 gcc dsss_objs/D/sss.test.main.o dsss_objs/D/sss.test.test.o
 dsss_objs/D/nmd_gcstats.o -o dsss_test -m32 -Xlinker --start-group
 -lphobos -Xlinker -L./ -Xlinker -L/home/knud/dsss/lib/ -Xlinker
 -L/home/knud/dsss/lib -Xlinker -L/home/knud/d/lib -Xlinker
 -L/home/knud/dsss/lib -Xlinker -L/home/knud/dsss/lib -lphobos
 -lpthread -lm
 /usr/bin/ld: cannot find -lphobos
 collect2: ld returned 1 exit status
 --- errorlevel 1
 Command /home/knud/dsss/bin/rebuild returned with code 65280, aborting.
 Error: Command failed, aborting.


 What am I missing ???

This is the problem with wikis :) I didn't make those instructions, please disregard them.

I made them because I had so much trouble installing DSSS. And I am not the only one: http://www.dsource.org/forums/viewtopic.php?t=3074 After downloading, the first thing one does is looking for a file called INSTALL.txt in the tar ball. Failing that, the next thing is looking at the project front page. So, please add install instruction to the project page. The instuctions in README-BINARIES.txt is very bad. It doesn't say which tools DSSS depend on to run correct g++,gcc,curl ... And it dosen't say how to test that DSSS have been installed correctly something like: dsss net install dsss-test There is a file
 README-BINARIES.txt next to the binaries which explains how to install
 them.
 
 (On the one hand, that doesn't explain this failure, but on the other
 hand, those instructions look a bit wonky to me)
 
  - Gregor Richards

Oct 11 2007
prev sibling parent jcc7 <technocrat7 gmail.com> writes:
== Quote from Gregor Richards (Richards codu.org)'s article
 What am I missing ???

I didn't make those instructions, please disregard them. There is a file README-BINARIES.txt next to the binaries which explains how to install them. (On the one hand, that doesn't explain this failure, but on the other hand, those instructions look a bit wonky to me) - Gregor Richards

An alternate view: One of the advantages of a wiki is that people can try to help you improve your documentation without you even needing to recruit them.
Oct 11 2007