D Packages for Ubuntu/Debian systems
Article is obsolete: Go to Release 3 (sorry for the messy linking in these posts but I had no time toput these into a ubuntu/debian repo)!
Following this article I managed to finish a set of deb packages in order to have a solid base D programming environment to work with under Ubuntu/Debian systems. By “solid base” I mean:
- GDC or DMD
- DSSS
- Tango
- Tangobos compatibility layer
I made packages for the GDC as well as for the DMD compiler, so the compiler should not be a problem (and hopefully I would not have to care much about which compiler I’m using in the future).
Attention: Please note that if you insalled the two deb packages found at the previous article, you should uninstall them first before using the packages below!
Also please note that you should not install DMD packages along with GDC ones (install either only GDC or only DMD packages at one time!). At this time only 32bit packages are available but x86_64 versions will follow in a few days; this is because I have to get to the computer at my office to compile them for 64bit.
I would really appreciate any feedback so I can improve these.
Packages for 32bit systems
- DMD based packages:
- DMD: dmd_1.027-1_i386.deb
- DSSS: dsss-dmd_0.75-1_i386.deb
- TANGO: tango-dmd_0.99.5-1_i386.deb
- TANGOBOS: tangobos-dmd_39-1_i386.deb
- GDC based packages
- GDC: Just Run: sudo apt-get install gdc
- DSSS: dsss-gdc_0.75-1_i386.deb
- TANGO: tango-gdc_0.99.5-2_i386.deb
- TANGOBOS: tangobos-gdc_39-1_i386.deb
Ok so that’s it. Also pretty soon these packages will have their own proper section at the www.palos.ro website (which we are currently remaking) so there will a better way to keep track of versions and related RSS news.
Memo to myself: Maybe if I got the time I would make some source packages and then also make use of pbuilder to build those packages, to ensure they work properly on most Debian based distro’s. At tezem’s advice I’ll try and put these packages in a PPA at Launchpad (although I’m not sure when I’ll get around to it).
Hope these are useful!
Enjoyed this post?, why not subscribe to the RSS feed!
March 22nd, 2008 at 6:59 pm
I’m an ubuntu AMD64 7.10 and its been a REAL PAIN with gdc. Installing gdc is fine but trying to get a working tango installed is a bear. I can pull tango from svn and build with dsss… dsss installs all these nice .di files but doing gdc test.d cant find them so i have to symlink tango inside of the 4.1 directory so it can see the imports but I keep getting ‘no environment specified’ etc. kinda pisses me off.
It _really_ shouldn’t be this hard to get tango installed.
This seems to point to more fundamental problems underlying D on non-win32 and non-32bit machines/architectures. (lets not even talk about trying to build GDC from source!!!)
I look forward to seeing and trying your amd64 packages.
March 22nd, 2008 at 10:36 pm
Yeap, I agree! For me too, It usually boiled down to making symlinks and all kinds of very ugly hacks. That is a shame considering that Tango and D are so amazing otherwise.
I also agree to the fact that the real cause is more profound. It is essential that these problems will be solved so that any future software will not be bothered by such issues.
I hope I’ll be able to properly maintain and improve on these packages maybe even create a repository somehow (I’ve been exchanging some e-mails with larsivi (maintainer of Tango) and hopefully this story will have a nice outcome.
March 24th, 2008 at 4:24 am
First off all, thanks for the great packages! This will make it a lot easier for a lot more people to get in on D.
However, there is a problem with the DMD packages. The dmd.conf in /usr/share/dmd/dmd/bin is not overwritten after installing the tango libraries. This file overrides /etc/dmd.conf, and so the libraries did not work until I copied the file from /etc to the dmd root.
March 24th, 2008 at 9:42 am
Thanks for the feedback oranda! I really need it. I’ll look into this asap.
March 24th, 2008 at 11:22 am
I tried to get into D two times up to now and always failed at getting a reliable build base set up. It’s a pitty.
This is a real problem for spreading D and getting more people to support it. It’s killing the whole thing right at the start.
So I’m thankful for any efford to change that situation. Looking forward for the amd64 packages.
March 25th, 2008 at 5:16 am
Quick piece of follow-up info. My friend also installed the dmd packages, same version of Ubuntu, and they worked flawlessly without any modification. I, on the other hand, found my dpkg repository so badly mauled today that I couldn’t even use it until I manually removed some of the tango-dmd files from /var/lib/dpkg/info. So my guess would be that there is just something weird and non-obviously astray with my pc. It’s an upgrade from Feisty to Gutsy, whereas as far as I know my friend’s is not, so that might have something to do with it.
March 25th, 2008 at 9:30 am
Hmm, that’s interesting. I would guess that something made the preremoval scripts inside one of the packages (possibly tango-dmd) fail and the package removal process somehow stumped in the middle. I will try and make a Feisty -> Gutsy upgrade in a virtual machine and see what happens with these packages!
Anyway I’m now working to release the 64bit packages (which will only pe available for gdc since dmd does not generate 64bit code and the 64bit dsss seems to segfault when building something).
There is a significant change in the design of these packages! I’ve “merged” the two versions of DSSS (for DMD and GDC) into just one to allow the peaceful coexistence of both DMD and GDC installations. That implies a set of wrapper scripts for dsss to be called properly with the intended compiler. But more on that when I’ll release…
April 4th, 2008 at 9:45 pm
I am getting
object.d: module object cannot read file ‘object.d’
after finishing the dpkg installation. any idea?
April 4th, 2008 at 10:04 pm
What packages have you installed? As it is stated at the top of the post, this article is obsolete (and has been for some time). Please go to the following link for the latest .deb packages:
http://download.palos.ro/Debian%20D%20Packages/
Note: Please don’t forget to uninstall the previously installed packages!
June 25th, 2008 at 1:02 am
What do you tell about this:
A subset of dmd/license.txt:
The Software is copyrighted and comes with a single user license,
and may not be redistributed. If you wish to obtain a redistribution
license, please contact Digital Mars.
??
June 25th, 2008 at 8:32 am
@Tom:
Which is exactly why the DMD package I made does *NOT* contains the software itself (binary or source) but instead it simply downloads and installs DMD at the time when the DEB package is itself installed on the computer.
:)