I downloaded the latest GTKAda source RPM (why not just a tarball?) and extracted the source files. I have gnat-gcc 4.1 installed. GTKAda configures without any errors but when I run make I get the following:
According to the GCC documentation, pragma Obsolescent only applies to subprograms in GCC 4.0.3, but in GCC 4.1.1 it can also apply to packages. Apparently GTKada 2.8.1 uses this new feature. You should double-check which compiler was invoked and what version it is. I see that GCC was called as "gnatgcc", so it's not from one of our RPM packages.
As to "why not just a tarball?": The Gnuada project packages Ada tools and libraries for various operating systems. SuSE and Fedora are RPM-based, so we make RPM packages for those systems. In compliance with the GPL we also publish the source code you need to rebuild the RPM packages, and that source code is SRPM packages.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
RPM automaticly creates a .src.rpm file which includes the one or more source tarballs, one or more patch files and last not least the script used to create the i686.rpm file.
If you use a system very similar (like i.E. SuSE 9.3 or 9.1) you could just say:
rpm --rebuild *.src.rpm
and get custom make rpm for your system.
Martin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I downloaded the latest GTKAda source RPM (why not just a tarball?) and extracted the source files. I have gnat-gcc 4.1 installed. GTKAda configures without any errors but when I run make I get the following:
gnatgcc -c -I../ -O2 -gnatn -gnatws -fPIC -I- ../make_gtk.adb
gtk-clist.ads:68:04: pragma "Obsolescent" misplaced, must immediately follow subprogram spec
gtk-combo.ads:69:04: pragma "Obsolescent" misplaced, must immediately follow subprogram spec
gtk-list.ads:41:04: pragma "Obsolescent" misplaced, must immediately follow subprogram spec
gtk-ctree.ads:68:04: pragma "Obsolescent" misplaced, must immediately follow subprogram spec
gtk-item_factory.ads:44:04: pragma "Obsolescent" misplaced, must immediately follow subprogram spec
gtk-list_item.ads:36:04: pragma "Obsolescent" misplaced, must immediately follow subprogram spec
gtk-option_menu.ads:45:04: pragma "Obsolescent" misplaced, must immediately follow subprogram spec
gtk-pixmap.ads:40:04: pragma "Obsolescent" misplaced, must immediately follow subprogram spec
gtk-preview.ads:43:04: pragma "Obsolescent" misplaced, must immediately follow subprogram spec
gtk-progress.ads:42:04: pragma "Obsolescent" misplaced, must immediately follow subprogram spec
gtk-text.ads:48:04: pragma "Obsolescent" misplaced, must immediately follow subprogram spec
gtk-old_editable.ads:43:04: pragma "Obsolescent" misplaced, must immediately follow subprogram spec
gtk-tips_query.ads:38:04: pragma "Obsolescent" misplaced, must immediately follow subprogram spec
gnatmake: "../make_gtk.adb" compilation error
make[1]: [lib-obj/make_gtk.o] Error 4
make[1]: Leaving directory `/home/heng/Sources/GtkAda-2_8_1/src'
make: [all] Error 2
What do I need to do to fix this?
According to the GCC documentation, pragma Obsolescent only applies to subprograms in GCC 4.0.3, but in GCC 4.1.1 it can also apply to packages. Apparently GTKada 2.8.1 uses this new feature. You should double-check which compiler was invoked and what version it is. I see that GCC was called as "gnatgcc", so it's not from one of our RPM packages.
As to "why not just a tarball?": The Gnuada project packages Ada tools and libraries for various operating systems. SuSE and Fedora are RPM-based, so we make RPM packages for those systems. In compliance with the GPL we also publish the source code you need to rebuild the RPM packages, and that source code is SRPM packages.
> why not just a tarball?
RPM automaticly creates a .src.rpm file which includes the one or more source tarballs, one or more patch files and last not least the script used to create the i686.rpm file.
If you use a system very similar (like i.E. SuSE 9.3 or 9.1) you could just say:
rpm --rebuild *.src.rpm
and get custom make rpm for your system.
Martin