Opened 4 years ago

Closed 22 months ago

#673 closed task (fixed)

Improve the multi-library building of the various BUFR tools

Reported by: Ian Culverwell Owned by: Ian Culverwell
Priority: normal Milestone: 11.1
Component: ROPP(all) Version: 9.0
Keywords: Cc:

Description

ROPP-10.0 beta reviewers report:

When the binaries built with the eccodes library are installed, they are
installed with a postfix to their name. We believe this is an excellent approach
if the older versions (e.g. those build against bufrdc ) are also present.

If binaries are only built using the eccodes library (given that bufrdc hasn't
been maintained since a long time), the standard executables (e.g., eum2bufr) do
not even exist. One way around for a user is to manually create symbolic links
to the existing binaries after installation; this could be automated at
installation time (see
https://gitlab.eumetsat.int/ro/ropp/commit/72b037480b07445589724a0ac1299adc6764bccb
for an actual implementation of this feature). An alternative option could be to
install a user-selectable version under the default names. In case such
behaviour is not implemented, the READMEs and other documentation should explain
the chosen approach and make users aware that they need to manually add symbolic
links or rename some binaries when building ROPP against ectools.

Seems quite a good idea. We could build as many of ropp2bufr_mobufr, ropp2bufr_ecbufr and ropp2bufr_eccodes as possible (for example), and then soft link ropp2bufr to the default or preferred version.

Change history (4)

comment:1 by Ian Culverwell, 2 years ago

Milestone: 11.011.1

To be done as part of ROPP-11.1.

comment:2 by Ian Culverwell, 2 years ago

This has been done in the ROPP111_make_test branch - see #688 for the relevant changesets. We use EUMETSAT's suggestion for making the links at installation time.

Thus, for example, with nagfor61, which can only build the metDB BUFR library, ropp_io/tools contains

-rw-r--r--. 1 idculv satsense   137600 Feb  8 12:33 bufr2ropp_mo.o
-rwxr-xr-x. 1 idculv satsense  7612264 Feb  8 12:33 bufr2ropp_mobufr
-rw-r--r--. 1 idculv satsense   157096 Feb  8 12:33 ropp2bufr_mo.o
-rwxr-xr-x. 1 idculv satsense  8745984 Feb  8 12:33 ropp2bufr_mobufr
lrwxrwxrwx. 1 idculv satsense       16 Feb  8 12:33 bufr2ropp -> bufr2ropp_mobufr
lrwxrwxrwx. 1 idculv satsense       16 Feb  8 12:33 ropp2bufr -> ropp2bufr_mobufr

Similarly, $ROPP_ROOT/nagfor61/bin contains

-rwxr-xr-x. 1 idculv satsense  7612264 Feb  8 12:33 bufr2ropp_mobufr
-rwxr-xr-x. 1 idculv satsense  8745984 Feb  8 12:33 ropp2bufr_mobufr
lrwxrwxrwx. 1 idculv satsense       16 Feb  8 12:33 bufr2ropp -> bufr2ropp_mobufr
lrwxrwxrwx. 1 idculv satsense       16 Feb  8 12:33 ropp2bufr -> ropp2bufr_mobufr

Leave this ticket open until the documentation has been updated.

comment:3 by Ian Culverwell, 2 years ago

ROPP-11.1 Release Notes and Change Log created and committed at r7089 and r7090.

comment:4 by Ian Culverwell, 22 months ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.