|
Archives
D Programming
D
D.gnu
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger
C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows
digitalmars.empire
digitalmars.DMDScript
|
D.gnu - Debian and others
↑ ↓ ← → Joakim Karlsson <aio treyst.se> writes:
Hi there!
I'm new to D - I run a company in Sweden that are thinking of starting
development in the D Language.
There is a problem though... It's a pain to install. Is there some major
reason why you (Digital Mars) do not provide Debian packages (and
others) for gdc?
The thing is: When you run modern Linux distributions you want
everything just to work. And packet managers are quite good at making
this a reality.
Ps.
It is really a good thing to make these things _simple_ to install as
possible - If you want programmers to start using the product.
Ds.
Yours truly,
//Joakim Karlsson
↑ ↓ ← → =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Joakim Karlsson wrote:
I'm new to D - I run a company in Sweden that are thinking of starting
development in the D Language.
Låter bra! (Sounds good!)
There is a problem though... It's a pain to install. Is there some major
reason why you (Digital Mars) do not provide Debian packages (and
others) for gdc?
Note: Digital Mars makes DMD, while GDC is more of a volunteer effort.
(DMD also needs Linux packaging, but since it is non-distributable...)
I've done some RPM packages before, but am the doing Mac packages now.
One problem has been that you either need a bundled GCC (making it
huge), or you need to work with the system GCC (making it "dependent")
So aside from a source package, a binary package is not all that easy.
The thing is: When you run modern Linux distributions you want
everything just to work. And packet managers are quite good at making
this a reality.
No argument there. Are you volunteering to make a Debian package ? :-)
Have my old RPM spec up at http://www.algonet.se/~afb/d/gdc.spec (0.15),
might try to update it for 0.17 and build it on Fedora just to test it.
--anders
↑ ↓ ← → clayasaurus <clayasaurus gmail.com> writes:
It doesn't take long to make your own install script that does all the
steps of installing dmd on linux for you.
I have made one which is very specifically for me. I know others have
made some as well.
I'm guessing the reason they don't make .deb's is because they don't
have time to support all of linux's package formats, and leave that as a
task for others.
~ Clay
Joakim Karlsson wrote:
Hi there!
I'm new to D - I run a company in Sweden that are thinking of starting
development in the D Language.
There is a problem though... It's a pain to install. Is there some major
reason why you (Digital Mars) do not provide Debian packages (and
others) for gdc?
The thing is: When you run modern Linux distributions you want
everything just to work. And packet managers are quite good at making
this a reality.
Ps.
It is really a good thing to make these things _simple_ to install as
possible - If you want programmers to start using the product.
Ds.
Yours truly,
//Joakim Karlsson
↑ ↓ ← → clayasaurus <clayasaurus gmail.com> writes:
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
I decided I'd provide a sample of how this can be done. Take it with a
grain of salt :-P This script is very specific to my machine.
clayasaurus wrote:
It doesn't take long to make your own install script that does all the
steps of installing dmd on linux for you.
I have made one which is very specifically for me. I know others have
made some as well.
I'm guessing the reason they don't make .deb's is because they don't
have time to support all of linux's package formats, and leave that as a
task for others.
~ Clay
Joakim Karlsson wrote:
Hi there!
I'm new to D - I run a company in Sweden that are thinking of starting
development in the D Language.
There is a problem though... It's a pain to install. Is there some
major reason why you (Digital Mars) do not provide Debian packages
(and others) for gdc?
The thing is: When you run modern Linux distributions you want
everything just to work. And packet managers are quite good at making
this a reality.
Ps.
It is really a good thing to make these things _simple_ to install
as possible - If you want programmers to start using the product.
Ds.
Yours truly,
//Joakim Karlsson
↑ ↓ ← → =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
clayasaurus wrote:
I decided I'd provide a sample of how this can be done. Take it with a
grain of salt :-P This script is very specific to my machine.
Why do you copy it to your home directory first and chown it to you ?
Looks like it might just as well install it to /usr/local directly...
(assuming that Phobos is also installed under /usr/local, that is)
I put my own scripts on the Wiki4D:
http://www.prowiki.org/wiki4d/wiki.cgi?D__Tutorial/InstallingDCompiler#InstallingDMDonLinuxX86
Shows both how to install in /usr/local, and in your home directory.
Somehow, upgrading a package is still easier than running this script ?
And the OP asked about GDC installation, which is a little different.
(your script showed how to install DMD, as per the original manual)
--anders
↑ ↓ ← → clayasaurus <clayasaurus gmail.com> writes:
I know, my script sucks, I just wanted to show it is possible to easily do.
Anders F Björklund wrote:
clayasaurus wrote:
I decided I'd provide a sample of how this can be done. Take it with a
grain of salt :-P This script is very specific to my machine.
Why do you copy it to your home directory first and chown it to you ?
Looks like it might just as well install it to /usr/local directly...
(assuming that Phobos is also installed under /usr/local, that is)
I put my own scripts on the Wiki4D:
http://www.prowiki.org/wiki4d/wiki.cgi?D__Tutorial/InstallingDCompiler#Ins
allingDMDonLinuxX86
Shows both how to install in /usr/local, and in your home directory.
Somehow, upgrading a package is still easier than running this script ?
And the OP asked about GDC installation, which is a little different.
(your script showed how to install DMD, as per the original manual)
--anders
↑ ↓ ← → =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
clayasaurus wrote:
I know, my script sucks, I just wanted to show it is possible to easily do.
I wouldn't say that it sucks, I just meant that with a few minor
adjustments (such as replacing "/home/clayasaurus" with just "~")
it would be more generic and all wouldn't have to write their own?
One point I was trying to make in the Wiki4D is that there are two
methods of installing DMD, either in your home dir (and C:\, etc.)
*or* you install it in the usual locations (/usr, /usr/local, etc.)
The current Digital Mars DMD instructions is a pretty weird mix...
(installing parts in ~/dmd, parts in /usr and parts in /usr/local?)
For the DMD packaging I did, they placed Phobos in /usr/lib/phobos
But I think I will just let Walter sort that out on his own. :-)
--anders
↑ ↓ ← → Joakim Karlsson <aio treyst.se> writes:
Anders F Björklund wrote:
clayasaurus wrote:
I know, my script sucks, I just wanted to show it is possible to
easily do.
I wouldn't say that it sucks, I just meant that with a few minor
adjustments (such as replacing "/home/clayasaurus" with just "~")
it would be more generic and all wouldn't have to write their own?
One point I was trying to make in the Wiki4D is that there are two
methods of installing DMD, either in your home dir (and C:\, etc.)
*or* you install it in the usual locations (/usr, /usr/local, etc.)
The current Digital Mars DMD instructions is a pretty weird mix...
(installing parts in ~/dmd, parts in /usr and parts in /usr/local?)
For the DMD packaging I did, they placed Phobos in /usr/lib/phobos
But I think I will just let Walter sort that out on his own. :-)
Well.. I was asking about GDC and not DMD, but thanks anyway. I guess it
will take some time before I bother, then.
//Joakim
↑ ↓ ← → =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Joakim Karlsson wrote:
Well.. I was asking about GDC and not DMD, but thanks anyway.
I guess it will take some time before I bother, then.
Were you looking for a "bundle" with GCC / G++, or just the
frontend for D ? (i.e. the gdc, gdmd and cc1d/libgphobos.a)
Main difference is whether we're talking 3 or 30 MB package...
I don't use Debian/Ubuntu myself, but have done packages for
RedHat/Fedora, Gentoo and for Mac OS X. (specs posted earlier)
To make a Debian package, a DEB maintainer needs to volunteer.
--anders
↑ ↓ ← → Charles Hixson <charleshixsn earthlink.net> writes:
Anders F Björklund wrote:
Joakim Karlsson wrote:
Well.. I was asking about GDC and not DMD, but thanks anyway.
I guess it will take some time before I bother, then.
Were you looking for a "bundle" with GCC / G++, or just the
frontend for D ? (i.e. the gdc, gdmd and cc1d/libgphobos.a)
Main difference is whether we're talking 3 or 30 MB package...
I don't use Debian/Ubuntu myself, but have done packages for
RedHat/Fedora, Gentoo and for Mac OS X. (specs posted earlier)
To make a Debian package, a DEB maintainer needs to volunteer.
--anders
want to yield a un-installation of Gnat or Objective-C or
C++...which were installed via debs. I've thought about
installing gdc several times, but every time it's felt too
dangerous. It's felt that *I* would need to create a new OS disk
partition, boot into it, and experiment until I was certain that
I could install gdc without killing the rest of the system. (I
know that this reveals my lack of skills...but I doubt that I am
alone in this trepidation.)
↑ ↓ ← → =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Charles Hixson wrote:
I can't read his mind, but when I'm thinking about it, I don't want to
yield a un-installation of Gnat or Objective-C or C++...which were
installed via debs. I've thought about installing gdc several times,
but every time it's felt too dangerous. It's felt that *I* would need
to create a new OS disk partition, boot into it, and experiment until I
was certain that I could install gdc without killing the rest of the
system. (I know that this reveals my lack of skills...but I doubt that
I am alone in this trepidation.)
I've made two RPM packages/distributions, one "gdc" and one "opt-gdc".
The first installs in /usr, and might be considered "dangerous"...
Although it should only feature files that are new for GDC itself:
/usr/bin/gdc
/usr/libexec/gcc/i586-redhat-linux/4.0.2/cc1d
/usr/include/d/
/usr/lib/libgphobos.a
(...etc...)
Downside is that to function, it depends on the system GCC version.
The other installs in /opt/gdc, and is thus completely "harmless".
Downside is that you need to set the $PATH, and it uses a new GCC.
But it should be possible to do a distro-agnostic package of this ?
(it'll still have some dependencies like glibc etc, but a lot fewer)
It's still prettty small, even with the C++ crud that "recls" needs.
Once the binary RPMS are posted (later), it should be possible to
convert them to DEB format too - using the "alien" tool ? (AFAIK)
But before it becomes a "real" Debian package, it needs a maintainer.
As per http://www.debian.org/doc/debian-policy/ (definitely *not* me)
--anders
PS. Never hurts to be cautious, but --prefix=/opt/gdc should be enough,
as in: ./configure --prefix=/opt/gdc --enable-languages=d \
&& make && sudo make install
I don't really think you need a new partition just for testing GDC.
↑ ↓ ← → =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
clayasaurus wrote:
I'm guessing the reason they don't make .deb's is because they don't
have time to support all of linux's package formats, and leave that as a
task for others.
But they don't provide rpms either, even if it has been done by others ?
(I think the main reason is because Walter *prefers* doing it manually)
GDC is easy to package since it's GPL, but DMD is somewhat "trickier"...
(since you cannot redistribute the packaged software, it's useless.
Kinda like the mess that Sun has made with the RPMS for Java 2 ?)
--anders
|
|