[PolyORB-users] Compilation of DSA personality with gnat-4.4

Ludovic Brenta ludovic at ludovic-brenta.org
Wed May 13 18:15:30 CEST 2009


xavier grave <xavier.grave at ipno.in2p3.fr> writes:
> Hi everybody,
>
> It seems that some change in the latests gcc (promoted to gnat-4.4
> thanks to Ludovic Brenta) should solve one bug about string handling for
> annex E. During the polyorb compilation I have the following error :
>
> ADA_PROJECT_PATH="/root/polyorb/polyorb/projects:/root/polyorb/polyorb/projects:$ADA_PROJECT_PATH"
> gnatmake -P src_dsa.gpr --create-missing-dirs -g -O2 -XBuild=PRODUCTION
> -XWarnings_Mode=e -j4  -a -cargs
> gcc-4.4 -c -gnat05 -gnati1 -gnatf
> -gnatec=/root/polyorb/polyorb/src/config.adc -gnatyg -gnatwale -gnatp
> -gnatn -gnatE -g -O2 -I- -gnatA
> /root/polyorb/polyorb/src/dsa/polyorb-termination_manager.adb
> gcc-4.4 -c -gnat05 -gnati1 -gnatf
> -gnatec=/root/polyorb/polyorb/src/config.adc -gnatyg -gnatwale -gnatp
> -gnatn -gnatE -g -O2 -I- -gnatA
> /root/polyorb/polyorb/src/dsa/polyorb-dsa_p-storages-dsm.adb
> polyorb-termination_manager.ads:51:09: run-time configuration error
> polyorb-termination_manager.ads:51:09: entity
> "System.Partition_Interface.Allocate_Buffer" not defined
> polyorb-dsa_p-storages-dsm.ads:63:09: run-time configuration error
> polyorb-dsa_p-storages-dsm.ads:63:09: entity
> "System.Partition_Interface.Allocate_Buffer" not defined
> gnatmake:
> "/root/polyorb/polyorb/src/dsa/polyorb-termination_manager.adb"
> compilation error
> gnatmake: "/root/polyorb/polyorb/src/dsa/polyorb-dsa_p-storages-dsm.adb"
> compilation error
>
> Does anybody have any idea how to solve this ?
> I will compile a gcc 4.5 to check if the problem comes from the patch
> backport or not.

I have researched the logs a bit.

In PolyORB's log:

Date: 2009-04-23T17:19:23

[PolyORB @ 143261]
(System.Partition_Interface.Allocate_Buffer):
 Removed, no longer used.

According to GCC's log, exp_dist.adb has been emitting calls to the
procedure since 2004-12-08, with the addition of:

    2006-10-31  Thomas Quinot  <quinot at adacore.com>
            * exp_dist.adb
    	(Build_From_Any_Function, case of tagged types): Add missing call to
    	Allocate_Buffer.

My conclusion: this is another impedance mismatch between PolyORB and
GCC.  I guess we'll have to wait until AdaCore publishes the GCC patch
that stops exp_dist.adb from emitting these calls.  I'll backport it
into gnat-4.4, too.

In the mean time, maye you should revert to an older version of PolyORB
(i.e. before revision 143261 in Subversion).  I would suggest, for now,
revision 1239b292361c6ad7d22fee454bb18c72b876888d on branch
com.adacore.polyorb.debian in Ada-France's monotone database; it is
based on r141128.

-- 
Ludovic Brenta.


More information about the PolyORB-users mailing list