When I try to install Pike, it crashes out saying "pike: command not found" towards the end of the build Reproducible: Always Steps to Reproduce: 1.emerge pike Actual Results: ./precompile.sh: line 179: pike: command not found precompile: /usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/build/linux-2.4.20-gentoo-r6-i686/pike -DNOT_INSTALLED -DPRECOMPILED_SEARCH_MORE -m/usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/build/linux-2.4.20-gentoo-r6-i686/master.pike /usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/bin/make_interpret_functions.pike /usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/src/interpret_functions.h (method=Q) ./precompile.sh: line 179: /usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/build/linux-2.4.20-gentoo-r6-i686/pike: No such file or directory precompile: /usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/build/linux-2.4.20-gentoo-r6-i686/tpike -DNOT_INSTALLED -DPRECOMPILED_SEARCH_MORE -m/usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/build/linux-2.4.20-gentoo-r6-i686/master.pike /usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/bin/make_interpret_functions.pike /usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/src/interpret_functions.h (method=QQ) ./precompile.sh: line 179: /usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/build/linux-2.4.20-gentoo-r6-i686/tpike: No such file or directory precompile: /usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/build/linux-2.4.20-gentoo-r6-i686/test-pike /usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/bin/make_interpret_functions.pike /usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/src/interpret_functions.h (method=QQQ) ./precompile.sh: line 179: /usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/build/linux-2.4.20-gentoo-r6-i686/test-pike: No such file or directory precompile: pike -DOLD="../../../../../../../..//usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/build/linux-2.4.20-gentoo-r6-i686/precompile" /usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/bin/make_interpret_functions.pike /usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/src/interpret_functions.h (method=QQQQQQ) ./precompile.sh: line 179: pike: command not found Failed to find a Pike executable that could run /usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/bin/make_interpret_functions.pike. make[2]: *** [/usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/src/interpret_functions_fixed.h] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/build/linux-2.4.20-gentoo-r6-i686' make[1]: *** [all] Error 2 make[1]: Leaving directory `/usr/local/portage/portage/pike-7.4.28-r1/work/Pike-v7.4.28/build/linux-2.4.20-gentoo-r6-i686' make: *** [compile] Error 2 !!! ERROR: dev-lang/pike-7.4.28-r1 failed. !!! Function src_compile, Line 78, Exitcode 2 !!! (no error message) emerge info ]1;]2;Started emerge on: Nov 07, 2003 16:36:45]1;]2; *** emerge infoPortage 2.0.49-r15 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r8, 2.4.20-gentoo-r6) ================================================================= System uname: 2.4.20-gentoo-r6 i686 Pentium II (Deschutes) Gentoo Base System version 1.4.3.11 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O2 -mcpu=i686 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -mcpu=i686 -pipe" DISTDIR="/usr/local/portage/distfiles" FEATURES="sandbox ccache autoaddcvs" GENTOO_MIRRORS="ftp://gentoo.mirrors.pair.com/ ftp://cudlug.cudenver.edu/pub/mirrors/distributions/gentoo/ http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/usr/local/portage" PORTDIR="/usr/local/portage/portage-db" PORTDIR_OVERLAY="/usr/local/portage/overlay" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="postgres x86 oss apm avi crypt encode foomaticdb gif jpeg libg++ mad mikmod mmx ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib gtkhtml gdbm berkdb slang readline aalib svga tcltk java guile X sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gnome gtk cdr scanner -arts bonobo cups gtk2 jikes -kde -motif mozilla mpeg -opengl pda plotutils -qt -qtmt tetex -alsa usb"
Created attachment 20400 [details] Complete output of the pike build
could you please try with 'MAKEOPTS="-j1"' ?
Same thing. If you look at the build (both the attached and with -j1) I noticed: head: `-1' option is obsolete; use `-n 1' Try `head --help' for more information.
I just committed a new version that should fix your problem, it was indeed related to the (obsolete) head-syntax pike Makefiles and .sh scripts use. Could you please re-sync and merge pike again and tell me if that solves your problem ? I also want to thank stkn who supplied me with the .diff for the new ebuild.
The compile works, but now pike has a hard time running a program. The output: mikeh@gideon:pts/0:15 files 457Kb -> /usr/bin/pike mkrss.pike /usr/lib/pike/modules/Regexp.pmod.o:-: Warning: Decode failed: Failed to decode program "/usr/local/portage/portage/pike-7.4.28-r1/image/usr/lib/pike/modules/___Regexp.so". /usr/lib/pike/modules/Standards.pmod/ASN1.pmod/Types.pmod.o:-: Warning: Decode failed: Failed to decode program "/usr/local/portage/portage/pike-7.4.28-r1/image/usr/lib/pike/modules/___Regexp.so". /usr/lib/pike/modules/Standards.pmod/ASN1.pmod/Decode.pmod.o:-: Warning: Decode failed: Cast '/usr/local/portage/portage/pike-7.4.28-r1/image/usr/lib/pike/modules/Standards.pmod/ASN1.pmod/Types.pmod' to object failed. /usr/lib/pike/modules/MIME.pmod/module.pmod.o:-: Warning: Decode failed: Failed to decode program "/usr/local/portage/portage/pike-7.4.28-r1/image/usr/lib/pike/modules/___Regexp.so". /usr/lib/pike/modules/_Charset.pmod.o:-: Warning: Decode failed: Failed to decode program "/usr/local/portage/portage/pike-7.4.28-r1/image/usr/lib/pike/modules/____Charset.so". /usr/lib/pike/modules/Locale.pmod/Charset.pmod.o:-: Warning: Decode failed: Failed to decode program "/usr/local/portage/portage/pike-7.4.28-r1/image/usr/lib/pike/modules/____Charset.so".
Do all modules fail (e.g. can't you run any programs using a module at all) or is this just the regexp module ? Did you also try a second program using the regexp module ? And can you supply me with a test case where this happens ?
ok, I responded too fast regarding the module issue ;) It's strange it still looks in your builddir. I havn't seen such an error before, but don't worry, I am confident we'll fix that (at least if I can reproduce it, that is why I was asking for a test case ;)
for your information, I found a way to reproduce the problem. It is related to pike being built in a fakeroot environment. I will look into a way to cleanly dump pike modules
ok, just as a heads up, I am again working on this and I hope to figure it out soon (help is appreciated, though ;) The problem exists because pike uses absolute paths for everything and after it got installed in "{D}" pike "hardcodes" that path into all binaries. I am playing around with PIKE_MODULE_RELOC in install.pike and --with-relocatable-dumped-modules but I didn't get it to work properly (yet). I have a solution if sandbox is disabled but that's not what we want, so stay tuned :)
ok, after doing some tests, I think I found a solution that applies cleanly. Could you please test the attached pike-7.4.28-r2.ebuild and tell me your results ? If it works, I'd like to get this in as soon as possible. Just place it into dev-lang/pike and run ebuild pike-7.4.28-r2.ebuild digest and you are set to merge it.
Created attachment 22520 [details] pike-7.4.28-r2, fixed decode problems
I put the ebuild into my overlay directory and installed it. I get no errors when running scripts that import modules and everything else runs correctly!
ok, I will put a new revision of the pike ebuild into portage soon. The only thing I need to figure out now is if we still need the sed done in src_install() to install.pike
committed. I kept the sed action because otherwise install.pike causes a sandbox violation if upgrading from older versions. Also the head/tail fix was extended to also include *.sh.in files. (thanks stkn)
I just committed Pike-7.6.6 which doesn't seem to have the relocatable module problem (at least I couldn't reproduce it), so I we don't remove the .o files anymore. Mike, if you got some spare time it'd be cool if you could emerge pike-7.6.6 and tell me if your applications still work. Just want to be sure this update doesn't break anything when it gets into stable.
7.6.6 will enter stable today. The workaround for removing the .o files is not needed anymore with 7.6.6 because there are no more problems with (un)relocatable modules. (Just for record :)