Re: [gentoo-user] sys-apps/kbd-1.12-r8
Bo Ørsted Andresen wrote: If you look at the configure script you will see that it's is testing if you are on a sparc64. The test shows you aren't which appears to be unrelated to your problem. Line 153 which appears to be failing is this: echo ARCH=${TARGET_ARCH/i?86/i386} make_include which is supposed to substitute i686 with i386 in your case and store it in make_include as ARCH=i386. I have no clue why that would fail. The only thing that I can think of is to remerge your shell (probably app-shells/bash). If noone else has a clue and that doesn't help I guess your best option is to file a bug with the info you've posted now... Thanks for your help, and while it might not have been obvious to you (or anyone else reading along)... everything that was confusing before is clear now... to me at least. While I can see what is wrong, it isn't 100% clear if it constitutes a bug or not. The problem is that the configure script starts '#!/bin/sh' - but goes on to depend upon Bash specific features... specifically substitution. I expect this would not be a problem for most users where /bin/sh is a sym-link to /bin/bash but, for me, /bin/sh was a sym-link to /bin/ash... and, for that shell, line 151 is invalid. What is less clear is whether or not, in a Gentoo context, it is 'correct' to have /bin/sh being Borne-like but not Bash-like. By preference I'd prefer /bin/sh to be the minimal shell that will execute Borne-shell scripts... but I recognise the Linux-world normality of /bin/sh actually being bash. As at-least a temporary fix I replaced my /bin/sh-/bin/ash with a /bin/sh-/bin/bash... and everything now emerges smoothly... From a prissy perspective I'd have hoped that the configure script would specify that it needed bash functionality by demanding evaluation by bash instead of whatever /bin/sh happens to be... Thanks again, Steve -- gentoo-user@gentoo.org mailing list
Re: [gentoo-user] sys-apps/kbd-1.12-r8
On Wed, 08 Nov 2006 10:44:31 +, Steve [Gentoo] wrote: The problem is that the configure script starts '#!/bin/sh' - but goes on to depend upon Bash specific features... specifically substitution. I expect this would not be a problem for most users where /bin/sh is a sym-link to /bin/bash but, for me, /bin/sh was a sym-link to /bin/ash... and, for that shell, line 151 is invalid. What is less clear is whether or not, in a Gentoo context, it is 'correct' to have /bin/sh being Borne-like but not Bash-like. By preference I'd prefer /bin/sh to be the minimal shell that will execute Borne-shell scripts... but I recognise the Linux-world normality of /bin/sh actually being bash. Bash behaves differently when called as sh, to avoid just this sort of problem. However, if the script calls /bin/sh while requiring bash features it is clearly broken and a bug should be files. Unfortunately, this type of breakage is all too common; I tried using dash as /bin/sh for a short while and found all sorts of things falling over. In this case, it can be easily fixed, by the ebuild altering the shebang line of configure before running it. -- Neil Bothwick Psychiatrists say that 1 of 4 people are mentally ill. signature.asc Description: PGP signature
Re: [gentoo-user] sys-apps/kbd-1.12-r8
On Wednesday 08 November 2006 11:44, Steve [Gentoo] wrote: Thanks for your help, and while it might not have been obvious to you (or anyone else reading along)... everything that was confusing before is clear now... to me at least. While I can see what is wrong, it isn't 100% clear if it constitutes a bug or not. The problem is that the configure script starts '#!/bin/sh' - but goes on to depend upon Bash specific features... specifically substitution. I expect this would not be a problem for most users where /bin/sh is a sym-link to /bin/bash but, for me, /bin/sh was a sym-link to /bin/ash... and, for that shell, line 151 is invalid. Heh, I just hadn't noticed that the first line of the script said /bin/sh. That's definitely a bug. Either the script must be modified to only use /bin/sh features or it must request a shell that supports it... -- Bo Andresen pgp2xXc7pJa9O.pgp Description: PGP signature
Re: [gentoo-user] sys-apps/kbd-1.12-r8
Bo Ørsted Andresen wrote: # cd /var/tmp/portage/sys-apps/kbd-1.12-r8/work # sed -i -e '141 aset -x\n' -e '152 aset +x\n' kbd-1.12/configure # ebuild `portageq portdir`/sys-apps/kbd/kbd-1.12-r8.ebuild compile I've followed your suggestion - I was surprised to see sparc64 mentioned - my gentoo box really is an aged PII (Celeron). Compiling source in /var/tmp/portage/kbd-1.12-r8/work/kbd-1.12 ... Configuring for PREFIX=/usr Configuring for DATADIR=/usr/share Configuring for MANDIR=/usr/share/man checking for gcc + uname -m + HOST_ARCH=i686 + gcc -O -dumpmachine + awk -F- {print $1} + TARGET_ARCH=i686 + test i686 = sparc64 ./configure: 153: Syntax error: Bad substitution !!! ERROR: sys-apps/kbd-1.12-r8 failed. Call stack: ebuild.sh, line 1546: Called dyn_compile ebuild.sh, line 937: Called src_compile kbd-1.12-r8.ebuild, line 93: Called die !!! (no error message) !!! If you need support, post the topmost build error, and the call stack if relevant. Also might be a good idea to post the output of: # emerge --info # emerge --info Portage 2.1.1-r1 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.4-r3, 2.6.17-gentoo-r8 i686) = System uname: 2.6.17-gentoo-r8 i686 Celeron (Mendocino) Gentoo Base System version 1.12.6 Last Sync: Mon, 06 Nov 2006 10:30:01 + app-admin/eselect-compiler: [Not Present] dev-java/java-config: [Not Present] dev-lang/python: 2.3.5-r3, 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox:1.2.17 sys-devel/autoconf: 2.13, 2.60 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS=x86 AUTOCLEAN=yes CBUILD=i686-pc-linux-gnu CFLAGS=-O2 -march=pentium2 -pipe CHOST=i686-pc-linux-gnu CONFIG_PROTECT=/etc /var/bind CONFIG_PROTECT_MASK=/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo CXXFLAGS=-O2 -march=pentium2 -pipe DISTDIR=/usr/portage/distfiles FEATURES=autoconfig distlocks metadata-transfer sandbox sfperms strict GENTOO_MIRRORS=http://gentoo.blueyonder.co.uk http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/; PKGDIR=/usr/portage/packages PORTAGE_RSYNC_OPTS=--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages' PORTAGE_TMPDIR=/var/tmp PORTDIR=/usr/portage PORTDIR_OVERLAY=/usr/local/portage SYNC=rsync://rsync.gentoo.org/gentoo-portage USE=x86 berkdb bitmap-fonts cli cracklib crypt cups dlloader dri elibc_glibc fortran gdbm gpm iconv input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog kernel_linux libg++ ncurses nls nptl nptlonly pam pcre perl ppds pppd python readline reflection session spl ssl tcpd truetype-fonts type1-fonts udev unicode userland_GNU video_cards_apm video_cards_ark video_cards_ati video_cards_chips video_cards_cirrus video_cards_cyrix video_cards_dummy video_cards_fbdev video_cards_glint video_cards_i128 video_cards_i740 video_cards_i810 video_cards_imstt video_cards_mga video_cards_neomagic video_cards_nsc video_cards_nv video_cards_rendition video_cards_s3 video_cards_s3virge video_cards_savage video_cards_siliconmotion video_cards_sis video_cards_sisusb video_cards_tdfx video_cards_tga video_cards_trident video_cards_tseng video_cards_v4l video_cards_vesa video_cards_vga video_cards_via video_cards_vmware video_cards_voodoo xorg zlib Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS -- gentoo-user@gentoo.org mailing list
Re: [gentoo-user] sys-apps/kbd-1.12-r8
On Tuesday 07 November 2006 19:38, Steve [Gentoo] wrote: I've followed your suggestion - I was surprised to see sparc64 mentioned - my gentoo box really is an aged PII (Celeron). Compiling source in /var/tmp/portage/kbd-1.12-r8/work/kbd-1.12 ... Configuring for PREFIX=/usr Configuring for DATADIR=/usr/share Configuring for MANDIR=/usr/share/man checking for gcc + uname -m + HOST_ARCH=i686 + gcc -O -dumpmachine + awk -F- {print $1} + TARGET_ARCH=i686 + test i686 = sparc64 ./configure: 153: Syntax error: Bad substitution !!! ERROR: sys-apps/kbd-1.12-r8 failed. Call stack: ebuild.sh, line 1546: Called dyn_compile ebuild.sh, line 937: Called src_compile kbd-1.12-r8.ebuild, line 93: Called die If you look at the configure script you will see that it's is testing if you are on a sparc64. The test shows you aren't which appears to be unrelated to your problem. Line 153 which appears to be failing is this: echo ARCH=${TARGET_ARCH/i?86/i386} make_include which is supposed to substitute i686 with i386 in your case and store it in make_include as ARCH=i386. I have no clue why that would fail. The only thing that I can think of is to remerge your shell (probably app-shells/bash). If noone else has a clue and that doesn't help I guess your best option is to file a bug with the info you've posted now... -- Bo Andresen pgpUceFQj0L4U.pgp Description: PGP signature
Re: [gentoo-user] sys-apps/kbd-1.12-r8
On Monday 06 November 2006 12:53, Steve [Gentoo] wrote: Compiling source in /var/tmp/portage/kbd-1.12-r8/work/kbd-1.12 ... Configuring for PREFIX=/usr Configuring for DATADIR=/usr/share Configuring for MANDIR=/usr/share/man checking for gcc ./configure: 151: Syntax error: Bad substitution !!! ERROR: sys-apps/kbd-1.12-r8 failed. Call stack: ebuild.sh, line 1546: Called dyn_compile ebuild.sh, line 937: Called src_compile kbd-1.12-r8.ebuild, line 93: Called die !!! (no error message) !!! If you need support, post the topmost build error, and the call stack if relevant. I don't. I suppose the output of this should give a hint: # ebuild `portageq portdir`/sys-apps/kbd/kbd-1.12-r8.ebuild clean unpack | grep Unpacking kbd.* to Unpacking kbd-1.12.tar.gz to /var/tmp/portage/sys-apps/kbd-1.12-r8/work (note that this path differs depending on your version of portage) # cd /var/tmp/portage/sys-apps/kbd-1.12-r8/work # sed -i -e '141 aset -x\n' -e '152 aset +x\n' kbd-1.12/configure # ebuild `portageq portdir`/sys-apps/kbd/kbd-1.12-r8.ebuild compile Also might be a good idea to post the output of: # emerge --info -- Bo Andresen pgpvzmCP3GQYC.pgp Description: PGP signature