SCIENTIFIC-LINUX-USERS Archives

July 2014

SCIENTIFIC-LINUX-USERS@LISTSERV.FNAL.GOV

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Yasha Karant <[log in to unmask]>
Reply To:
Yasha Karant <[log in to unmask]>
Date:
Thu, 10 Jul 2014 08:45:40 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (84 lines)
Unfortunately,  proprietary vendor applications for which the vendor 
does NOT release source, or does so with a dependence upon libraries or 
other applications for which source is not available, typically are 
impossible to port but instead require a "container" if the application 
requires a specific base dynamic (.so) library that fundamentally 
conflicts with the base Linux system.  Most such vendors do not produce 
a self-contained version or a version using only static libraries (.a) 
to avoid dynamic dependencies.  Some do provide full environments (e.g., 
Qoppa PDF Studio Pro that I use as a Linux replacement for Adobe PDF 
editing and composition applications), but these typically are "small".

That is one of the issues with RHEL as a base -- RHEL quickly gets quite 
far behind the current enthusiast distributions (e.g., Ubuntu), and 
purportedly significantly "behind" SuSE Enterprise. Note that a number 
of specialist vendors seem to be using a SuSE Enterprise base for 
building because that distribution seems to strike a different 
compromise between security, stability, and a more current environment 
than does RHEL.  For my work, I insist on EL on all primary 
servers/workstations, although a colleague at our site is maintaining a 
small OpenSuSE based system for our own testing and compatibility 
purposes (OpenSuSE is similar in concept to a Fedora Red Hat system, but 
significantly more stable).  We do not have a SuSE Enterprise license, 
and no one seems to have produced something akin to SL but based upon 
SuSE Enterprise. Does anyone on this list have current production SuSE 
Enterprise in use?  Off list replies are fine.

Yasha Karant

On 07/09/2014 05:48 PM, Nico Kadel-Garcia wrote:
> On Wed, Jul 9, 2014 at 8:19 PM, Yasha Karant <[log in to unmask]> wrote:
>> This post is a follow-up to Re: [SCIENTIFIC-LINUX-USERS]
>> glibc-2.15-60.el6.x86_64.rpm [correction].  I had forgotten this trick, but
>> I received an off-list email that explained what to do. This sort of
>> information should be kept in a central SL (or EL or CentOS, etc.)
>> repository -- a practicum of how-to workarounds -- as it used to be for BSD
>> and SunOS a rather long time in the past.  As the correspondent did not use
>> the SL list, I am assuming that she/he wishes not to be the public author of
>> the commentary below (slightly edited).
> This was me. I thought I'd sent it to the list: it's all cool.
>
>
>> Quote.
>>
>> Use rpm2cpio to unbundle the glibc into an alternative location in
>> "/opt". Put shell wrappers in $HOME/bin that set LD_LIBRARY_PATH,
>> MANPATH, etc. to the new location. Install the binary, as well, in ta
>> parallel location in /opt., also accessed by the wrapper. Try using
>> the shell wrappers to summon the binaries with those variables set to
>> point to the new library
>>
>> *DO NOT*  use RPM to install this,  even if you succeed you're likely
>> to seriously break the system. It's like replacing the motor on a car
>> while it's running, replacing a diesel with a Wankel motor.
> Yeah, you can kind of tell it's me from that part....
>
>
>> End quote.
>>
>> Note that after I update a major library, I do not attempt to keep the
>> system running, but reboot, with the pre-updated libraries available in such
>> a form that I can use the shell from a rescue DVD (or USB if one must) to
>> redo the links.  (E.g., if this is libmajor.so.M and it is replaced by
>> libmajor.so.N, N .ne. M, then before any such attempted installation, I do a
>> cp -pr of libmajor.so.M to orig-libmajor.so.M, and if the rescue method must
>> be used, mv libmajor.so.N to new-failed-libmajor.so.N and mv
>> orig-libmajor.so.M to libmajor.so.M.  Note that is a time consuming  set of
>> steps that requires physical access.  Polymorphic virtualisation of file
>> systems nominally could avoid this methodology, but has other problems and
>> risks.)  I do thank the private correspondent for the workaround.
>> Hopefully, the shell wrappers will work (a shell wrapper for each
>> application file that requires the other environment.)
>
> The other dirty trick would be to use something like 'mock' to build a
> chroot cage, and put your tools inside the chroot cage. Then set aside
> the chroot cage for that application, specifically.
>
> Attempts to provide application 'containers' that start to include
> core components like glibc...... start getting very bulky, very fast,
> and lose the performance advantages of a consistent library cache in
> use throughoutt an operating system's  working environment. It's
> *feasible*, and there are reasons to do it to segregate applications.
> But it gets really resource expensive, really fast, and Linux is *not*
> designed around it.

ATOM RSS1 RSS2