In fact, I started playing with what I have to do for my job, Web services in Ada with AWS, just to see what kind of overall performance we could get.
Those would already read this french post know that I have been chosen to work with BPEL. This horrible language runs on an enterprise bus[1] and that this kind of architecture mainly run with Java.
Here, began my sick mind to search for something else. How to build an ESB in Ada ?

To make Web services talking, easy, we just need AWS but what about the bus ?
In fact, it's also very easy as one tool seems to be the good candidate. We need PolyORB.
Ok, let's have a look at the FreeBSD ports, we can find a brand new shiny Ada compiler offered by Mr Marino and his team but no PolyORB at all. There's no matter, I'm a computer engineer after all !!!!

Go !! I download the latest version and begin to compile :

fred@coruscant:~/Dev/Ada/PolyORB/polyorb-gpl-2011-src>./configure \
--with-appli-perso="corba moma dsa" \
--with-proto-perso="giop soap" \
--with-corba-services="event naming ir notification time"
fred@coruscant:~/Dev/Ada/PolyORB/polyorb-gpl-2011-src>gmake

Then, it's compiling for a while before crashing miserably with a beautyful :

PCS version mismatch: expander 4, PCS (polyorb_dsa) 5
compilation abandoned
PCS version mismatch: expander 4, PCS (polyorb_dsa) 5
s-parint.adb:764:39: run-time configuration error
compilation abandoned
s-parint.adb:764:39: entity "System.Partition_Interface.Ta_I" not defined
gnatmake: "/home/fred/Dev/Ada/PolyORB/polyorb-gpl-2011-src/src/dsa/polyorb-dsa_p-storages-dsm.adb" compilation error
gnatmake: "/home/fred/Dev/Ada/PolyORB/polyorb-gpl-2011-src/src/dsa/s-shasto.adb" compilation error
gnatmake: "/home/fred/Dev/Ada/PolyORB/polyorb-gpl-2011-src/src/dsa/s-parint.adb" compilation error
gmake: *** [polyorb_src_dsa.gpr] Erreur 4

Ok, FYI, untaught people, DSA is distributed computing for Ada. One advantage, it's defined in the standard and it's lighter than plain old CORBA code.
Off course, as I'm sometimes a code warrior[2], I don't read the whole message and say to myself :

Stupid guy, get the latest, bleeding edge version !!

First, I often talk to me as stupid. Second, more interesting, Subversion repository URL is present on the PolyORB page. Let's go :

fred@coruscant:~/Dev/Ada/PolyORB/>svn co http://svn.eu.adacore.com/anonsvn/Dev/trunk/polyorb

Imagine how I felt when I saw once again the error message !!!

After crying a lot, I read the message again and found it finally very clear[3]

PCS version mismatch: expander 4, PCS (polyorb_dsa) 5

Well, well, some pieces won't talk to each other ? Ok, it seems that PolyORB version is 5 and the other one 4.
I found that my Ada compiler is too old compared to middleware. No problem ! I have an access to a Subversion repository, no ? The question is What to checkout ?" and the anwser is The PolyORB version from the same time than my compiler[4].

fred@coruscant:~/Dev/Ada/PolyORB/>svn co -r \{15042011\} http://svn.eu.adacore.com/anonsvn/Dev/trunk/polyorb

Yahooooooo !!! It's now compiling and installing correctly !
Thanks to my contributor Charlie5, I finally know that I can fetch up to the 170161 revision.

So now, you would ask :

And then ?


Well, then, for the moment, I just played with CORBA and DSA examples.
So, this post is only useful for compiling PolyORB on FreeBSD with the current version[5] of gnat-aux... Sorry for disturbing :D

As english people would[6] say more to come later !

Notes

[1] Beware, this post turns to a hypish one

[2] Do I have to put a copyright here ?? ;)

[3] Well after googling for a while and reading README.DSA :D

[4] More or less as I did'nt found clearly when :)

[5] As of today

[6] Maybe ! My english is not always good