This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Re: How to 'Compile against glibc build tree' ?
- From: "Carlos O'Donell" <carlos at redhat dot com>
- To: David Aldrich <David dot Aldrich at EMEA dot NEC dot COM>, Arjun Shankar <arjun dot is at lostca dot se>
- Cc: "libc-help at sourceware dot org" <libc-help at sourceware dot org>
- Date: Tue, 1 Dec 2015 11:02:24 -0500
- Subject: Re: How to 'Compile against glibc build tree' ?
- Authentication-results: sourceware.org; auth=none
- References: <41302A7145AC054FA7A96CFD03835A0A0BA21168 at EX10MBX02 dot EU dot NEC dot COM> <20151201135018 dot GA82831 at aloka dot lostca dot se> <41302A7145AC054FA7A96CFD03835A0A0BA217B6 at EX10MBX02 dot EU dot NEC dot COM> <20151201143700 dot GA83235 at aloka dot lostca dot se> <41302A7145AC054FA7A96CFD03835A0A0BA217F9 at EX10MBX02 dot EU dot NEC dot COM> <565DC338 dot 1000902 at redhat dot com>
On 12/01/2015 10:56 AM, Carlos O'Donell wrote:
> On 12/01/2015 09:40 AM, David Aldrich wrote:
>>
>>> I guess you're aware that the library search paths are baked into
>>> the binary, and moving or removing your freshly built glibc will
>>> mean that the binary won't run.
>>
>> Yes, understood. The thing is that I need glibc 2.22 because it
>> includes a bug fix for dlopen(), but I don't want to disrupt the
>> system version. So we have to put up with any limitations :-)
>
> You are not quite following the right process.
This process is effectively called "library bundling" but you've
bundled all the way to the lowest level. It isn't a recommended way
to ship applications because it's outside of the control of your
system administrator and thus outside the loop of regular security
alerts and processes. It also violates most Linux distribution
guidelines.
The best practice today is actually to containerize such an application
and run it in a container technology like docker, lxc, xdg-app etc.
However, you have to solve your own problems as you see fit, all we
can do is give you advice, and some days the end justifies the means :-)
Cheers,
Carlos.