So, last time, we found that the UDT development had been implemeted against a more recent version of libnice than was currently available to our distro RHEL/CentOS 6.
Decided to go for broke and look to build the latest libnice I could find, 0.1.4 from an OpeSUSE, source RPM and, with a bit of fiddling - mainly removing the examples that have been added to the libsource source tree since 0.0.9, which seem to reply on on glib-compat stuff to compile - produed both a libnice and libnice-devel RPM, at version 0.1.4, for RHEL/CentOS6. Removed the most recent RHEL/CentOS 6 libnice RPMs from the system and local installed the ones I had just built. Built all the non-UDT globus components with make globus-gsi gridftp globus-data-management-server globus-data-management-client without issue, as before, but when coming to now type make udt I see that whilst the version of libnice is satisfied, the whole thing now grinds to halt with ---8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<------- checking for GLIB... configure: error: Package requirements (glib-2.0 >= 2.32 gthread-2.0 gio-2.0 gobject-2.0) were not met: Requested 'glib-2.0 >= 2.32' but version of GLib is 2.22.5 ---8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<------- which suggests that whoever is adding UDT into the GRidFTP tree is doing on it on a system that precludes it from ever being deployed on the current RHEL/CemtOS systems, given that the latest version of glib2 that CentOS allows one to go to with an update appears to be just 2.26.1-3.el6. It'd be "nice" if someone from the Globus team would take the time to tell people what OS they have been developing on, and the OSes they are developing for, and whether there are any plans to backport all the cutting edge stuff to current mainstream distros. Alternatively, is there really anything in the UDT code that, unlike the rest of the source tree, requires a glib-2.0 >= 2.32' or is that requirement merely an artefact of the cutting edge OS that the code is being developed on, and not a requirement at all ? Intrestingly, there's comment in source-trees/xio/drivers/udt_ref/ice.c that starts ---8<----------8<----------8<----------8<----------8<----------8<----------8<-------- /* Library for adding ICE to an existing application using libnice. Designed * to work with libnice 0.0.9 or later and glib2 2.22.5 or later. * ---8<----------8<----------8<----------8<----------8<----------8<----------8<-------- which suggests that the original design was, once anyway, targetting mainstream distros. Really need more info from the Globus team. Just for fun though, I downgraded the GLIB2 requirement in the configure file and, during the resulting compilation, saw things get as far as an attempted compilation of globus_xio_udt_ref.cpp however that fell at the first hurdle with a globus_xio_udt_ref.cpp:18:17: error: udt.h: No such file or directory and, whilst there's a source-trees/xio/external_libs/udt/udt4/src/udt.h that may be the header that's required, the fact that the GridFTP build system is not making it available at compile time suggests that there are all sorts of issues to be sorted out.
