Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 414469 - sys-devel/gcc-4.5.3-r1 doesn't work - ld: cannot find -lgcc_s
Summary: sys-devel/gcc-4.5.3-r1 doesn't work - ld: cannot find -lgcc_s
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
: 427210 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-05-03 10:37 UTC by Justin Lecher (RETIRED)
Modified: 2017-07-18 09:07 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Justin Lecher (RETIRED) gentoo-dev 2012-05-03 10:37:30 UTC
After bumping to lasted version of the slot which is identical to the normal tree version, gcc cannot compile anymore with the error in topic.

Could it be that the keywording is wrong and we should stick to the specific prefix version?
Or problem with the eclass import?
Comment 1 Fabian Groffen gentoo-dev 2012-05-03 10:46:00 UTC
the eclass is vital in this, so I suspect this bug is invalid
Comment 2 Justin Lecher (RETIRED) gentoo-dev 2012-05-03 10:50:13 UTC
Also an rebuild of 4.52 also gives a broken compiler. Where could the problem be?
Comment 3 Justin Lecher (RETIRED) gentoo-dev 2012-05-03 10:52:47 UTC
(In reply to comment #1)
> the eclass is vital in this, so I suspect this bug is invalid

I didn't do anything to the eclass. Simple emerge --sync.
Comment 4 Justin Lecher (RETIRED) gentoo-dev 2012-05-03 12:42:52 UTC
slot 4.4 can be compiled to a working state, slot 4.5 not.
Comment 5 Justin Lecher (RETIRED) gentoo-dev 2012-05-03 13:41:11 UTC
After some testing, it seems to be the 4.5 slot
Comment 6 Justin Lecher (RETIRED) gentoo-dev 2012-05-03 13:45:38 UTC
Doing the same procedures with other slots let the thing create a working compiler.
Comment 7 Fabian Groffen gentoo-dev 2012-05-03 16:57:07 UTC
can you tell me what you mean exactly with "after bumping to lasted version of the slot ..."?

did you do something, or did I/we do something?  The ChangeLog doesn't reveal much changes for a while
Comment 8 Justin Lecher (RETIRED) gentoo-dev 2012-05-03 19:57:41 UTC
I didn't update for more then a month or two now.
what I did

emerge --sync
emerge -e1 system

Most probably I was with the last gcc:4.5 real prefix version at that time. As soon as gcc was rebuilt nothing compiled anymore. Luckily I had still slot 4.1 installed so I can try.

Building 4.4 and 4.5 succeeds with 4.1 and 4.4, but 4.5 doesn't work with the missing lib error. But it is installed in the correct path.
Comment 9 Justin Lecher (RETIRED) gentoo-dev 2012-05-04 05:16:55 UTC
(In reply to comment #8)
> Building 4.4 and 4.5 succeeds with 4.1 and 4.4, but 4.5 doesn't work with
> the missing lib error. But it is installed in the correct path.


Of course, gcc-config and the sourcing of the profile was done properly.
Comment 10 Fabian Groffen gentoo-dev 2012-05-13 15:25:26 UTC
how about 4.6.3?  I'm leaning towards skipping figuring out why, if 4.6.3 works fine
Comment 11 Justin Lecher (RETIRED) gentoo-dev 2012-05-13 15:29:09 UTC
(In reply to comment #10)
> how about 4.6.3?  I'm leaning towards skipping figuring out why, if 4.6.3
> works fine

Its the same. But there seems to be something else being broken. The problem is that parts of gcc get installed in lib others into lib64.
Comment 12 Justin Lecher (RETIRED) gentoo-dev 2012-05-15 08:00:58 UTC
So I am coming closer

the config log says those two things:


| 
| # If user did not specify libdir, guess the correct target:
| # Use lib64 for 64 bit targets, keep the default for the rest.
| if test "$libdir" = '${exec_prefix}/lib' ; then
| 



|       # Running with linux32:
|       # (Changes detected platform, but not the toolchain target.)
|       case "`/bin/uname -i`" in
|               x86_64 | ppc64 | s390x )
|                       ;;
|               * )
|                       ac_config_site_32bit_target=YES
|                       ;;
|       esac
| 
|       if test "x$ac_config_site_32bit_target" = xNONE; then
|               libdir='${exec_prefix}/lib64'
|       fi
| fi


On gentoo uname -i says "GenuineIntel" on suse it says "x86_64".

Probably we should always pass libdir to work around the detection.
Comment 13 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2012-05-15 13:44:19 UTC
(In reply to comment #12)

> On gentoo uname -i says "GenuineIntel" on suse it says "x86_64".

Is this your VM still?
Comment 14 Justin Lecher (RETIRED) gentoo-dev 2012-05-15 13:46:41 UTC
(In reply to comment #13)
> (In reply to comment #12)
> 
> > On gentoo uname -i says "GenuineIntel" on suse it says "x86_64".
> 
> Is this your VM still?

Right, but a clean one. New installation before creating the prefix.
Comment 15 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2012-05-15 13:50:27 UTC
This bug report is still pointless then, your VM is not matching physical hardware...

% cat /etc/SuSE-release 
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 2
% uname -i
GenuineIntel
Comment 16 Justin Lecher (RETIRED) gentoo-dev 2012-05-15 14:29:16 UTC
But shouldn't I be able to use prefix in VMs?
I checked a couple and it seems that only on gentoo VMs everything is fine. Other OS like Suse or Centos return the arch instead of the platform with -i.
Comment 17 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2012-05-15 15:14:20 UTC
(In reply to comment #16)
> But shouldn't I be able to use prefix in VMs?

Sure, but I consider your VM solution to be not emulating physical hardware properly. You should fix that *or* get upstream to make accommodations for you. 

In other words, "we" cannot make special hacks for every virtual solution if the virtual solution doesn't emulate the physical hardware properly.

Anyway, that is just my opinion. In any case, please attach some patches that you would like to see implemented for review.
Comment 18 Michael Haubenwallner (RETIRED) gentoo-dev 2012-05-15 15:27:54 UTC
I'd wonder if this is related to this patch being applied to coreutils in gentoo:
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/coreutils/8.17/003_all_coreutils-gentoo-uname.patch?view=markup
Comment 19 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2012-05-15 15:57:45 UTC
(In reply to comment #18)
> I'd wonder if this is related to this patch being applied to coreutils in
> gentoo:
> http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/coreutils/
> 8.17/003_all_coreutils-gentoo-uname.patch?view=markup

Doh, thanks Michael.

Justin, you can safely ignore my comments on this thread. On my physical SuSE host, I was using the gentoo coreutils, not native. Sorry about that.

% cat /etc/SuSE-release 
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 2
% /bin/uname -i
x86_64
Comment 20 Justin Lecher (RETIRED) gentoo-dev 2012-05-16 07:13:57 UTC
Okay, I think then the real deep problem is that autotools are using uname -i to get platform information which is bad. Can we do something against this? Gentoo wide?
Comment 21 Fabian Groffen gentoo-dev 2012-05-16 07:55:52 UTC
1) is this a problem on Gentoo Linux in a VM (if yes, make it a gcc-herd bug)
2) if not, does it fix it if we epatch_exclude that 003_* patch from coreutils for Prefix

I hope 1) because that would make more sense to me
Comment 22 Justin Lecher (RETIRED) gentoo-dev 2012-05-16 08:07:18 UTC
(In reply to comment #21)
> 1) is this a problem on Gentoo Linux in a VM (if yes, make it a gcc-herd bug)

gentoo Linux VMs report correctly e.g "GenuineIntel"
Comment 23 Michael Haubenwallner (RETIRED) gentoo-dev 2012-05-16 08:28:24 UTC
A few things in question I can see here about what is correct:
* Output of "uname -i" is different in Gentoo (Linux+Prefix), we do this:
  http://lists.gnu.org/archive/html/bug-coreutils/2005-09/msg00063.html
* The idea behind $ac_config_site_32bit_target in gcc (comment#12)
* Intention for using "uname -i" rather than "uname -p" (in comment#12)
* Correct value of $ac_config_site_32bit_target for Prefix (no multilib)
Comment 24 Michael Haubenwallner (RETIRED) gentoo-dev 2012-05-16 08:39:48 UTC
Err:

(In reply to comment #23)
> A few things in question I can see here about what is correct:
> * Output of "uname -i" is different in Gentoo (Linux+Prefix), we do this:
>   http://lists.gnu.org/archive/html/bug-coreutils/2005-09/msg00063.html

This is even true for "uname -p".

> * The idea behind $ac_config_site_32bit_target in gcc (comment#12)
> * Intention for using "uname -i" rather than "uname -p" (in comment#12)

It is "uname -m" being consistent across distros:

  $ uname -m; linux32 uname -m
  x86_64
  i686

> * Correct value of $ac_config_site_32bit_target for Prefix (no multilib)
Comment 25 Fabian Groffen gentoo-dev 2012-08-10 09:40:34 UTC
*** Bug 427210 has been marked as a duplicate of this bug. ***
Comment 26 Michael Haubenwallner (RETIRED) gentoo-dev 2017-07-18 09:07:15 UTC
We do not use gcc-4.5 any more in Prefix: Still a problem with current gcc (>=5.3)?