comp.lang.ada
 help / color / mirror / Atom feed
* Introducing Comfignat
@ 2013-08-07 17:32 Björn Persson
  2013-08-07 18:01 ` Simon Wright
  2013-08-10 14:52 ` Tero Koskinen
  0 siblings, 2 replies; 10+ messages in thread
From: Björn Persson @ 2013-08-07 17:32 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 2519 bytes --]

Last Friday I published the first release of Comfignat. Comfignat is
common, convenient, command-line-controlled compile-time configuration
of software built with the GNAT tools on Unix-like operating systems.

In my work on packaging Ada software in Fedora I have found that most
Ada projects have rather inflexible build systems. Makefiles and project
files usually have to be modified to meet Fedora’s policies. Files
placement is often not configurable enough, and support for multiarch
systems and installation to a staging directory is often missing. There
is also a lack of naming conventions. In C projects Make variables such
as CFLAGS and LDFLAGS are a well established de facto standard. Among
Ada projects there is no consensus. The lack of conventions slows
packaging down as it takes time to figure out each makefile.

It’s quite understandable that Ada programmers don’t want to write a lot
of Make code for every project but rather focus on their Ada
programming, but the result is inflexible makefiles that don’t meet
users’ and distributions’ needs.

To make my own projects fully configurable, multiarch-capable and
stageable while minimizing the amount of Make code that must be written
for every new project, I have written Comfignat. It consists of a
makefile foundation with generic Make code to be included by each
project’s makefile, and an abstract GNAT project file to be imported by
each project’s project files. Leveraging GNU Make and Gnatprep,
Comfignat adds the flexibility that GNAT project files lack, so that
programs and libraries can easily be configured for all sorts of use
cases, such as installing locally from source, packaging in a
distribution, building relocatable binary packages, or testing and
debugging on a developer’s workstation.

As all the code in Comfignat is generic it should be useful in any
project that targets GNAT and Unix-like systems, and will greatly reduce
the amount of Make code that needs to be written for each project. It
works for mixed-language projects as well as pure Ada projects, and
Gnatmake and GPRbuild are both supported.

Read more:
https://www.rombobjörn.se/Comfignat/

Download the tarball:
https://www.rombobjörn.se/Comfignat/download/

Browse the code online:
https://gitorious.org/comfignat/comfignat/trees/master

See how my projects use Comfignat:
https://gitorious.org/adamilter/adamilter/trees/master
https://gitorious.org/adamilter/system_log/trees/master


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Introducing Comfignat
  2013-08-07 17:32 Introducing Comfignat Björn Persson
@ 2013-08-07 18:01 ` Simon Wright
  2013-08-07 19:00   ` Björn Persson
  2013-08-10 14:52 ` Tero Koskinen
  1 sibling, 1 reply; 10+ messages in thread
From: Simon Wright @ 2013-08-07 18:01 UTC (permalink / raw)


Björn Persson <Bjorn@xn--rombobjrn-67a.se> writes:

This is an interesting idea!

> Files placement is often not configurable enough

As part of GNAT GPL 2013, AdaCore have introduced (with no fanfare) a
tool gprinstall, part of GPRBuild, which knows how to install a library
built with a GPR into the appropriate locations. It seems to have enough
parameterisation to allow installation into a Debian layout as well as a
GNAT/FSF layout (I've only tried the latter); of course you'd need to
set the switches accordingly!


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Introducing Comfignat
  2013-08-07 18:01 ` Simon Wright
@ 2013-08-07 19:00   ` Björn Persson
  0 siblings, 0 replies; 10+ messages in thread
From: Björn Persson @ 2013-08-07 19:00 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 1141 bytes --]

Simon Wright wrote:
> Björn Persson <Bjorn@xn--rombobjrn-67a.se> writes:
> 
> This is an interesting idea!
> 
> > Files placement is often not configurable enough
> 
> As part of GNAT GPL 2013, AdaCore have introduced (with no fanfare) a
> tool gprinstall, part of GPRBuild, which knows how to install a library
> built with a GPR into the appropriate locations. It seems to have enough
> parameterisation to allow installation into a Debian layout as well as a
> GNAT/FSF layout (I've only tried the latter); of course you'd need to
> set the switches accordingly!

I haven't tried GPRinstall, but judging from the manual it doesn't seem
to support staging. It generates a usage project file apparently, and
that file will presumably contain the same pathnames that it copies the
files to, so if you try to include the staging directory as part of the
prefix, then the usage project file will be wrong. If I'm right, then
GPRinstall is useless for packaging in Fedora.

It also doesn't seem to install documentation, configuration files,
initscripts et cetera, so it does only a part of the job.

Björn Persson


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Introducing Comfignat
  2013-08-07 17:32 Introducing Comfignat Björn Persson
  2013-08-07 18:01 ` Simon Wright
@ 2013-08-10 14:52 ` Tero Koskinen
  2013-08-12  9:03   ` Björn Persson
  1 sibling, 1 reply; 10+ messages in thread
From: Tero Koskinen @ 2013-08-10 14:52 UTC (permalink / raw)


Hi,

On Wed, 07 Aug 2013 19:32:09 +0200
Björn Persson <Bjorn@xn--rombobjrn-67a.se> wrote:

> Last Friday I published the first release of Comfignat. Comfignat is
> common, convenient, command-line-controlled compile-time configuration
> of software built with the GNAT tools on Unix-like operating systems.

I tried to apply comfignat for my Ahven project[1]. While it
was mostly straightforward, I have some questions:

How do you control what goes to staging directory?

For me, only two source files (out of ~20 or so) goes there:
% find gnat/stage -type f
gnat/stage/usr/local/share/gpr/ahven.gpr
gnat/stage/usr/local/include/ahven/ahven.ads
gnat/stage/usr/local/include/ahven/ahven.adb
gnat/stage/usr/local/lib/ahven/ahven.ali
gnat/stage/usr/local/lib/libahven.so.24
%

Also, how do I get documentation (built by a separate Python tool)
there (easily)?

The build log is following:
% hg clone https://bitbucket.org/tkoskine/ahven-comfignat ahven-comfignat-https
requesting all changes
adding changesets
adding manifests
adding file changes
added 706 changesets with 1459 changes to 182 files
updating to branch default
126 files updated, 0 files merged, 0 files removed, 0 files unresolved
% cd ahven-comfignat-https
% LANG=C make
cd gnat && make
/home/tkoskine/work/ahven-comfignat-https/gnat
make[1]: Entering directory `/home/tkoskine/work/ahven-comfignat-https/gnat'
"gnatprep" comfignat.gpr.gp /home/tkoskine/work/ahven-comfignat-https/gnat/comfignat.gpr -DInvoked_By_Makefile '-DBuilddir="/home/tkoskine/work/ahven-comfignat-https/gnat"' '-DObjdir="/home/tkoskine/work/ahven-comfignat-https/gnat/obj"' '-DStagedir="/home/tkoskine/work/ahven-comfignat-https/gnat/stage"' '-DDatadir="/usr/local/share"' '-DSysconfdir="/usr/local/etc"' '-DStatedir="/usr/local/var/lib"' '-DCachedir="/usr/local/var/cache"' '-DLogdir="/usr/local/var/log"' '-DGPRdir="/usr/local/share/gpr"' '-DLocaledir="/usr/local/share/locale"' '-DMandir="/usr/local/share/man"' '-DInfodir="/usr/local/share/info"' '-DMiscdocdir="/usr/local/share/doc"' '-DRuntimedir="/run"' '-DLockdir="/run/lock"' '-DBindir="/usr/local/bin"' '-DLibexecdir="/usr/local/libexec"' '-DIncludedir="/usr/local/include"' '-DLibdir="/usr/local/lib"' '-DStage_Bindir="/home/tkoskine/work/ahven-comfignat-https/gnat/stage/usr/local/bin"' '-DStage_Libexecdir="/home/tkoskine/work/ahven-comfignat-https/gnat/stage/usr/local/libexec"' '-DStage_Includedir="/home/tkoskine/work/ahven-comfignat-https/gnat/stage/usr/local/include"' '-DStage_Libdir="/home/tkoskine/work/ahven-comfignat-https/gnat/stage/usr/local/lib"'
"gprbuild" -P build_ahven.gpr -aP/home/tkoskine/work/ahven-comfignat-https/gnat -aP/home/tkoskine/work/ahven-comfignat-https/gnat -p     -cargs:Ada  -cargs:C   -cargs:C++   -cargs:Fortran  -bargs  -largs 
object directory "/home/tkoskine/work/ahven-comfignat-https/gnat/obj" created
library directory "/home/tkoskine/work/ahven-comfignat-https/gnat/stage/usr/local/lib" created for project build_ahven
library ALI directory "/home/tkoskine/work/ahven-comfignat-https/gnat/stage/usr/local/lib/ahven" created for project build_ahven
library source copy directory "/home/tkoskine/work/ahven-comfignat-https/gnat/stage/usr/local/include/ahven" created for project build_ahven
gcc -c -fPIC ahven_compat.adb
gcc -c -fPIC ahven-results.adb
gcc -c -fPIC ahven-tap_runner.adb
gcc -c -fPIC ahven-listeners-basic.adb
gcc -c -fPIC ahven-framework.adb
gcc -c -fPIC ahven-slist.adb
gcc -c -fPIC ahven-parameters.adb
gcc -c -fPIC ahven-xml_runner.adb
gcc -c -fPIC ahven-temporary_output.adb
gcc -c -fPIC ahven-text_runner.adb
gcc -c -fPIC ahven.adb
gcc -c -fPIC ahven-astrings.ads
gcc -c -fPIC ahven-runner.adb
gcc -c -fPIC ahven-listeners.adb
gcc -c -fPIC ahven-long_astrings.ads
gprlib ahven.lexch
/usr/bin/gnatbind -n -o b__ahven.adb -Lahven ahven_compat.ali ...
/usr/bin/gcc -c -x ada -gnatA -gnatws b__ahven.adb -o b__ahven.o -fPIC -mtune=generic -march=x86-64
/usr/bin/gcc -shared -o /home/tkoskine/work/ahven-comfignat-https/gnat/stage/usr/local/lib//libahven.so.24 -L/usr/lib/gcc/x86_64-redhat-linux/4.7.2/adalib/ -lgnarl-4.7 -lgnat-4.7 -Wl,-soname,libahven.so.24 /home/tkoskine/work/ahven-comfignat-https/gnat/obj/ahven_compat.o /home/tkoskine/work/ahven-comfignat-https/gnat/obj/ahven-results.o /home/tkoskine/work/ahven-comfignat-https/gnat/obj/ahven-tap_runner.o /home/tkoskine/work/ahven-comfignat-https/gnat/obj/ahven-listeners-basic.o /home/tkoskine/work/ahven-comfignat-https/gnat/obj/ahven-framework.o /home/tkoskine/work/ahven-comfignat-https/gnat/obj/ahven-slist.o /home/tkoskine/work/ahven-comfignat-https/gnat/obj/ahven-parameters.o /home/tkoskine/work/ahven-comfignat-https/gnat/obj/ahven-xml_runner.o /home/tkoskine/work/ahven-comfignat-https/gnat/obj/ahven-temporary_output.o /home/tkoskine/work/ahven-comfignat-https/gnat/obj/ahven-text_runner.o /home/tkoskine/work/ahven-comfignat-https/gnat/obj/ahven.o /home/tkoskine/work/ahven-comfignat-https/gnat/obj/ahven-astrings.o /home/tkoskine/work/ahven-comfignat-https/gnat/obj/ahven-runner.o /home/tkoskine/work/ahven-comfignat-https/gnat/obj/ahven-listeners.o /home/tkoskine/work/ahven-comfignat-https/gnat/obj/ahven-long_astrings.o b__ahven.o
mkdir -p /home/tkoskine/work/ahven-comfignat-https/gnat/stage/usr/local/share/gpr
"gnatprep" ahven.gpr.gp /home/tkoskine/work/ahven-comfignat-https/gnat/stage/usr/local/share/gpr/ahven.gpr    '-DIncludedir="/usr/local/include"' '-DLibdir="/usr/local/lib"'
make[1]: Leaving directory `/home/tkoskine/work/ahven-comfignat-https/gnat'
%

This is tested on Fedora 18/x86_64. (using base gcc/gnat and
also GNAT GPL 2012)

-- 
Tero Koskinen - http://iki.fi/tero.koskinen/

[1] https://bitbucket.org/tkoskine/ahven-comfignat


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Introducing Comfignat
  2013-08-10 14:52 ` Tero Koskinen
@ 2013-08-12  9:03   ` Björn Persson
  2013-08-13 14:24     ` Tero Koskinen
  0 siblings, 1 reply; 10+ messages in thread
From: Björn Persson @ 2013-08-12  9:03 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 2683 bytes --]

Tero Koskinen wrote:
> On Wed, 07 Aug 2013 19:32:09 +0200
> Björn Persson <Bjorn@xn--rombobjrn-67a.se> wrote:
> 
> > Last Friday I published the first release of Comfignat. Comfignat is
> > common, convenient, command-line-controlled compile-time configuration
> > of software built with the GNAT tools on Unix-like operating systems.
> 
> I tried to apply comfignat for my Ahven project[1].

Thank you. This should make it easy to package Ahven in Fedora, and then
we can run the test suites of Anet, which is now packaged without the
tests, and Alog and the Trusted Key Manager, which I want to package.

> While it
> was mostly straightforward, I have some questions:
> 
> How do you control what goes to staging directory?
> 
> For me, only two source files (out of ~20 or so) goes there:
> % find gnat/stage -type f
> gnat/stage/usr/local/share/gpr/ahven.gpr
> gnat/stage/usr/local/include/ahven/ahven.ads
> gnat/stage/usr/local/include/ahven/ahven.adb
> gnat/stage/usr/local/lib/ahven/ahven.ali
> gnat/stage/usr/local/lib/libahven.so.24
> %

GPRbuild or Gnatmake copies the source files. It's supposed to be only
those files that are needed for compiling code that uses the library,
that is the specifications of the interface packages and those bodies
that contain generics or inlined subprograms. Your build project says
“for Library_Interface use ("Ahven");”, so the package Ahven is the only
interface package. It contains a generic procedure. Therefore ahven.ads
and ahven.adb are staged.

> Also, how do I get documentation (built by a separate Python tool)
> there (easily)?

Comfignat doesn't know about the Python tool so you'll need to write a
rule in your makefile to invoke it. To get the documentation staged you
should use the Make variables stage_mandir (for manpages), stage_infodir
(for the Info format) and stage_miscdocdir (for other documentation). 

Hopefully the tool allows you to specify an output directory, and then
you can tell it to write directly to "${stage_miscdocdir}/ahven" for
example.

In case the tool is hardcoded to write the files in the source tree,
your makefile will have to copy them to the appropriate directories. In
that case the tool also doesn't support out-of-tree builds, but will
write the files in the source tree even when a separate build directory
is used, so you'll be copying from srcdir. The commands might be:

  mkdir -p "${stage_miscdocdir}/ahven"
  cp -RPp ${srcdir}/some/where/* "${stage_miscdocdir}/ahven/"

A possible future extension to Comfignat might be additional makefile
modules for some popular documentation generators.

Björn Persson


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Introducing Comfignat
  2013-08-12  9:03   ` Björn Persson
@ 2013-08-13 14:24     ` Tero Koskinen
  2013-08-14 13:13       ` Crash problem with GNAT in Fedora 18 (was: Introducing Comfignat) Björn Persson
  0 siblings, 1 reply; 10+ messages in thread
From: Tero Koskinen @ 2013-08-13 14:24 UTC (permalink / raw)


On Mon, 12 Aug 2013 11:03:57 +0200
Björn Persson <Bjorn@xn--rombobjrn-67a.se> wrote:

> Tero Koskinen wrote:
> > How do you control what goes to staging directory?
> 
> that contain generics or inlined subprograms. Your build project says
> “for Library_Interface use ("Ahven");”, so the package Ahven is the only
> interface package. It contains a generic procedure. Therefore ahven.ads
> and ahven.adb are staged.

Thanks. Adding other packages there helped. Now the source files
are correctly populated.

However, next problem seems to be that anything linked with Ahven
crashes if Ahven is compiled with base gcc/gnat on Fedora 18.
GNAT GPL 2012 works, so it is base gcc/gnat problem on Fedora.
(And I made sure that I have static libgnat installed, so the crash
isn't directly related to it.)

But that isn't a problem in comfignat itself, so I think I'll file a
bug to Fedora bug tracker (or just send email to you) once I sort the
problem out.

-- 
Tero Koskinen - http://iki.fi/tero.koskinen/


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Crash problem with GNAT in Fedora 18 (was: Introducing Comfignat)
  2013-08-13 14:24     ` Tero Koskinen
@ 2013-08-14 13:13       ` Björn Persson
  2013-08-20  5:10         ` Crash problem with GNAT in Fedora 18 Tero Koskinen
  0 siblings, 1 reply; 10+ messages in thread
From: Björn Persson @ 2013-08-14 13:13 UTC (permalink / raw)


Tero Koskinen wrote:
> However, next problem seems to be that anything linked with Ahven
> crashes if Ahven is compiled with base gcc/gnat on Fedora 18.
> GNAT GPL 2012 works, so it is base gcc/gnat problem on Fedora.
> (And I made sure that I have static libgnat installed, so the crash
> isn't directly related to it.)

That sounds like it might be the initialization bug in GPRbuild 2011:
https://bugzilla.redhat.com/show_bug.cgi?id=853866

If so, you might want to upgrade to Fedora 19 which has GPRbuild 2012.
As a quick test to see if the bug is in GPRbuild you can set
GNAT_BUILDER=gnatmake on the Make command line.

> But that isn't a problem in comfignat itself, so I think I'll file a
> bug to Fedora bug tracker (or just send email to you) once I sort the
> problem out.

I'm not a GCC or GPRbuild maintainer so I would be the wrong person to
send email to. If it turns out to be a problem with how GCC is packaged
in Fedora, then please report it in Red Hat Bugzilla. If the bug is
present in upstream GCC, then it's probably better to report it in GCC
Bugzilla.

Björn Persson

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Crash problem with GNAT in Fedora 18
  2013-08-14 13:13       ` Crash problem with GNAT in Fedora 18 (was: Introducing Comfignat) Björn Persson
@ 2013-08-20  5:10         ` Tero Koskinen
  2013-08-20  7:26           ` Simon Wright
  2013-08-24  8:34           ` Björn Persson
  0 siblings, 2 replies; 10+ messages in thread
From: Tero Koskinen @ 2013-08-20  5:10 UTC (permalink / raw)


14.8.2013 16:13, Björn Persson kirjoitti:
> Tero Koskinen wrote:
>> However, next problem seems to be that anything linked with Ahven
>> crashes if Ahven is compiled with base gcc/gnat on Fedora 18.
>> GNAT GPL 2012 works, so it is base gcc/gnat problem on Fedora.
>> (And I made sure that I have static libgnat installed, so the crash
>> isn't directly related to it.)
>
> That sounds like it might be the initialization bug in GPRbuild 2011:
> https://bugzilla.redhat.com/show_bug.cgi?id=853866
>
> If so, you might want to upgrade to Fedora 19 which has GPRbuild 2012.

I installed Fedora 19/x86_64 inside virtual machine and tested there,
but got following error:
build_ahven.gpr:3:17: no languages defined for this project
build_ahven.gpr:10:30: warning: libraries are not supported on this platform
comfignat.gpr:29:18: no languages defined for this project
gprbuild: "build_ahven.gpr" processing failed


Full log:
[tkoskine@localhost work]$ hg clone 
https://bitbucket.org/tkoskine/ahven-comfignat
destination directory: ahven-comfignat
requesting all changes
adding changesets
adding manifests
adding file changes
added 707 changesets with 1460 changes to 182 files
updating to branch default
126 files updated, 0 files merged, 0 files removed, 0 files unresolved
[tkoskine@localhost work]$ cd ahven-comfignat/
[tkoskine@localhost ahven-comfignat]$ ls
adabrowse.conf  doc       gnat      Makefile         README.rst  src
contrib         examples  janusada  Makefile.legacy  ROADMAP     test
css             extra     LICENSE   NEWS             rules       tools
[tkoskine@localhost ahven-comfignat]$ make
cd gnat && make
make[1]: Siirrytään hakemistoon "/home/tkoskine/work/ahven-comfignat/gnat"
"gnatprep" comfignat.gpr.gp 
/home/tkoskine/work/ahven-comfignat/gnat/comfignat.gpr 
-DInvoked_By_Makefile 
'-DBuilddir="/home/tkoskine/work/ahven-comfignat/gnat"' 
'-DObjdir="/home/tkoskine/work/ahven-comfignat/gnat/obj"' 
'-DStagedir="/home/tkoskine/work/ahven-comfignat/gnat/stage"' 
'-DDatadir="/usr/local/share"' '-DSysconfdir="/usr/local/etc"' 
'-DStatedir="/usr/local/var/lib"' '-DCachedir="/usr/local/var/cache"' 
'-DLogdir="/usr/local/var/log"' '-DGPRdir="/usr/local/share/gpr"' 
'-DLocaledir="/usr/local/share/locale"' 
'-DMandir="/usr/local/share/man"' '-DInfodir="/usr/local/share/info"' 
'-DMiscdocdir="/usr/local/share/doc"' '-DRuntimedir="/run"' 
'-DLockdir="/run/lock"' '-DBindir="/usr/local/bin"' 
'-DLibexecdir="/usr/local/libexec"' '-DIncludedir="/usr/local/include"' 
'-DLibdir="/usr/local/lib"' 
'-DStage_Bindir="/home/tkoskine/work/ahven-comfignat/gnat/stage/usr/local/bin"' 
'-DStage_Libexecdir="/home/tkoskine/work/ahven-comfignat/gnat/stage/usr/local/libexec"' 
'-DStage_Includedir="/home/tkoskine/work/ahven-comfignat/gnat/stage/usr/local/include"' 
'-DStage_Libdir="/home/tkoskine/work/ahven-comfignat/gnat/stage/usr/local/lib"'
"gprbuild" -P build_ahven.gpr 
-aP/home/tkoskine/work/ahven-comfignat/gnat 
-aP/home/tkoskine/work/ahven-comfignat/gnat -p     -cargs:Ada  -cargs:C 
   -cargs:C++   -cargs:Fortran  -bargs  -largs
object directory "/home/tkoskine/work/ahven-comfignat/gnat/obj/" created
library directory 
"/home/tkoskine/work/ahven-comfignat/gnat/stage/usr/local/lib" created 
for project build_ahven
build_ahven.gpr:3:17: no languages defined for this project
build_ahven.gpr:10:30: warning: libraries are not supported on this platform
comfignat.gpr:29:18: no languages defined for this project
gprbuild: "build_ahven.gpr" processing failed
make[1]: *** [build_ahven.gpr.phony_target] Virhe 4
make[1]: Poistutaan hakemistosta "/home/tkoskine/work/ahven-comfignat/gnat"
make: *** [default] Virhe 2
[tkoskine@localhost ahven-comfignat]$ cat /etc/fedora-release
Fedora release 19 (Schrödinger’s Cat)
[tkoskine@localhost ahven-comfignat]$ rpm -qa|grep gprbuild
gprbuild-2012-4.fc19.x86_64
[tkoskine@localhost ahven-comfignat]$ uname -a
Linux localhost.localdomain 3.10.7-200.fc19.x86_64 #1 SMP Thu Aug 15 
23:19:45 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[tkoskine@localhost ahven-comfignat]$

> As a quick test to see if the bug is in GPRbuild you can set
> GNAT_BUILDER=gnatmake on the Make command line.

Thanks, this work-around helped on Fedora 18 and 19.

> Björn Persson
>

Yours,
  Tero


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Crash problem with GNAT in Fedora 18
  2013-08-20  5:10         ` Crash problem with GNAT in Fedora 18 Tero Koskinen
@ 2013-08-20  7:26           ` Simon Wright
  2013-08-24  8:34           ` Björn Persson
  1 sibling, 0 replies; 10+ messages in thread
From: Simon Wright @ 2013-08-20  7:26 UTC (permalink / raw)


Tero Koskinen <tero.koskinen@iki.fi> writes:

> I installed Fedora 19/x86_64 inside virtual machine and tested there,
> but got following error:
> build_ahven.gpr:3:17: no languages defined for this project
> build_ahven.gpr:10:30: warning: libraries are not supported on this platform
> comfignat.gpr:29:18: no languages defined for this project
> gprbuild: "build_ahven.gpr" processing failed

I had problems like this when gprbuild was built by a different compiler
from the one accessible on $PATH.

I think you can overcome it by specifying --target using the target
triplet for the compiler you intend to use (gcc -v reports this in the
Target: line).


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Crash problem with GNAT in Fedora 18
  2013-08-20  5:10         ` Crash problem with GNAT in Fedora 18 Tero Koskinen
  2013-08-20  7:26           ` Simon Wright
@ 2013-08-24  8:34           ` Björn Persson
  1 sibling, 0 replies; 10+ messages in thread
From: Björn Persson @ 2013-08-24  8:34 UTC (permalink / raw)


Tero Koskinen wrote:
> 14.8.2013 16:13, Björn Persson kirjoitti:
> > Tero Koskinen wrote:
> >> However, next problem seems to be that anything linked with Ahven
> >> crashes if Ahven is compiled with base gcc/gnat on Fedora 18.
> >> GNAT GPL 2012 works, so it is base gcc/gnat problem on Fedora.
> >> (And I made sure that I have static libgnat installed, so the crash
> >> isn't directly related to it.)
> >
> > That sounds like it might be the initialization bug in GPRbuild
> > 2011: https://bugzilla.redhat.com/show_bug.cgi?id=853866
> >
> > If so, you might want to upgrade to Fedora 19 which has GPRbuild
> > 2012.
> 
> I installed Fedora 19/x86_64 inside virtual machine and tested there,
> but got following error:
> build_ahven.gpr:3:17: no languages defined for this project
> build_ahven.gpr:10:30: warning: libraries are not supported on this platform 
> comfignat.gpr:29:18: no languages defined for this project
> gprbuild: "build_ahven.gpr" processing failed

That's really strange. It works for me on one virtual and two physical
x86-64 machines running Fedora 19. And if your virtual machine is newly
installed there shouldn't be any other version of GPRbuild lying around.

Björn Persson

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-08-24  8:34 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-07 17:32 Introducing Comfignat Björn Persson
2013-08-07 18:01 ` Simon Wright
2013-08-07 19:00   ` Björn Persson
2013-08-10 14:52 ` Tero Koskinen
2013-08-12  9:03   ` Björn Persson
2013-08-13 14:24     ` Tero Koskinen
2013-08-14 13:13       ` Crash problem with GNAT in Fedora 18 (was: Introducing Comfignat) Björn Persson
2013-08-20  5:10         ` Crash problem with GNAT in Fedora 18 Tero Koskinen
2013-08-20  7:26           ` Simon Wright
2013-08-24  8:34           ` Björn Persson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox