I first noticed it when I went to compile 6.14-GMP, and I thought my first compilation of 6.14-BinUtils went alright. But I went back and re-compiled BinUtils and I'm getting the following error on "make tooldir=/usr"
<<< You can skip this, I got it working here but GMP still has a problem described in the next post. Keeping the information below in case it is relevant later.>>
Code:
rm -f ./libiberty.a pic/./libiberty.a
ar rc ./libiberty.a \
./regex.o ./cplus-dem.o ./cp-demangle.o ./md5.o ./sha1.o ./alloca.o ./argv.o ./choose-temp.o ./concat.o ./cp-demint.o ./crc32.o ./dyn-string.o ./fdmatch.o ./fibheap.o ./filename_cmp.o ./floatformat.o ./fnmatch.o ./fopen_unlocked.o ./getopt.o ./getopt1.o ./getpwd.o ./getruntime.o ./hashtab.o ./hex.o ./lbasename.o ./lrealpath.o ./make-relative-prefix.o ./make-temp-file.o ./objalloc.o ./obstack.o ./partition.o ./pexecute.o ./physmem.o ./pex-common.o ./pex-one.o ./pex-unix.o ./safe-ctype.o ./simple-object.o ./simple-object-coff.o ./simple-object-elf.o ./simple-object-mach-o.o ./sort.o ./spaces.o ./splay-tree.o ./strerror.o ./strsignal.o ./unlink-if-ordinary.o ./xatexit.o ./xexit.o ./xmalloc.o ./xmemdup.o ./xstrdup.o ./xstrerror.o ./xstrndup.o ./setproctitle.o
ar: error while loading shared libraries: libbfd-2.21.1.so: cannot open shared object file: No such file or directory
make[2]: *** [libiberty.a] Error 127
make[2]: Leaving directory `/sources/binutils-build/libiberty'
make[1]: *** [all-libiberty] Error 2
make[1]: Leaving directory `/sources/binutils-build'
make: *** [all] Error 2
I did see a copy of this file in /usr/lib dated earlier this morning. Thinking it may have been corrupted, I deleted it and tried to rebuild the entire BinUtils package, where I get the above error (I got the same error that it wasn't able to access the file when I went to build GMP also).
I'm running on Linux Mint 12 (fresh install in VMWare), and have checked all of my host settings via version-check (all are at or greater than listed in the introduction).
I was thinking maybe something is broken higher up in the build process, but reading through the book, it looks like this file is first created in 6.14. Is there a point earlier in the process where this file is created?
These are the exact commands I used to build BinUtils
Code:
# 6.13. Binutils-2.21.1a (1.9 SBU)
# ================================================
cd /sources
tar xvfj binutils-2.21.1a.tar.bz2
cd binutils-2.21.1
expect -c "spawn ls"
### Verify output: spawn ls
### If output is: The system has no more ptys. Ask your system administrator to create more.
### Then fix the issue
rm -fv etc/standards.info
sed -i.bak '/^INFO/s/standards.info //' etc/Makefile.in
sed -i "/exception_defines.h/d" ld/testsuite/ld-elf/new.cc
sed -i "s/-fvtable-gc //" ld/testsuite/ld-selective/selective.exp
mkdir -v ../binutils-build
cd ../binutils-build
../binutils-2.21.1/configure --prefix=/usr --enable-shared
make tooldir=/usr
### Must run make check
make -k check
make tooldir=/usr install
cp -v ../binutils-2.21.1/include/libiberty.h /usr/include
cd /sources
rm -rf binutils-2.21.1
rm -rf /binutils-build