This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug build/15915] New: Erroneous implied make rule for linkobj/libc.so in Makerules
- From: "brooks at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Fri, 30 Aug 2013 22:53:29 +0000
- Subject: [Bug build/15915] New: Erroneous implied make rule for linkobj/libc.so in Makerules
- Auto-submitted: auto-generated
http://sourceware.org/bugzilla/show_bug.cgi?id=15915
Bug ID: 15915
Summary: Erroneous implied make rule for linkobj/libc.so in
Makerules
Product: glibc
Version: 2.18
Status: NEW
Severity: normal
Priority: P2
Component: build
Assignee: unassigned at sourceware dot org
Reporter: brooks at gcc dot gnu.org
CC: carlos at redhat dot com
In a clean 2.18 build (or even when one runs "make" a second time so it's a
no-op build), there's a repeated makefile warning:
make subdir=locale -C locale ..=../ others
make[2]: Entering directory `$build/locale'
make[2]: Circular $build/linkobj/libc.so <- $build/linkobj/libc.so dependency
dropped.
This comes from the adjustment to the implicit "lib%.so" rule at line 437 of
Makerules, which was changed in this patch of Joseph's to include
$(link-libc-args): http://sourceware.org/ml/libc-ports/2013-05/msg00053.html
The current rule is:
lib%.so: lib%_pic.a $(+preinit) $(+postinit) $(+interp) $(link-libc-deps)
$(build-shlib) $(link-libc-args)
And $(link-libc-deps) includes linkobj/libc.so unless overridden.
The problem is that, in makefiles such as locale/Makefile that include
Makerules but do not include the top-level makefile (where the explicit
linkobj/libc.so rule is located), this rule is the one that's chosen for
linkobj/libc.so -- and, since linkobj/libc.so is declared as a dependency for
various things (through this same makefile rule), make wants to evaluate a rule
for it.
Further, although the circular-reference warning is the easiest problem to
repeat, this also leads to actual errors -- occasionally, in the -j12 builds
that we use, make actually attempts to _use_ this rule and that crashes the
build.
--
You are receiving this mail because:
You are on the CC list for the bug.