[torqueusers] torque 2.3.4 problem with mom_priv/confg and server_name

Martin Siegert siegert at sfu.ca
Thu Nov 13 12:53:05 MST 2008

On Thu, Nov 13, 2008 at 12:06:59PM -0700, Josh Butikofer wrote:
> Chris Samuel wrote:
> >----- "Garrick Staples" <garrick at usc.edu> wrote:
> >
> >>But now the soname has gone back in time to libtorque.so.0, breaking
> >>binaries again.... during a stable release branch.
> >
> >Hmm, won't that cause distro packagers issues too ?
> >
> >Though many of them may still be packaging 2.1.x (Ubuntu
> >Intrepid has 2.1.8 for example).
> Obviously this was not intended. Looks like there was a misunderstanding 
> on our side that using a -version-info of 2:0:2 would create both a 
> libtorque.so.0 and libtorque.so.2. This is not the case and I suspect 
> that during our tests we had an old libtorque.so.2 floating around...
> In any case, this does need to be fixed. I think the best thing to do is 
> to revert back to the 2:0:0 versioning and release 2.3.5. We do, 
> however, also need a libtorque.so.0 symlink in the lib dir, as there are 
> still many binaries that link against that (which when the library was 
> moved to libtorque.so.2, has caused some inconveniences for a lot of 
> people). This was the whole motivation for going to a 2:0:2 version.
> I propose we add a install-exec-hook to the Makefile.am/.in files in 
> src/lib/Libpbs which creates this symlink. What does everyone think?
> For example, here is what I propose:
> install-exec-hook:
>   cd $(DESTDIR)$(libdir) && \
>     rm -f $(DESTDIR)$(libdir)/libtorque.so.0 && \
>     $(LN_S) libtorque.so.2.0.0 libtorque.so.0

This cannot work, can it? Which soname is hardcoded into the library?
It has to be either libtorque.so.2 or libtorque.so.0. And an application
that was compiled and linked with the former won't link with the latter
and vice versa. E.g., I have one system with torque-2.3.3 and

# ldd /usr/local/moab/sbin/moab
	libtorque.so.2 => /usr/local/torque-2.3.3/lib/libtorque.so.2 (0x4005d000)

and another with torque-2.1.6

# ldd /usr/local/moab/sbin/moab
	libtorque.so.0 => /usr/local/torque-2.1.6/lib/libtorque.so.0 (0x00000080000f7000)

Thus, regardless of what you end up doing I would have to recompile moab
on one of the two systems if I want it to link to the new torque version.

> The only problem with this is I'm hard coding the filenames. I'm not a 
> automake/autoconf wizard ... does anyone know a more portable way of 
> doing this?

- Martin

Martin Siegert
Head, Research Computing
WestGrid Site Lead
IT Services                                phone: 778 782-4691
Simon Fraser University                    fax:   778 782-4242
Burnaby, British Columbia                  email: siegert at sfu.ca
Canada  V5A 1S6

More information about the torqueusers mailing list