Hello,
I am having problems with CVS version of L4 not building due automake version error.
Please advise. Error pasted below:
./bootstrap: ERROR: `automake' is too old. automake (GNU automake) 1.10 Written by Tom Tromey tromey@redhat.com and Alexandre Duret-Lutz adl@gnu.org.
Copyright 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. (version 1.9 or newer is required) ./bootstrap: ERROR: `aclocal' is too old. aclocal (GNU automake) 1.10 Written by Tom Tromey tromey@redhat.com and Alexandre Duret-Lutz adl@gnu.org.
Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. (version 1.9 or newer is required) make[2]: *** [GNUmakefile] Error 1 make[2]: Leaving directory `/home/ubuntu/l4-devel/l4/tool/dice' make[1]: *** [dice] Error 2 make[1]: Leaving directory `/home/ubuntu/l4-devel/l4/tool' make: *** [tool] Error 2 ubuntu@ubuntu:~/l4-devel/l4$
Hi,
Igor Shmukler wrote on 06.03.2007 18:45 this:
Hello,
I am having problems with CVS version of L4 not building due automake version error.
Please advise. Error pasted below:
Thank you for the error report. Please try the attached patch. It tests for automake version 1.10 now. However, I cannot guarantee that the following steps (calling configure) will work, because I did not get around to test dice with automake 1.10.
HTH, Ron.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Update:
Ronald Aigner wrote on 07.03.2007 11:00 this:
Thank you for the error report. Please try the attached patch. It tests for automake version 1.10 now. However, I cannot guarantee that the following steps (calling configure) will work, because I did not get around to test dice with automake 1.10.
Just tested dice with automake 1.10. Works just fine :)
Ron. - -- Mit freundlichen Gruessen / with regards ra3 @ inf.tu-dresden.de http://os.inf.tu-dresden.de/~ra3/
I second Michael's suggestion. It should not work and it does not work for me. (The real question why does it work for you Ronald. I am puzzled.) The obvious solution is to convert minor part of the version number and compare against minimal requirement as a number. I have it working, but I am not a sysadmin, so it's not elegant at all.
Now, I have a more "involved" issue. The error is pasted below: --- make[2]: Leaving directory `/home/ubuntu/l4-devel/l4/tool/gcc-wrap' make[2]: Entering directory `/home/ubuntu/l4-devel/l4/tool/gcc-wrap' ... Generating drops-ar cp host-wrapper drops-ar ... Generating drops-gcc cp host-wrapper drops-gcc ... Generating drops-nm cp host-wrapper drops-nm ... Generating drops-ranlib cp host-wrapper drops-ranlib \ echo ':' > drops-ar.in.new; \ echo '' >> drops-ar.in.new; \ echo 'exec @ar@ "$@"' >> drops-ar.in.new; \ mv drops-ar.in.new drops-ar.in ... Generating drops-ar.Linux sed '\ s,@system@,Linux,g;\ s,@ar@,ar,g;\ s,@nm@,nm,g;\ s,@ranlib@,ranlib,g;\ s,@cc@,,g;\ s,@cxx@,,g;\ s,@l4dir@,,g;\ s,@dropsdir@,/home/drops,g;\ s,@compilerincdir@,/include,g;\ s,@libgcc@,,g;\ s,@libgcc_eh@,,g;\ s,@default_system@,x86_586,g;\ s,@default_arch@,x86,g;\ s,@default_cpu@,586,g;\ s,@default_l4api@,,g;\ ' drops-ar.in > drops-ar.Linux.new sed: -e expression #1, char 312: unterminated address regex make[2]: *** [drops-ar.Linux] Error 1 make[2]: Leaving directory `/home/ubuntu/l4-devel/l4/tool/gcc-wrap' make[1]: *** [gcc-wrap] Error 2 make[1]: Leaving directory `/home/ubuntu/l4-devel/l4/tool' make: *** [tool] Error 2 ---
-----Original Message----- From: Ronald Aigner ra3@os.inf.tu-dresden.de To: l4-hackers@os.inf.tu-dresden.de Date: Wed, 07 Mar 2007 11:59:15 +0100 Subject: Re: Build problems (with automake version)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Update:
Ronald Aigner wrote on 07.03.2007 11:00 this:
Thank you for the error report. Please try the attached patch. It tests for automake version 1.10 now. However, I cannot guarantee that the following steps (calling configure) will work, because I did not get around to test dice with automake 1.10.
Just tested dice with automake 1.10. Works just fine :)
Ron.
Mit freundlichen Gruessen / with regards ra3 @ inf.tu-dresden.de http://os.inf.tu-dresden.de/~ra3/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFF7psD2sAx3Dtx9+YRAh9qAKDRbr6Fm9oluPYg+KfyH4ln6x+QaQCeP3EB jlTeCefTIo8Agluq9WWF+8Q= =IoNm -----END PGP SIGNATURE-----
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
Недорогая цифровая фотопечать на Фото@Mail.Ru - http://r.mail.ru/cln3167/foto.mail.ru/catalog/photoprint.html
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi Igor,
Igor Shmukler wrote on 07.03.2007 14:50 this:
I second Michael's suggestion. It should not work and it does not work for me. (The real question why does it work for you Ronald. I am puzzled.) The obvious solution is to convert minor part of the version number and compare against minimal requirement as a number.
I do have a plain automake linking to automake-1.9 -> works. I also have a automake-1.10 binary. To test it I removed the empty "" from the loop and, voila, it worked. Now back to your problem...
I have it working, but I am not a sysadmin, so it's not elegant at all.
How?
Now, I have a more "involved" issue. The error is pasted below:
<snip>
Please read: http://os.inf.tu-dresden.de/pipermail/l4-hackers/2006/002972.html and http://os.inf.tu-dresden.de/pipermail/l4-hackers/2006/003104.html ff.
HTH, Ron. - -- Mit freundlichen Gruessen / with regards ra3 @ inf.tu-dresden.de http://os.inf.tu-dresden.de/~ra3/
Hi Ron,
I do have a plain automake linking to automake-1.9 -> works. I also have a automake-1.10 binary. To test it I removed the empty "" from the loop and, voila, it worked. Now back to your problem...
I guess what happened here is: The for-loop tested 1.10 first. The awk-version-check failed here, so the for loop continued with the next iteration, testing 1.9. This time the version check worked. So you were using 1.9 again.
Michael
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Michael Roitzsch wrote on 07.03.2007 16:00 this:
Hi Ron,
I do have a plain automake linking to automake-1.9 -> works. I also have a automake-1.10 binary. To test it I removed the empty "" from the loop and, voila, it worked. Now back to your problem...
I guess what happened here is: The for-loop tested 1.10 first. The awk-version-check failed here, so the for loop continued with the next iteration, testing 1.9. This time the version check worked. So you were using 1.9 again.
No. It used automake-1.10. Did you ever try the respective line by hand? It works for me.
Ron. - -- Mit freundlichen Gruessen / with regards ra3 @ inf.tu-dresden.de http://os.inf.tu-dresden.de/~ra3/
Hi Ron,
I do have a plain automake linking to automake-1.9 -> works. I also have a automake-1.10 binary. To test it I removed the empty "" from the loop and, voila, it worked. Now back to your problem...
I guess what happened here is: The for-loop tested 1.10 first. The awk-version-check failed here, so the for loop continued with the next iteration, testing 1.9. This time the version check worked. So you were using 1.9 again.
No. It used automake-1.10. Did you ever try the respective line by hand?
The awk line? Yes, I tried that manually. But wait ...
I just tried again and I guess you found the problem:
This is on erwin:
mroi@erwin:~ > awk --version | head -n 1 GNU Awk 3.1.4 mroi@erwin:~ > awk 'NR==1 { if( $(NF) >= 1.9) print "OK"; else print "not OK"; }' <<< 1.10 OK
This is on my Mac OS X:
michael@carpo:~ > awk --version | head -n 1 GNU Awk 3.1.2 michael@carpo:~ > awk 'NR==1 { if( $(NF) >= 1.9) print "OK"; else print "not OK"; }' <<< 1.10 not OK
Newer versions of awk seem to compare more elaborately, not with a simple string compare. What an awk-ward problem.
Michael
Hi Ron,
--- bootstrap (revision 27879) +++ bootstrap (working copy) @@ -56,7 +56,7 @@ # if test x"$AUTOMAKE" = x || test x"$ACLOCAL" = x ; then am_ver=""
- for ver in "" "-1.9" "-1.8" "-1.7" ; do
- for ver in "" "-1.10" "-1.9" "-1.8" "-1.7" ; do am="automake$ver" if ($am --version) < /dev/null > /dev/null 2>&1 ; then if ($am --version | head -n 1 | awk 'NR==1 { if( $(NF) >=
'$automake_min_vers') \
I don't think this will fix the problem, because the for-loop will already cover automake 1.10, if it is reachable with the plain "automake" command. The actual problem, I think, is the awk line to compare the versions. awk compares two strings here: 1.10 and 1.9 (which is $automake_min_vers; this makes me wonder, why 1.7 and 1.8 are tried at all). Unfortunately, 1.10 is lexically before 1.9, so the string compare fails.
Michael
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Michael Roitzsch wrote on 07.03.2007 14:01 this:
Hi Ron,
--- bootstrap (revision 27879) +++ bootstrap (working copy) @@ -56,7 +56,7 @@ # if test x"$AUTOMAKE" = x || test x"$ACLOCAL" = x ; then am_ver=""
- for ver in "" "-1.9" "-1.8" "-1.7" ; do
- for ver in "" "-1.10" "-1.9" "-1.8" "-1.7" ; do am="automake$ver" if ($am --version) < /dev/null > /dev/null 2>&1 ; then if ($am --version | head -n 1 | awk 'NR==1 { if( $(NF) >=
'$automake_min_vers') \
I don't think this will fix the problem, because the for-loop will already cover automake 1.10, if it is reachable with the plain "automake" command.
So? Appearently, Igor has no plain "automake", otherwise the test would not have failed.
The actual problem, I think, is the awk line to compare the versions. awk compares two strings here: 1.10 and 1.9 (which is $automake_min_vers; this makes me wonder, why 1.7 and 1.8 are tried at all). Unfortunately, 1.10 is lexically before 1.9, so the string compare fails.
This is true, I'll have a look into this.
Ron. - -- Mit freundlichen Gruessen / with regards ra3 @ inf.tu-dresden.de http://os.inf.tu-dresden.de/~ra3/
Ronald Aigner wrote on 07.03.2007 15:22 this:
The actual problem, I think, is the awk line to compare the versions. awk compares two strings here: 1.10 and 1.9 (which is $automake_min_vers; this makes me wonder, why 1.7 and 1.8 are tried at all). Unfortunately, 1.10 is lexically before 1.9, so the string compare fails.
This is true, I'll have a look into this.
I found some inspiration for a more accurate version check at the curl project (http://curl.haxx.se/). Applied is a patch that integrates these ideas into bootstrap. I removed the check for different versions of automake (-1.10, -1.9, etc.). Different versions of the auto* tools can be set using the environment variables AUTOMAKE, ACLOCAL, AUTOHEADER, and AUTOCONF.
HTH, Ron.
l4-hackers@os.inf.tu-dresden.de