Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 19043 - glibc fails to build when $LD_RUN_PATH is set in the environment
Summary: glibc fails to build when $LD_RUN_PATH is set in the environment
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-04-09 11:40 UTC by Felix von Leitner
Modified: 2004-07-08 15:24 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
glibc CVS HEAD bug fix patch (diff,397 bytes, patch)
2004-06-18 16:29 UTC, Felix von Leitner
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Felix von Leitner 2003-04-09 11:40:14 UTC
The error message is:

Inconsistency detected by ld.so: dynamic-link.h: 161: elf_get_dynamic_info:
Assertion `info[15] == ((void *)0)' failed!

I diagnosed and reported this bug to the glibc people a while ago, maybe it'll
be fixed in the next glibc version.  2.3.2-r1 however still has this problem.

Reproducible: Always
Steps to Reproduce:
1. export LD_RUN_PATH=/does/not/matter
2. emerge -u glibc
3.

Actual Results:  
Inconsistency detected by ld.so: dynamic-link.h: 161: elf_get_dynamic_info:
Assertion `info[15] == ((void *)0)' failed!
make[2]: *** Waiting for unfinished jobs....
make[2]: ***
[/var/tmp/portage/glibc-2.3.2-r1/work/glibc-2.3.2/buildhere/sunrpc/rpcsvc/bootparam_prot.stmp]
Error 127
make[2]: Leaving directory `/var/tmp/portage/glibc-2.3.2-r1/work/glibc-2.3.2/sunrpc'
make[1]: *** [sunrpc/others] Error 2
make[1]: Leaving directory `/var/tmp/portage/glibc-2.3.2-r1/work/glibc-2.3.2'
make: *** [all] Error 2


Expected Results:  
compile through ;)
Comment 1 Felix von Leitner 2003-10-17 12:13:46 UTC
This bug is still not fixed in glibc-2.3.2-r7.

Why?  It's trivial!  Just unset LD_RUN_PATH before calling configure.
Another two hours of my time wasted with this glibc bullshit.

Please fix this now!
Comment 2 Stefan Jones (RETIRED) gentoo-dev 2003-10-17 12:38:17 UTC
Ah, I see the problem now.
The env variable LD_RUN_PATH affects ld, which causes strange linking ...

The real problem is where LD_RUN_PATH is set, as it would effect all compiling..

Find this and that is the true source of the problem!

There are many env variables which could zap any ebuild, but there are rare
enough not to unset them all; this could be one of them.
Comment 3 SpanKY gentoo-dev 2003-10-17 23:43:55 UTC
i'd suggest making this a variable users arent allowed to over ride in the
portage environment
Comment 4 Felix von Leitner 2003-11-19 11:40:39 UTC
Oh come on, _yet_ another glibc version, 2.3.2-r9, and this bug is _still_ not fixed?  What is the matter with you people?  Just edit dynamic-link.h, line 184, and comment that line out.  Is it that difficult?  I don't get it.  This is about the eighth hour I have wasted watching Gentoo build glibc and then fail because of this bug.

If you don't want to fix that bug in the glibc sources, please at least unset LD_RUN_PATH in the ebuild.  I didn't think doing this was so immensely difficult!  I reported this in April, that's over half a year ago!
Comment 5 Alexander Gabert (RETIRED) gentoo-dev 2004-03-05 03:35:13 UTC
can you tell me the reason you are explicitly setting LD_RUN_PATH

you may ask yourself why this bug has been "hanging" around in glibc and bugzilla so long - i would not comment on that other than to say that it is "extraordinary" to set those kinds of environment variables.

but on the other hand you are right to get it fixed because it adds up to some unwanted behaviour.

thanks,

Alex
Comment 6 Felix von Leitner 2004-03-05 04:41:46 UTC
I am setting LD_RUN_PATH explicitly because it is in my standard shell environment.  This is a development box, not just a Gentoo environment.
I am setting LD_RUN_PATH to point to all my projects so the binaries will find their shared libraries without me having to list 30 more directories in ld.so.conf.
Comment 7 Alexander Gabert (RETIRED) gentoo-dev 2004-03-11 07:27:46 UTC
could there be any unforeseen side effects from unsetting the LD_RUN_PATH in the glibc ebuild?
Comment 8 Nicholas Jones (RETIRED) gentoo-dev 2004-03-20 14:42:24 UTC
Babysitting is not portage's primary mode of operation.
Please fix your environment as it obviously has some
issues if it's breaking libc. Felix, please quit being so
brash, as this is obviously such a massive and widespread
problem that you are the only one complaining semi-anually.

I'm not touching this until I get a concensus on it.
I'm really not concerned about this, and don't intend
to remove it globally as I've known a couple of users
that actually employed this as a feature.

If anyone cares to see something happen, feel free to
talk to people and have them comment on this.
Comment 9 Felix von Leitner 2004-03-20 17:00:47 UTC
Excuse me?

I describe a clear bug in portage, I tell you how to fix it, there are no counterindications, and now you refuse to fix it on the grounds that noone else complained?!

Can I see your superior please?  This kind of behaviour might be tolerable for Debian.  It is not for Gentoo.  If this is how Gentoo handles bug reports, I'm outta here.

I am reopening this mainly because you say "I've known a couple of users that actually employed this as a feature".  I call your bluff.

Please explain how triggering an unnecessary assertion in the system dynamic linker (which will break any and every program in the system) can be construed as a feature.  I'm actually very curious.

I have been bullshitted before by other distributions, but calling this a feature, that takes the cake.

And I thought I finally found a distribution that actually tried to fix bugs people report.  Sheesh.

LD_RUN_PATH is neither undocumented nor particularly obscure.  man ld documents it.  I use it.  Your system component breaks.  Fix it.  How can you even discuss this?  Uncommenting that one stupid line in glibc would have taken you like 10 minutes, much less than posting this insulting bugzilla entry here.
Comment 10 Seemant Kulleen (RETIRED) gentoo-dev 2004-03-20 17:22:27 UTC
Felix, please don't be so harsh with this.  The problem here is that you are running a non-standard environment, and the effects of making the change are, at least to some of us, unknown for other users and other packages.  Maybe Azarah has a comment. In the meantime, I'll request that you try and keep your temper under control.
Comment 11 Felix von Leitner 2004-03-20 17:29:16 UTC
EVERYONE has a non-standard environment!

That is the whole IDEA behind Gentoo!

If I wanted a non-configurable restricting "standard" corset, I'd be using MacOS.

Look, I understand if you are cautious.  I understand if you want to take a week or two to look for side effects (there are none).

But this bug has been open for almost a year now.  Even Microsoft fixes their bugs faster than that.
Comment 12 Marius Mauch (RETIRED) gentoo-dev 2004-03-20 17:43:09 UTC
Is this only about the glibc ebuild or unsetting the variable for portage in general? If it's the former then it's not dev-portage territory anyway.
(Note: before you accuse someone make sure you are not misunderstanding him)
Comment 13 Joshua Kinard gentoo-dev 2004-03-20 17:44:15 UTC
You said you sent this upstream to the glibc people, do you know if they're gonna include this fix in the next release?, if so, you might try the glibc-2.3.3_pre20040207 ebuild and see if it's fixed in there, or try glibc cvs and see if it's fixed.  If it is, then this bug could be fixed with the release of glibc-2.3.3.

Otherwise, it is an issue that needs to be checked.  glibc isn't a trivial package to just go adding tweaks/fixes reported by only one person thus far.  While the age of this bug isn't exactly something to happy of, you admit you do have a rather non-standard operating environment (out of the normal gentoo environment, which itself can vary depending on installation), so it currently looks like you're the only one experiencing this issue.

On the other hand, maybe a more recent glibc-2.3.3_pre200403* ebuild can be cooked up when Azarah gets some free time (he's been rather busy lately), and this fix can be tossed into it for testing, since it'd be an experimental ebuild anyways.
Comment 14 Felix von Leitner 2004-03-20 18:03:28 UTC
I recommended removing the superfluous assertion, because that will fix the problem without touching anything else.

I did not assign this to dev-portage.

I have no idea why the glibc people have not done anything or if they have done anything in the most recent snapshot.  And, to be honest, I am not comfortable installing a beta glibc snapshot on my development machine.  glibc has broken binary compatibility before, I do not want to compromise my binaries.  It was aeons ago that I reported this to the glibc people and never heard anything back from them.  They probably have their reasons to ignore bug reports.  I did not expect anything else (why would they listen to me, I am bashing them all the time and even wrote my own libc to get rid of glibc where I can).  I do expect Gentoo to fix bugs that are reported to them even if upstream is not able or not willing to fix a bug.  Gentoo does this all the time to packages all over the portage tree.  I fail to see why it can not or should not be done here.

About the question whether to unset LD_RUN_PATH or not globally in portage: how can you say on one hand that my environment is non-standard because I set LD_RUN_PATH and on the other hand say you don't know if unsetting would break anything?  I don't get it.  Either you say I am not supposed to set it (and then go ahead and unset it), or I am supposed to be able to set it, then please remove the assertion in glibc.  Either way, this is a bug.  Please fix it.
Comment 15 Nicholas Jones (RETIRED) gentoo-dev 2004-03-25 08:49:21 UTC
Seemant is probably the superior you'd want to talk to if you feel the need.

Perhaps I am confusing LD_RUN_PATH with LD_PRELOAD or some other linker
variable, but the main point is still that this is something that hasn't
ever come up (as far as we're aware) for anyone except you. If you can
point out a bug on gcc's tracker where they have accepted the issue and
a fix, I'm sure someone can see if it's worth our time applying such a
patch to a critical package.

I must also be confused about how this works for your regular development
work but fails for glibc.


Base-system: care to take ownership here?
Comment 16 solar (RETIRED) gentoo-dev 2004-06-17 13:32:31 UTC
I don't see any patches attached to this bug. 
Please attach/propose one that clearly shows the behavior you desire.
Comment 17 Felix von Leitner 2004-06-18 16:29:09 UTC
Created attachment 33537 [details, diff]
glibc CVS HEAD bug fix patch
Comment 18 Alexander Gabert (RETIRED) gentoo-dev 2004-07-08 13:18:35 UTC
Travis Tilley or Peter Mazinger, can you evaluate this please and take care of adding it to recent glibc versions?

Thanks in advance,

Alex
Comment 19 Travis Tilley (RETIRED) gentoo-dev 2004-07-08 15:24:54 UTC
i'm sorry, i dont know why that line was added so i am not about to just comment it out. if you want that done, take it up with the upstream devs.

however, i dont see much harm in unsetting that environment variable. it's not present on any normal system and should only have an effect on this one user.

fixed in all glibc ebuilds... enjoy.