www.digitalmars.com         C & C++   DMDScript  

D.gnu - GDC rpm for Fedora?

reply "F i L" <witte2008 gmail.com> writes:
Any chance we might see a GDC Fedora .rpm at some point? I'm 
relatively new to Linux in general but I use Fedora because it 
has LDC D2 in the software center and comes with a clean Gnome 
Shell (my favorite DE) by default. If I had more experience I'd 
try to build one myself, only I just got GDC to compile a month 
ago and I still don't know how to install it (like the LDC is 
installed) so I think I'm a bit too green just yet. GCC seems to 
yield better overall runtime performance than LLVM so I'd like to 
easily be able to use GDC with Mono-D without having to Bash 
"export PATH=$PATH:/opt/gdc/bin" or remember not to delete the 
gdc folder out of my Home directory.
Dec 12 2011
next sibling parent Iain Buclaw <ibuclaw ubuntu.com> writes:
On 12 December 2011 20:17, F i L <witte2008 gmail.com> wrote:
 Any chance we might see a GDC Fedora .rpm at some point? I'm relatively new
 to Linux in general but I use Fedora because it has LDC D2 in the software
 center and comes with a clean Gnome Shell (my favorite DE) by default. If I
 had more experience I'd try to build one myself, only I just got GDC to
 compile a month ago and I still don't know how to install it (like the LDC
 is installed) so I think I'm a bit too green just yet. GCC seems to yield
 better overall runtime performance than LLVM so I'd like to easily be able
 to use GDC with Mono-D without having to Bash "export
 PATH=$PATH:/opt/gdc/bin" or remember not to delete the gdc folder out of my
 Home directory.

Fedora requires that GDC be on the current release that they are shipping in rawhide (which currently would be 4.7 pre-release) - as there is no (actively maintained) port for that, they probably won't ship. The same issue is with gcc-pascal too, to which only supports 4.1. -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
Dec 12 2011
prev sibling next sibling parent "F i L" <witte2008 gmail.com> writes:
On Monday, 12 December 2011 at 20:36:04 UTC, Iain Buclaw wrote:
 On 12 December 2011 20:17, F i L <witte2008 gmail.com> wrote:
 Any chance we might see a GDC Fedora .rpm at some point? I'm 
 relatively new
 to Linux in general but I use Fedora because it has LDC D2 in 
 the software
 center and comes with a clean Gnome Shell (my favorite DE) by 
 default. If I
 had more experience I'd try to build one myself, only I just 
 got GDC to
 compile a month ago and I still don't know how to install it 
 (like the LDC
 is installed) so I think I'm a bit too green just yet. GCC 
 seems to yield
 better overall runtime performance than LLVM so I'd like to 
 easily be able
 to use GDC with Mono-D without having to Bash "export
 PATH=$PATH:/opt/gdc/bin" or remember not to delete the gdc 
 folder out of my
 Home directory.

Fedora requires that GDC be on the current release that they are shipping in rawhide (which currently would be 4.7 pre-release) - as there is no (actively maintained) port for that, they probably won't ship. The same issue is with gcc-pascal too, to which only supports 4.1.

Sorry, I'm still a bit confused. Are you saying you'd have to wait until Fedora 17 to release GDC on that distro (due to aggressive regulations)? Or simply that no one is actively maintaining a repository for it right now? Sorry for what's probably an obvious question. Like I said, I'm new to Linux. On one hand I really like the way Linux distros provide user friendly software centers. On the other, it's annoying how apparently fragmented, disconnected, and out-of-date they are from one another.
Dec 12 2011
prev sibling next sibling parent reply Ellery Newcomer <ellery-newcomer utulsa.edu> writes:
On 12/12/2011 02:17 PM, F i L wrote:
 Any chance we might see a GDC Fedora .rpm at some point? I'm relatively
 new to Linux in general but I use Fedora because it has LDC D2 in the
 software center and comes with a clean Gnome Shell (my favorite DE) by
 default. If I had more experience I'd try to build one myself, only I
 just got GDC to compile a month ago and I still don't know how to
 install it (like the LDC is installed) so I think I'm a bit too green
 just yet. GCC seems to yield better overall runtime performance than
 LLVM so I'd like to easily be able to use GDC with Mono-D without having
 to Bash "export PATH=$PATH:/opt/gdc/bin" or remember not to delete the
 gdc folder out of my Home directory.

I did this once a month or two ago. Tomorrow I'll see if I can't find the scripts I used for you
Dec 12 2011
parent reply Ellery Newcomer <ellery-newcomer utulsa.edu> writes:
On 12/13/2011 01:43 AM, Ellery Newcomer wrote:
 On 12/12/2011 02:17 PM, F i L wrote:
 Any chance we might see a GDC Fedora .rpm at some point? I'm relatively
 new to Linux in general but I use Fedora because it has LDC D2 in the
 software center and comes with a clean Gnome Shell (my favorite DE) by
 default. If I had more experience I'd try to build one myself, only I
 just got GDC to compile a month ago and I still don't know how to
 install it (like the LDC is installed) so I think I'm a bit too green
 just yet. GCC seems to yield better overall runtime performance than
 LLVM so I'd like to easily be able to use GDC with Mono-D without having
 to Bash "export PATH=$PATH:/opt/gdc/bin" or remember not to delete the
 gdc folder out of my Home directory.

I did this once a month or two ago. Tomorrow I'll see if I can't find the scripts I used for you

http://personal.utulsa.edu/~ellery-newcomer/gdcbuild.sh http://personal.utulsa.edu/~ellery-newcomer/rpmbuild.sh looks like the second script wants the file gdc-1.0.tar.gz [to be in the same directory], which has gdc-1.0 as the top level directory. It should contain everything that gets installed to $PREFIX in the first script. also looks like f16 is on gcc 4.6.2 now.. resulting rpm contains only files unique to gdc. looks to gcc and gcc-c++ for everything else. for some reason, gdc doesn't seem to know where object.d is, and you have to add the flags -I /usr/include/d2/4.6.1/ -I /usr/include/d2/4.6.1/x86_64-redhat-linux/
Dec 13 2011
parent Ellery Newcomer <ellery-newcomer utulsa.edu> writes:
On 12/13/2011 05:10 PM, Iain Buclaw wrote:
 
 That will probably be because of:
 
 PREFIX=`echo ~`/gdc3
 ...
 ./configure --prefix=$PREFIX
 
 
 gdc will look in $PREFIX/include/d2 for the import files.
 

would setting --prefix=/usr/ and then running make install prefix=otherprefix be an effective workaround? also, for gdc rev 695, I'm getting a ../../gcc/d/d-glue.cc:3030:11: error: ‘struct function’ has no member named ‘naked’ know what that's about? F i L: gdcbuild seems to be a bit buggy. I'll update it here when I've gotten a build out of it.
Dec 13 2011
prev sibling next sibling parent Trass3r <un known.com> writes:
 If I had more experience I'd try to build one myself, only I just got  
 GDC to compile a month ago and I still don't know how to install it  
 (like the LDC is installed)

I don't understand. Building it is the harder part (though imho it's not hard at all on Linux). Just run make install or make install-strip (just make sure you configured prefix right). The build instructions explain everything.
 I'd like to easily be able to use GDC with Mono-D without having to Bash  
 "export PATH=$PATH:/opt/gdc/bin" or remember not to delete the gdc  
 folder out of my Home directory.

Where's the problem with adding it to your path? I have both ldc and gdc (in /opt) in my path. Works perfectly.
Dec 13 2011
prev sibling next sibling parent Iain Buclaw <ibuclaw ubuntu.com> writes:
On 13 December 2011 22:15, Ellery Newcomer <ellery-newcomer utulsa.edu> wrote:
 for some reason, gdc doesn't seem to know where object.d is, and you
 have to add the flags

 -I /usr/include/d2/4.6.1/ -I /usr/include/d2/4.6.1/x86_64-redhat-linux/

That will probably be because of: PREFIX=`echo ~`/gdc3 ... ./configure --prefix=$PREFIX gdc will look in $PREFIX/include/d2 for the import files. Regards --- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
Dec 13 2011
prev sibling next sibling parent "F i L" <witte2008 gmail.com> writes:
Ellery Newcomer wrote:
 http://personal.utulsa.edu/~ellery-newcomer/gdcbuild.sh
 http://personal.utulsa.edu/~ellery-newcomer/rpmbuild.sh

Awesome! I'll give this a try. Thanks :)
Dec 13 2011
prev sibling next sibling parent "F i L" <witte2008 gmail.com> writes:
Trass3r wrote:
 Just run make install or make install-strip (just make sure you 
 configured prefix right).

Thanks for the info.
Dec 13 2011
prev sibling next sibling parent "F i L" <witte2008 gmail.com> writes:
Ellery Newcomer wrote:
  F i L: gdcbuild seems to be a bit buggy. I'll update it here 
 when I've
 gotten a build out of it.

Awesome. Thanks for your efforts!
Dec 13 2011
prev sibling next sibling parent Iain Buclaw <ibuclaw ubuntu.com> writes:
On 14 December 2011 02:00, Ellery Newcomer <ellery-newcomer utulsa.edu> wro=
te:
 On 12/13/2011 05:10 PM, Iain Buclaw wrote:
 That will probably be because of:

 PREFIX=3D`echo ~`/gdc3
 ...
 ./configure --prefix=3D$PREFIX


 gdc will look in $PREFIX/include/d2 for the import files.

would setting --prefix=3D/usr/ and then running make install prefix=3Dotherprefix be an effective workaround?

I think you mean: make install DESTDIR=3Dotherprefix Yes, that is how you package software in debian, I'd imagine the same here.= :-)
 also, for gdc rev 695, I'm getting a

 ../../gcc/d/d-glue.cc:3030:11: error: =91struct function=92 has no member
 named =91naked=92

 know what that's about?

GDC requires patches to be applied to GCC-proper. See patch-gcc-4.6.x and patch-toplev-4.6.x Regards, --=20 Iain Buclaw *(p < e ? p++ : p) =3D (c & 0x0f) + '0';
Dec 14 2011
prev sibling next sibling parent Dejan Lekic <dejan.lekic gmail.com> writes:
F i L wrote:

 Any chance we might see a GDC Fedora .rpm at some point? I'm
 relatively new to Linux in general but I use Fedora because it
 has LDC D2 in the software center and comes with a clean Gnome
 Shell (my favorite DE) by default. If I had more experience I'd
 try to build one myself, only I just got GDC to compile a month
 ago and I still don't know how to install it (like the LDC is
 installed) so I think I'm a bit too green just yet. GCC seems to
 yield better overall runtime performance than LLVM so I'd like to
 easily be able to use GDC with Mono-D without having to Bash
 "export PATH=$PATH:/opt/gdc/bin" or remember not to delete the
 gdc folder out of my Home directory.

I have a SRPM which patches and compiles Fedora's GCC package(s). It creates gcc-d (example: /home/dejan/var/rpm/RPMS/x86_64/gcc- d-4.5.1-4.fc14.x86_64.rpm ) RPM, and replaces system's gcc. I had no time to update it for use with later GCC because I decided to wait for GDC to be included in GCC, and then D will be in GCC anyway... :) If you wish, I can update my SRPM and post it somewhere together with my .spec file.
Dec 14 2011
prev sibling parent "F i L" <witte2008 gmail.com> writes:
On Wednesday, 14 December 2011 at 21:50:18 UTC, Dejan Lekic wrote:
 F i L wrote:

 Any chance we might see a GDC Fedora .rpm at some point? I'm
 relatively new to Linux in general but I use Fedora because it
 has LDC D2 in the software center and comes with a clean Gnome
 Shell (my favorite DE) by default. If I had more experience I'd
 try to build one myself, only I just got GDC to compile a month
 ago and I still don't know how to install it (like the LDC is
 installed) so I think I'm a bit too green just yet. GCC seems 
 to
 yield better overall runtime performance than LLVM so I'd like 
 to
 easily be able to use GDC with Mono-D without having to Bash
 "export PATH=$PATH:/opt/gdc/bin" or remember not to delete the
 gdc folder out of my Home directory.

I have a SRPM which patches and compiles Fedora's GCC package(s). It creates gcc-d (example: /home/dejan/var/rpm/RPMS/x86_64/gcc- d-4.5.1-4.fc14.x86_64.rpm ) RPM, and replaces system's gcc. I had no time to update it for use with later GCC because I decided to wait for GDC to be included in GCC, and then D will be in GCC anyway... :) If you wish, I can update my SRPM and post it somewhere together with my .spec file.

Thanks for the offer but I think I'll just wait for the GDC to be included in the GCC as well. For now, I can use LDC and DMD with Mono-D fine and terminal compile with GDC when I want that extra umf. Thanks for everyone's help and input on this.
Dec 15 2011