glibc-2.11.2-build make install FAILS

John D. Hendrickson johnandsara2@cox.net
Tue Jan 6 20:33:00 GMT 2015


i've had allot of work-arounds for circa 2010 toolchain (most are 
further below) and not just with glibc

this is not advertised as needed, likely for a reason.

"make ; hack shell env ; make install"

after a successful build (i have used a similar previous build in chroot 
seems ok).

MAKE INSTALL FAILS USING THE SAME ENVIRONMENT THAT MAKE SUCCEEDED ON

script that builds things... ran make already

   case "$dir" in
   glibc-2.11.2)
     unset LDFLAGS
     make install
     ;;
   *)
     make install
     ;;
   esac

THE ISSUE (BUG REPORT) IS.  it should install ok with same environment 
it built in.  i should have to: "make ; fix env ; make install"

# which then again FAILS trivially, (easy to see why)

test ! -x /usr/src/glibc-2.11.2-build/elf/ldconfig || LC_ALL=C LANGUAGE=C \
   /usr/src/glibc-2.11.2-build/elf/ldconfig  \
                                /usr/local2/lib /usr/local2/lib
/usr/src/glibc-2.11.2-build/elf/ldconfig: Can't open configuration file 
/usr/local2/etc/ld.so.conf: No such file or directory
make[1]: Leaving directory `/usr/src/glibc-2.11.2'

########################3

pkg = glibc-2.11.2
PKG_CONFIG_PATH = /usr/local1/:/usr/local2/
LANGUAGE = C
LC_ALL = C
LANG = C
LOCALE = C
BMAKE =
BCONF =
LIBVERSION =
CPPFLAGS =   -I/usr/local2/include -I/usr/local1/include  -I/usr/include 
-std=gnu99
CFLAGS   =  -march=pentium3    -I/usr/local2/include 
-I/usr/local1/include  -I/usr/include  -O2 -std=gnu99
CXXFLAGS =  -march=pentium3    -I/usr/local2/include 
-I/usr/local1/include  -I/usr/include  -O2 -std=gnu++98
LDFLAGS  =   -L/usr/local2/lib -L/usr/local1/lib
opt =   --prefix=/usr/local2 --exec-prefix=/usr/local2 --with-tls 
--with-cpu=i386 --with-tune=pentium3  --enable-pt_chown 
--with-headers=/usr/src/linux/usr/include --disable-sanity-checks 
--enable-kernel=2.2.15

/------------------
| other things
\------------------

# no other "make" in the whole toochain runs ldconfig why does this ?
# this is the WORST of all places to run ldconfig without asking
# and the MOST probable pkg where ldconfig is irrelevant due to options
#    /etc/ld.so.conf doesn't contain /usr/local2 quite intentionally
# only if --prefix were /lib would i want ldconfig forced to run
# why: i assume you know linux ld is very brain when it comes to
# ld.so.conf: it ALWAYS ignores any attemmpt to omit /lib /usr/lib
# and so LD_LIBRARY_PATH is also only a tool for adding, not setting
# (so, the above cannot be expected work, even if the file asked for
#  were found, and were it to appease Makefile then it could break
#  system - but can't have it both ways: linux ld)

also: glibc builds libssp though it is NOT enabled (NOT --enable-libssp) 
though objdump does not say it's a depends.  hope i dont have to 
re-re-rebuild for that

also: instructions dont say build will fail if gcc opt std=gnu99 is not 
used: it builds and takes a while then quits.  do one or the other not 
run and quit.  i don't like forced -O2 because i want 3x faster 
compiling on test runs, but whatever.  if you can put a #if in a .h you 
  should be more able to do so in a configure.am (#if gnu99 or quit)

also: instructions were poor on saying with linux kernel headers and 
what version.  i had to run that multiple times.  when i found what 
worked only then understood the instructions were correct !

also: instructions are not clear (my own fault of being green) that cpu 
must be i386 not i686 and i686 is detected that way but i386 is not 
detected for i686.  i actually changed source tree to so i686 could be 
both cpu and tune (so i was sure i686 was used), only to find 
sync_fetch_and_add_4 was still missing (because it was not in gcc-4.4.5) 
and reverted.  (it worked and was simpler though)

also: many autoconf projects say "it's wise to use ../pkg-build/../pkg 
configure.  however others  do not force it.  i dont like it - if i'm 
repairing code i now have to be in two trees at the same time

hack:  if glibc, runcheck=1

unlike any other: Makefile has not "^check:" entry (nor "make help")

this means a casual on-looker or idiot automaton can assume that "make 
check" doesn't exist and would be unsafe to try

hack:  rm -r * || true

there also is no "make clean" or "make diskclean"

there also is no "make uninstall"

it does seem (ie compared to Xfree X11R6: dl,make,install,use < 1 hr. 
time)  that today's toolchain is ever more allowing non-professionals 
wide access to do anything they please: and that this is causing the 
work-arounds to build the tool chain to be IN THE HUNDREDS to find solve 
and apply, to me.  i'm unsure i'd have to check an old release but i 
dont think the old bsd "make World" or what (10,20,30 yrs ago) was so 
"flakey"

---------------------------------
of course i'm very haapy to build the toolchain which has so many fixes 
and good things it did not in the past



More information about the Glibc-bugs mailing list