Summary: | sys-libs/glibc-2.20: no ldconfig with sh linked to zsh | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | tokiclover <tokiclover> |
Component: | [OLD] Core system | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | floppym |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
environment.bz2 (of ebuild $EBUILD configure)
build.log.bz2 (of ebuild $EBUILD configure) package files (installed files of glibc-2.20) |
Description
tokiclover
2014-11-28 00:32:21 UTC
Created attachment 390436 [details]
environment.bz2 (of ebuild $EBUILD configure)
Created attachment 390438 [details]
build.log.bz2 (of ebuild $EBUILD configure)
Created attachment 390440 [details]
package files (installed files of glibc-2.20)
Do you have a full build log for glibc-2.20? It would be interesting to see if ldconfig even gets built. If you don't have a full log, please generate one. Add PORT_LOGDIR="/var/log/portage" to make.conf, and then do emerge --buildpkgonly sys-libs/glibc. Your log will be saved in /var/log/portage. I found bug 180259. What is your /bin/sh linked to? (In reply to Mike Gilbert from comment #5) > I found bug 180259. What is your /bin/sh linked to? You guess... I was going to rebuild 2.20 for the third time with sh linked to bash. There are a few annoying packages that does have bashisms in the build scripts without any explicit bash requirement. Notably media-video/ffmpeg with 6k lines hand written configure script with a nasty issue. (I looked at it two times already without any hint of the issue even with `emulate sh; setopt SH_WORD_SPLIT' addition.) I managed managed to bring back glibc-2.19-r1 plus a dozen recompilation. Thanks for the hint Mike! glibc des require bash to build the package. PS: I created `/etc/portage/package.bashism' and added: -- pre_pkg_setup() { ... if grep -q "${CATEGORY}/${PN}" /etc/portage/package.bashism && [[ "${SHELL}" == "/bin/zsh" ]]; then ln -f -s /bin/bash /bin/sh fi .. } -- in `/etc/portage/bashrc'. Well, the remaining issue is making that link back to zsh... because there is no safe post installation function that I can use without overriding a possible defined function. Darn, now the system cannot find libgcc_s and libstd++ if I remove the links I had put `/usr/lib'. I already runned `. /etc/profile; env-update' a coule of time to regenerate `/etc/ld.so.cache' to no avail. `/etc/ld.so.conf.d/05gcc-x86_64-pc-linux-gnu.conf' is completly empty. What does maintain it? gcc-config obviously. FIXED at last. I think you are misusing the term "bashism" here. I don't think building glibc actually requires bash as /bin/sh; it requires a shell which conforms to POSIX. It would probably work fine with dash or mksh. I would highly recommend that you change your /bin/sh to a POSIX conforming shell rather than try to work around each package that happens to fail with zsh. If you are going to intentionally break your system, then please be aware of this before filing future bug reports. |