www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - D Shared Software System 0.8 released!

reply Gregor Richards <Richards codu.org> writes:
No, you didn't misread. I've been releasing some pseudo-silent versions 
in the interim, fixing a few bugs at a time.

As always, more information and downloads are available from 
http://www.dsource.org/projects/dsss/

This version should work on GNU/Linux with DMD or GDC, and Windows with 
GDC. Hypothetically it should work on Mac OS X with GDC, but I have no 
system to test that on, so buyer beware. If you get it working on Mac OS 
X, patches gladly and graciously accepted :)

Also, there is now a mirror for sources accessible via 'dsss net', so 
many things should be installable even if DSource goes down ^^

If you have a package you'd like to be installable via 'dsss net', 
please tell me ( Richards codu.org ) its information. I'm still in the 
process of setting up a proper source management interface.


These packages are currently installable via 'dsss net':
bcd.gen
bintod
ddbi
derelict
dirclib
dool
dsss-0.5
dsss-0.6
dsss-0.7
dsss-svn
dsss
dsss-test
dstring
duit
gdc-gcc-3.4
gdc-gcc-4.0
mango
minid
wxd


Note the addition of minid :)

Here's the full changelog from 0.4 to 0.8:
         - Fixed rmRecursive to work on Windows.
         - Fixed installation to work on Mac OS X.
         - Fixed dependency tracking to work for software with special 
sections.
         - Show synchronize commands (had previously hidden them, 
decided that showing them is the superior option)
         - Run curl in "insecure" mode (the certs are worthless anyway)
         - Ignore output from bsdtar, which is almost exclusively false
           negatives.
         - Works on DMD on GNU/Linux.
         - Give a useful error message if dsss net is run from the 
source dir (which is unsupported).
         - Added a -circular flag to dsss_build, which will make circular
           dependencies work in GDC.
         - Don't necessarily die on failed sync (though it'll die on 
failed initial sync)
         - Report errors from synchronization
Nov 21 2006
next sibling parent reply Dawid =?UTF-8?B?Q2nEmcW8YXJraWV3aWN6?= <dawid.ciezarkiewicz gmail.com> writes:
dpc chesed:~$ dsss net install dsss-0.9
[...]
sss/main.d => dsss
Command: cd dsss_build
Command: make -f Makefile.unix
+ make -f Makefile.unix
dmd -op -release -inline -version=BuildVerbose -ofdsss_build build.d
util/pathex.d source_bn.d util/str.d build_bn.d util/booltype.d source.d
util/fdt.d util/fileex.d util/linetoken.d util/macro.d util/file2.d
gcc build.o util/pathex.o source_bn.o util/str.o build_bn.o util/booltype.o
source.o util/fdt.o util/fileex.o util/linetoken.o util/macro.o
util/file2.o -o dsss_build -m32 -lphobos -lpthread -lm
+ /home/dpc/d/bin/dsss_build -I/home/dpc/d/include/d -LIBPATH=/home/dpc/d/lib
-LIBPATH=.  -od. -g -Idsss_build -LIBPATH=dsss_build
sss/main.d -Tdsss
net.o: In function `_D3sss3net3netFAAaZi':
/tmp/DSSS_dsss-0.9/dsss-0.9/sss/net.d:56: undefined reference to
`_D3sss4conf11inSourceDirx'
collect2: ld returned 1 exit status

dpc chesed:~$ dsss
DSSS version 0.7
[...]

I couldn't get dsss-0.8 or dsss-0.9 to compile manually neither.
Nov 23 2006
parent reply Gregor Richards <Richards codu.org> writes:
Dawid Ciężarkiewicz wrote:
 dpc chesed:~$ dsss net install dsss-0.9
 [...]
 sss/main.d => dsss
 Command: cd dsss_build
 Command: make -f Makefile.unix
 + make -f Makefile.unix
 dmd -op -release -inline -version=BuildVerbose -ofdsss_build build.d
 util/pathex.d source_bn.d util/str.d build_bn.d util/booltype.d source.d
 util/fdt.d util/fileex.d util/linetoken.d util/macro.d util/file2.d
 gcc build.o util/pathex.o source_bn.o util/str.o build_bn.o util/booltype.o
 source.o util/fdt.o util/fileex.o util/linetoken.o util/macro.o
 util/file2.o -o dsss_build -m32 -lphobos -lpthread -lm
 + /home/dpc/d/bin/dsss_build -I/home/dpc/d/include/d -LIBPATH=/home/dpc/d/lib
-LIBPATH=.  -od. -g -Idsss_build -LIBPATH=dsss_build
 sss/main.d -Tdsss
 net.o: In function `_D3sss3net3netFAAaZi':
 /tmp/DSSS_dsss-0.9/dsss-0.9/sss/net.d:56: undefined reference to
 `_D3sss4conf11inSourceDirx'
 collect2: ld returned 1 exit status
 
 dpc chesed:~$ dsss
 DSSS version 0.7
 [...]
 
 I couldn't get dsss-0.8 or dsss-0.9 to compile manually neither.

This all comes down to a really annoying and as-of-yet unsolved problem with bud: It prefers things in -I to things in the local directory. This has been solved for everything other than DSSS itself, but DSSS has magic bootstrap problems. In the 'INSTALL' doc: "2) If you currently have DSSS installed, UNINSTALL IT." If you're switching from a binary install to a compiled install (in which case using dsss uninstall won't work), you can either delete the whole directory (and any net-installed packages with it), or: bin/dsss.exe include/d/sss include/d/util include/d/hcf lib/libSDD-sss.lib lib/libSbudutil.lib lib/libSDD-hcf.lib Getting this to work nicely is still an open problem being investigated. Anyway, after uninstalling the old one, you should be able to use 'make' to get a clean new one. - Gregor Richards PS: 'dsss net install dsss' will probably never work on Windows, since Windows doesn't allow you to write to an executable being run, and dsss.exe is being run at the time :)
Nov 23 2006
next sibling parent Dawid =?UTF-8?B?Q2nEmcW8YXJraWV3aWN6?= <dawid.ciezarkiewicz gmail.com> writes:
Gregor Richards wrote:
 In the 'INSTALL' doc: "2) If you currently have DSSS installed,
 UNINSTALL IT."

Thanks. Helped. Next thing: dpc chesed:~/tmp/dsss-0.9$ ./dsss install --prefix=~/d/ Installing hcf Command: install hcf/env.d ~/d//include/d/hcf + making directory ~/d//include/d/hcf + copying env.d + cp -fpRL hcf/env.d ~/d//include/d/hcf/env.d cp: cannot create regular file `/home/dpc/d//include/d/hcf/env.d': No such file or directory dpc chesed:~/tmp/dsss-0.9$ ls ~/d//include/d/hcf ls: /home/dpc/d//include/d/hcf: No such file or directory Something plainly failed.
Nov 24 2006
prev sibling parent Charles D Hixson <charleshixsn earthlink.net> writes:
Gregor Richards wrote:
 Dawid Ciężarkiewicz wrote:
 dpc chesed:~$ dsss net install dsss-0.9
 ...

Getting this to work nicely is still an open problem being investigated. Anyway, after uninstalling the old one, you should be able to use 'make' to get a clean new one. - Gregor Richards PS: 'dsss net install dsss' will probably never work on Windows, since Windows doesn't allow you to write to an executable being run, and dsss.exe is being run at the time :)

FWIW, this is my first attempt at installing DSSS: + /home/charles/downloads/D/DSSS/dsss-0.9/dsss_build/dsss_build -I/home/charles/downloads/D/DSSS/dsss-0.9/inst/include/d -LIBPATH=/home /charles/downloads/D/DSSS/dsss-0.9/inst/lib -LIBPATH=. -od. -g -Idsss_build -LIBPATH=dsss_build sss/main.d -Tdsss ./libSDD-sss.a(conf.o): In function `_assert_3sss4conf': sss/conf.d:(.gnu.linkonce.t_assert_3sss4conf+0x19): undefined reference to `_d_assert' dsss_build/libSbudutil.a(str.o): In function `_assert_4util3str': util/str.d:(.gnu.linkonce.t_assert_4util3str+0x11): undefined reference to `_d_assert' collect2: ld returned 1 exit status I have dmd.175 installed (though I've only tested it with a plain "dmd" command to make sure I didn't bungle the install [which I did the first time], no programs).
Nov 27 2006
prev sibling parent reply Dawid =?UTF-8?B?Q2nEmcW8YXJraWV3aWN6?= <dawid.ciezarkiewicz gmail.com> writes:
Little off topic.

I've tried to compile many of packages available through `dsss net list` and
most of them miserably failed to compile. Although that's not DSSS problem,
it's pain anyway.

I thought state of D libs available right now is little better (more
stability... ). I'm starting to understand how important D 1.0 stability
freez may be for future D libraries development.
Nov 28 2006
parent Georg Wrede <georg.wrede nospam.org> writes:
Dawid Ciężarkiewicz wrote:
 Little off topic.
 
 I've tried to compile many of packages available through `dsss net list` and
 most of them miserably failed to compile.

Off topic or not, this is extremely valuable information. A tool like DSSS absolutely needs to start with checking the environment thoroughly. That includes paths, access rights, libraries, possible multiple installations of, say, DMD, and other such things. And, it includes plain and easy to understand error messages, telling what is wrong, and how to fix it. /Knowing/ that the target machine is OK makes life a lot easier when the newly downloaded package doesn't install properly. This saves time and nerves of all three parties involved. What might be more difficult is basic checking of the package to be installed. But the more of the usual suspects we can eliminate up front, the more time we can dedicate to the non-trivial problems. Every bad installation tells us how to avoid the same mistake in the future. So, we need to examine _why_ your installations failed.
Nov 28 2006