jacob navia writes: > Hi > I downloaded the new version of binutils. > > To my surprise, it doesn’t work any more, failing with a message that I should get the GMP package. > > OK. Tried to download GMP. To my surprise, it isn’t a simple tar ball any > more. To get the files you need to install a thing called « mercurial » first. It is. In fact, that is the first link on the GMP page under Download. https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz > OK, tried to download « mercurial » since GMP can’t use git as almost everybody > else does, or at least provide a git version. You have to get « mercurial ». > > OK, that did work, and after typing « hg clone… etc » I got at last a version > of GMP. There is no configure nor Makefile. You have to run a script called > ".bootstrap ». Yes, with a dot as first character so « ls » doesn’t see it. > > The doc in GMP site says: > Once you have your own repository, you need to generate some build > files. Perhaps the script .bootstrap works out-of-the box; if it doesn't, you > need to install automake (at least version 1.11.6) and autoconf (at least > version 2.59) and then try .bootstrap again. You may safely ignore the 4 lines > of warnings from libtoolize. > > Do not use autoreconf; it will overwrite config.guess which in turn will cause any builds to be awful. > > OK, I started « .bootstrap » and obtained: > ./.bootstrap: 7: autoreconf: not found > cp: cannot stat 'ltmain.sh': No such file or directory > rm: cannot remove 'ltmain.sh': No such file or directory > mv: cannot stat 'foo': No such file or directory > cp: cannot stat 'ylwrap': No such file or directory > rm: cannot remove 'ylwrap': No such file or directory > mv: cannot stat 'foo': No such file or directory > cp: cannot stat 'install-sh': No such file or directory > rm: cannot remove 'install-sh': No such file or directory > mv: cannot stat 'foo': No such file or directory > cp: cannot stat 'missing': No such file or directory > rm: cannot remove 'missing': No such file or directory > mv: cannot stat 'foo': No such file or directory > cp: cannot stat 'test-driver': No such file or directory > rm: cannot remove 'test-driver': No such file or directory > mv: cannot stat 'foo': No such file or directory > > I do not understand why they do not want us to use autoreconf and the first > thing that THEIR script does is… to call « autoreconf ». Luckily it wasn’t > found! > Now I have to download automake and autoconf. Just like that. > > Why do I need to do all this just to compile binutils? Can’t this > complexifying stop somewhere? Why binutils needs GMP now??? They don't. I'm not sure where you got that. GDB requires GMP, though. I assume you downloaded a distribution that contains both Binutils and GDB. You can pass --disable-gdb. > And if that is necessary, why can’t we get some version of GMP that ships with > the source of binutils WITHOUT requiring that all users of binutils download > mercurial, automake and autoconf??? > > Why can’t we keep things simple? > > Here are the first 7 lines of the .bootstrap shell script > 1 #! /bin/sh > 2 > 3 # We need to remove the "cache", else things are not regenerated properly > 4 rm -rf autom4te.cache > 5 > 6 # for warnings, add: -v -W all > 7 autoreconf -i -s > > So, they tell people not to use autoreconf??? Due to the cache workaround, presumably. > Well all this things aren’t important, just a decision (that is nowhere > explained or justified) that makes everything more complicated for everyone. > > Jacob Hope that helps, have a lovely day. -- Arsen Arsenović