September 11, 2010 Well, it's been a total failure | ||||
---|---|---|---|---|
| ||||
Attachments:
| I'm running Fedora 13.x86_64 and I've tried various ways of getting a D compiler to work. None have succeeded. 1. a. I can't install dmd 2.048: # rpm -Uvh /downloads/dmd-2.048-0.i386.rpm error: Failed dependencies: gcc(x86-32) >= 4.2.3 is needed by dmd-2.048-0.i386 I don't know what package will satisfy this dependency. b. dmd is a closed compiler. Not good. I'm really not comfortable running a compiler for which I don't have access to the source. The risk of undetected malware is too great. c. So, I give up on dmd. 2. I can't run ldc because a. The ldc RPM requires Tango, even though this is not an RPM dependency for ldc, i.e. you can install ldc without any errors. b. The installation instructions for Fedora on the LDC web site are incorrect. "yum install ldc" works, but "yum install tango" doesn't. "yum install tango-devel" is the correct command. (This is the first time I've heard of <pkg>-devel without a corresponding <pkg>.) c. After I've gotten everything installed, it still doesn't work. I get $ ldc hello.d hello.d(5): Error: module stdio cannot read file 'std/stdio.d' d. OK, so I link /usr/include/d/tango/stdc to /usr/include/d/tango/std, but it still doesn't work. I get: $ ldc hello.d hello.d(8): Error: undefined identifier writefln hello.d(8): Error: function expected before (), not writefln of type int e. ldc only supports D v1. f. All of this is too much for me. I give up on ldc. 3. I can't get gdc to compile. a. First I have to get gcc-4.4.4 to compile, but that requires a 4 year old version of automake. I have to downgrade. b. After that's fixed, I'm still running into errors that prevent a build. The errors change from changeset to changeset. So, I'm giving up on gdc. Getting a D compiler to run on x86_64 Linux is too hard. I'm giving up on D. I'm posting this message not as a plea for help, but to illustrate how hard it is to get D to run on Fedora.x86_64. The success of D depends on high quality, open source compilers being available (my belief), and so far, D doesn't seem to be mature enough to be considered, at least on Fedora.x86_64. But, on the plus side, the existence of the book "The D Programming Language" is a major step in getting D accepted as a serious system programming language. Maybe installation will improve and D will move forward. --- Vladimir -- Vladimir G. Ivanovic http://www.leonora.org +1 650 450 4101 vladimir@acm.org |
September 12, 2010 Re: Well, it's been a total failure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vladimir G. Ivanovic | Vladimir G. Ivanovic wrote: > I'm running Fedora 13.x86_64 and I've tried various ways of getting a > D compiler to work. None have succeeded. > > 1. a. I can't install dmd 2.048: > > # rpm -Uvh /downloads/dmd-2.048-0.i386.rpm > error: Failed dependencies: > gcc(x86-32) >= 4.2.3 is needed by dmd-2.048-0.i386 > I don't know what package will satisfy this dependency. > b. dmd is a closed compiler. Not good. I'm really not comfortable > running a compiler for which I don't have access to the source. The > risk of undetected malware is too great. > c. So, I give up on dmd. Complete source code comes with dmd. Try downloading: http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.063.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.048.zip There are several people working on the source. Lots of D users compile their own versions of dmd. The complete dmd source code is also available here: http://www.dsource.org/projects/dmd/browser/trunk/ |
September 12, 2010 Re: Well, it's been a total failure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vladimir G. Ivanovic | On 11/09/10 23:52, Vladimir G. Ivanovic wrote: > I'm running Fedora 13.x86_64 and I've tried various ways of getting a > D compiler to work. None have succeeded. > > 1. a. I can't install dmd 2.048: > > # rpm -Uvh /downloads/dmd-2.048-0.i386.rpm > error: Failed dependencies: > gcc(x86-32)>= 4.2.3 is needed by dmd-2.048-0.i386 > I don't know what package will satisfy this dependency. I've never used fedora, so I'll skip anything further about rpms. > b. dmd is a closed compiler. Not good. I'm really not comfortable > running a compiler for which I don't have access to the source. The > risk of undetected malware is too great. Only the backend is closed, and the source is still available. The front end is dual licensed under the GPL and artistic licenses: http://www.dsource.org/projects/dmd/browser/trunk/src > c. So, I give up on dmd. > > 2. I can't run ldc because > a. The ldc RPM requires Tango, even though this is not an RPM > dependency for ldc, i.e. you can install ldc without any errors. Again, I know nothing of RPMs/Fedora, but I can say ldc doesn't require tango - it's just a lot nicer to use if you have a standard library :) > b. The installation instructions for Fedora on the LDC web site are > incorrect. "yum install ldc" works, but "yum install tango" doesn't. > "yum install tango-devel" is the correct command. (This is the first > time I've heard of<pkg>-devel without a corresponding<pkg>.) > c. After I've gotten everything installed, it still doesn't work. I get > $ ldc hello.d > hello.d(5): Error: module stdio cannot read file 'std/stdio.d' std is part of phobos, and phobos does not support ldc. A hello world using tango would look like this: --- import tango.io.Stdout; void main() { Stdout("Hello World!").newline; } ---- > d. OK, so I link /usr/include/d/tango/stdc to > /usr/include/d/tango/std, but it still doesn't work. I get: > $ ldc hello.d > hello.d(8): Error: undefined identifier writefln > hello.d(8): Error: function expected before (), not writefln > of type int Again, phobos doesn't support ldc. > e. ldc only supports D v1. Correct. > f. All of this is too much for me. I give up on ldc. > > 3. I can't get gdc to compile. > a. First I have to get gcc-4.4.4 to compile, but that requires a 4 > year old version of automake. I have to downgrade. > b. After that's fixed, I'm still running into errors that prevent a > build. The errors change from changeset to changeset. So, I'm giving > up on gdc. I've only used gdc once, and it was a long time ago - I can't help here. Even then I do know that dmd is the only D compiler that supports D2 currently. Gdc is getting there. > Getting a D compiler to run on x86_64 Linux is too hard. I'm giving up > on D. Been there, done that :/ > I'm posting this message not as a plea for help, but to illustrate how > hard it is to get D to run on Fedora.x86_64. The success of D depends > on high quality, open source compilers being available (my belief), > and so far, D doesn't seem to be mature enough to be considered, at > least on Fedora.x86_64. This will change most likely when dmd gets 64 bit support - this is progressing rapidly. -- Robert http://octarineparrot.com/ |
September 12, 2010 Re: Well, it's been a total failure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vladimir G. Ivanovic | Vladimir G. Ivanovic wrote: > I'm running Fedora 13.x86_64 and I've tried various ways of getting a > D compiler to work. None have succeeded. > > 1. a. I can't install dmd 2.048: > > # rpm -Uvh /downloads/dmd-2.048-0.i386.rpm > error: Failed dependencies: > gcc(x86-32) >= 4.2.3 is needed by dmd-2.048-0.i386 > I don't know what package will satisfy this dependency. You need the i686 versions of some packages, probably start with libgcc (yum install libgcc.i686) and glibc, I don't remember which exactly are required. I have dmd running on 64 bit fedora just fine, it can work. There is also a 64-bit dmd in the making which should solve all those problems. > b. dmd is a closed compiler. Not good. I'm really not comfortable > running a compiler for which I don't have access to the source. The > risk of undetected malware is too great. dmd is not open source, but not closed source either :) You can compile it from scratch, the source is included with the zip file. |
September 12, 2010 Re: Well, it's been a total failure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vladimir G. Ivanovic | On 11/09/2010 23:52, Vladimir G. Ivanovic wrote: > I'm running Fedora 13.x86_64 and I've tried various ways of getting a > D compiler to work. None have succeeded. > > 1. a. I can't install dmd 2.048: > > # rpm -Uvh /downloads/dmd-2.048-0.i386.rpm > error: Failed dependencies: > gcc(x86-32)>= 4.2.3 is needed by dmd-2.048-0.i386 > I don't know what package will satisfy this dependency. > b. dmd is a closed compiler. Not good. I'm really not comfortable > running a compiler for which I don't have access to the source. The > risk of undetected malware is too great. > c. So, I give up on dmd. > > 2. I can't run ldc because > a. The ldc RPM requires Tango, even though this is not an RPM > dependency for ldc, i.e. you can install ldc without any errors. > b. The installation instructions for Fedora on the LDC web site are > incorrect. "yum install ldc" works, but "yum install tango" doesn't. > "yum install tango-devel" is the correct command. (This is the first > time I've heard of<pkg>-devel without a corresponding<pkg>.) > c. After I've gotten everything installed, it still doesn't work. I get > $ ldc hello.d > hello.d(5): Error: module stdio cannot read file 'std/stdio.d' > d. OK, so I link /usr/include/d/tango/stdc to > /usr/include/d/tango/std, but it still doesn't work. I get: > $ ldc hello.d > hello.d(8): Error: undefined identifier writefln > hello.d(8): Error: function expected before (), not writefln > of type int > e. ldc only supports D v1. > f. All of this is too much for me. I give up on ldc. > > 3. I can't get gdc to compile. > a. First I have to get gcc-4.4.4 to compile, but that requires a 4 > year old version of automake. I have to downgrade. > b. After that's fixed, I'm still running into errors that prevent a > build. The errors change from changeset to changeset. So, I'm giving > up on gdc. > > Getting a D compiler to run on x86_64 Linux is too hard. I'm giving up > on D. > > I'm posting this message not as a plea for help, but to illustrate how > hard it is to get D to run on Fedora.x86_64. The success of D depends > on high quality, open source compilers being available (my belief), > and so far, D doesn't seem to be mature enough to be considered, at > least on Fedora.x86_64. > > But, on the plus side, the existence of the book "The D Programming > Language" is a major step in getting D accepted as a serious system > programming language. Maybe installation will improve and D will move > forward. > > --- Vladimir > when installing an rpm package it's usually best to try yum localinstall /downloads/dmd-2.048-0.i386.rpm first and yum will then go off and fetch the dependencies if (a) they are available and (b) they have been specified properly in the rpm package |
September 12, 2010 Re: Well, it's been a total failure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vladimir G. Ivanovic | On 09/11/2010 05:52 PM, Vladimir G. Ivanovic wrote:
> I'm running Fedora 13.x86_64 and I've tried various ways of getting a
> D compiler to work. None have succeeded.
>
> 1. a. I can't install dmd 2.048:
>
> # rpm -Uvh /downloads/dmd-2.048-0.i386.rpm
> error: Failed dependencies:
> gcc(x86-32)>= 4.2.3 is needed by dmd-2.048-0.i386
> I don't know what package will satisfy this dependency.
> b. dmd is a closed compiler. Not good. I'm really not comfortable
> running a compiler for which I don't have access to the source. The
> risk of undetected malware is too great.
> c. So, I give up on dmd.
Apologies for the poor experience. It's because you don't have the 32-bit portability libraries on your 64-bit system. A 64-bit edition is in the works and would certainly make everything smoother.
In the meantime you'd need to run:
sudo apt-get install gcc-multilib libc6-i386 lib6-dev-i386
sudo apt-get install gcc-multilib
sudo apt-get install g++-multilib
We need to add these instructions to the download page.
Andrei
|
September 12, 2010 Re: Well, it's been a total failure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | Andrei Alexandrescu schrieb: > On 09/11/2010 05:52 PM, Vladimir G. Ivanovic wrote: >> I'm running Fedora 13.x86_64 and I've tried various ways of getting a >> D compiler to work. None have succeeded. >> >> 1. a. I can't install dmd 2.048: >> >> # rpm -Uvh /downloads/dmd-2.048-0.i386.rpm >> error: Failed dependencies: >> gcc(x86-32)>= 4.2.3 is needed by dmd-2.048-0.i386 >> I don't know what package will satisfy this dependency. >> b. dmd is a closed compiler. Not good. I'm really not comfortable >> running a compiler for which I don't have access to the source. The >> risk of undetected malware is too great. >> c. So, I give up on dmd. > > Apologies for the poor experience. It's because you don't have the 32-bit portability libraries on your 64-bit system. A 64-bit edition is in the works and would certainly make everything smoother. > > In the meantime you'd need to run: > > sudo apt-get install gcc-multilib libc6-i386 lib6-dev-i386 > sudo apt-get install gcc-multilib > sudo apt-get install g++-multilib > > We need to add these instructions to the download page. > > > Andrei The information is there: http://www.digitalmars.com/d/2.0/dmd-linux.html#installation However apt-get is Debian/Ubuntu specific, so these commands are not *directly* applicable for fedora. However equivalent packages should be available on fedora and instead of apt-get install it's something like yum install gcc-multilib etc (or whatever the packages are called there). Cheers, - Daniel |
September 12, 2010 Re: Well, it's been a total failure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu Attachments:
| On Sun, 2010-09-12 at 12:12 -0500, Andrei Alexandrescu wrote: > On 09/11/2010 05:52 PM, Vladimir G. Ivanovic wrote: > > I'm running Fedora 13.x86_64 and I've tried various ways of getting a > > D compiler to work. None have succeeded. > > > > 1. a. I can't install dmd 2.048: > > > > # rpm -Uvh /downloads/dmd-2.048-0.i386.rpm > > error: Failed dependencies: > > gcc(x86-32)>= 4.2.3 is needed by dmd-2.048-0.i386 > > I don't know what package will satisfy this dependency. > > b. dmd is a closed compiler. Not good. I'm really not comfortable > > running a compiler for which I don't have access to the source. The > > risk of undetected malware is too great. > > c. So, I give up on dmd. > > Apologies for the poor experience. It's because you don't have the 32-bit portability libraries on your 64-bit system. A 64-bit edition is in the works and would certainly make everything smoother. > > In the meantime you'd need to run: > > sudo apt-get install gcc-multilib libc6-i386 lib6-dev-i386 > sudo apt-get install gcc-multilib > sudo apt-get install g++-multilib > > We need to add these instructions to the download page. I wonder if part of the problem for OP was using rpm rather than yum? I found using aptitude on Ubuntu and Debian on x86_64 it was relatively easy to get the downloaded D distribution working, all that was needed was to install the 32-bit libraries and the multilib GCC. Not a big deal to be honest. Of course this only gives a 32-bit D, which isn't really what is needed these days on a 64-bit platform. So the sooner the 64-bit version of D comes out, the better -- preferably last year ;-) -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel@russel.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder |
September 12, 2010 Re: Well, it's been a total failure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Russel Winder | Russel Winder wrote:
> Of course this only gives a 32-bit D, which isn't really what is needed
> these days on a 64-bit platform. So the sooner the 64-bit version of D
> comes out, the better -- preferably last year ;-)
Don't I know it!
|
September 12, 2010 Re: Well, it's been a total failure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vladimir G. Ivanovic | Vladimir G. Ivanovic wrote: > I'm running Fedora 13.x86_64 and I've tried various ways of getting a > D compiler to work. None have succeeded. > > 1. a. I can't install dmd 2.048: > > # rpm -Uvh /downloads/dmd-2.048-0.i386.rpm > error: Failed dependencies: > gcc(x86-32) >= 4.2.3 is needed by dmd-2.048-0.i386 > I don't know what package will satisfy this dependency. > b. dmd is a closed compiler. Not good. I'm really not comfortable > running a compiler for which I don't have access to the source. The > risk of undetected malware is too great. > c. So, I give up on dmd. Because DMD is a 32-bit compiler and you have a 64-bit OS install ? yum whatprovides "gcc(x86-32)" tells (or rpm --aid -Uvh before it). Currently gcc-4.4.4-10.fc13.i686.rpm provides the dependency, to use --aid you need rpmdb-fedora and a RPM version that supports it. > 2. I can't run ldc because > a. The ldc RPM requires Tango, even though this is not an RPM > dependency for ldc, i.e. you can install ldc without any errors. > b. The installation instructions for Fedora on the LDC web site are > incorrect. "yum install ldc" works, but "yum install tango" doesn't. > "yum install tango-devel" is the correct command. (This is the first > time I've heard of <pkg>-devel without a corresponding <pkg>.) This is because Tango (or Phobos) only provides static libraries, if there had been a shared library it would have been "tango"... In the previous packaging one of the "runtime" library providers were required, since the compiler is not very useful without one. > c. After I've gotten everything installed, it still doesn't work. I get > $ ldc hello.d > hello.d(5): Error: module stdio cannot read file 'std/stdio.d' > d. OK, so I link /usr/include/d/tango/stdc to > /usr/include/d/tango/std, but it still doesn't work. I get: > $ ldc hello.d > hello.d(8): Error: undefined identifier writefln > hello.d(8): Error: function expected before (), not writefln > of type int > e. ldc only supports D v1. > f. All of this is too much for me. I give up on ldc. But LDC is the D compiler that Fedora has chosen for inclusion in 14... See https://fedoraproject.org/wiki/Features/D_Programming for details. > 3. I can't get gdc to compile. > a. First I have to get gcc-4.4.4 to compile, but that requires a 4 > year old version of automake. I have to downgrade. > b. After that's fixed, I'm still running into errors that prevent a > build. The errors change from changeset to changeset. So, I'm giving > up on gdc. If you use an older GCC, it is much easier. (GCC 4.1.2 was supported) There's some GDC packages available at http://gdcgnu.sourceforge.net/ > Getting a D compiler to run on x86_64 Linux is too hard. I'm giving up > on D. Seems like you ran into these, all at once: - 32-bit compiler - static runtime - wrong stdlib - older version Some of these will be fixed, when/if updated. --anders |
Copyright © 1999-2021 by the D Language Foundation