Bug 62391
Summary: | rpm --rebuild generates strange dependency on "CC" | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | steve |
Component: | rpm-build | Assignee: | Jeff Johnson <jbj> |
Status: | CLOSED NOTABUG | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 7.1 | ||
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | ftp://icarus.com/pub/eda/sdcc/sdcc-2.3.0-1.src.rpm | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2002-03-31 02:34:34 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
steve
2002-03-31 02:34:29 UTC
This is probably a packaging problem, not an rpm problem. Diagnose by installing into a build root using rpm -bi --short-circuit and then running find-requires manually find <RPM_BUILD_ROOT directory | /usr/lib/rpm/find-requires (Note: substitute the path for the token "<RPM_BUILD_ROOT directory>") I run find-reqiures on the build root as you suggest, and the following is what I get. Where does that "CC" (and the blank line before it) come from? It can't be a legitimate dependency. icarus.com[1] % find . | /usr/lib/rpm/find-requires ld-linux.so.2 libc.so.6.1 libm.so.6.1 libncurses.so.5 libnsl.so.1.1 libpanel.so.5 libstdc++-libc6.2-2.so.3 CC libc.so.6.1(GLIBC_2.0) libc.so.6.1(GLIBC_2.1) libc.so.6.1(GLIBC_2.1.3) libm.so.6.1(GLIBC_2.0) Here's the bug. In appears that find-requires is catching some Makefiles that were installed in the share/lib directory as scripts and trying to find the interpreter. There is no #! line in the makefile, but is changes the "CC = " line into a script interpreter and generates the bogus CC dependency. I can work around this by removing the Makefiles (I don't really need them) but I insist that find-requires really does have a bug here. Either run find-requires with sh -x or do find . -type f -exec grep -l CC {} \; to find the file that contains the CC. After finding the file, fix your build. rpm will not look at non-executable files, so the "fix" may be as simple as doing chmod -x <file> No bug, it's a packaging problem, albeit subtle. |