erlang fails to install when doing emerge -U erlang Reproducible: Always Steps to Reproduce: 1. emerge -U erlang Actual Results: [snip] make[2]: Leaving directory `/var/tmp/portage/erlang-9c/work/otp_src_R9B-1/erts/boot/src' make[1]: Leaving directory `/var/tmp/portage/erlang-9c/work/otp_src_R9B-1/erts/boot/src' cd /var/tmp/portage/erlang-9c/image//usr/lib/erlang && ./Install -minimal /var/tmp/portage/erlang-9c/image//usr/lib/erlang /bin/sh: line 1: ./Install: No such file or directory make: *** [install.Install] Error 127 !!! ERROR: dev-lang/erlang-9c failed. !!! Function src_install, Line 31, Exitcode 2 !!! (no error message) Expected Results: Installed erlang correctly
Hi Martin. Thanks for report. I see youwere emerging -9c version. Can you please try -9c-r1? You seem to be triggering one of the problems that were fixed there. I just marked it stable. George
Hi George, erlang-9c-r1 is still failiong for me - last lines of build below: /bin/install -c -d /var/tmp/portage/erlang-9c-r1/image//usr/lib/erlang/erts-5.2.3.3 /bin/install -c -m 644 erlang.ear /var/tmp/portage/erlang-9c-r1/image//usr/lib/erlang/erts-5.2.3.3/erlang.ear /bin/install -c -d /var/tmp/portage/erlang-9c-r1/image//usr/lib/erlang/erts-5.2.3.3/bin /bin/install -c ecc elink escript ear esh /var/tmp/portage/erlang-9c-r1/image//usr/lib/erlang/erts-5.2.3.3/bin make[2]: Leaving directory `/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/erts/boot/src' make[1]: Leaving directory `/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/erts/boot/src' cd /var/tmp/portage/erlang-9c-r1/image//usr/lib/erlang && ./Install -minimal /var/tmp/portage/erlang-9c-r1/image//usr/lib/erlang /bin/sh: line 1: ./Install: No such file or directory make: *** [install.Install] Error 127 !!! ERROR: dev-lang/erlang-9c-r1 failed. !!! Function src_install, Line 40, Exitcode 2 !!! (no error message) regards, Martin
Hi Martin. Well, as you can guess, I cannot reproduce the problem (otherwise the ebuild wouldn'e be there), so I will need some more info. Please post output of your emerge info and anything else you consider related. Also, could you please take a look at #26420? There is a new version out (the real 9c) and it may solve this problem. However there is a naming issue. Naturally I would be interested in your opinion/preference. George
what version of gcc you using george ? erlang-9c-r1 fails in a few places for me with gcc-3.3.1 ending in the final './Install: No such file' ... oddly the make process continues to run before it bails on the ./Install ... i'll post each error i'm seeing as a sep comment so as to improve readability
make[3]: Entering directory `/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/erts/etc/common' make -f i686-pc-linux-gnu/Makefile TYPE=opt make[4]: Entering directory `/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/erts/etc/common' gcc -pipe -march=pentium4 -O2 -frename-registers -fomit-frame-pointer -mfpmath=sse -mmmx -msse -msse2 -fdelete-null-pointer-checks -funroll-loops -ffast-math -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/erts/i686-pc-linux-gnu -DHAVE_CONFIG_H -Wall -I/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/erts/emulator/sys/unix -I/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/erts/emulator/beam -o /var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/erts/obj/i686-pc-linux-gnu/run_erl.o -c ../unix/run_erl.c ../unix/run_erl.c:179:57: pasting "syslog" and "(" does not give a valid preprocessing token ../unix/run_erl.c: In function `main': ../unix/run_erl.c:179: warning: format argument is not a pointer (arg 3) ../unix/run_erl.c:179: warning: int format, pointer arg (arg 4) ../unix/run_erl.c:179:57: pasting "stderr_error" and "(" does not give a valid preprocessing token ../unix/run_erl.c:191:85: pasting "syslog" and "(" does not give a valid preprocessing token <more of the same crap> make[4]: *** [/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/erts/obj/i686-pc-linux-gnu/run_erl.o] Error 1 make[4]: Leaving directory `/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/erts/etc/common' make[3]: *** [opt] Error 2 make[3]: Leaving directory `/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/erts/etc/common'
make[3]: Entering directory `/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/lib/crypto/c_src' make -f i686-pc-linux-gnu/Makefile TYPE=opt make[4]: Entering directory `/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/lib/crypto/c_src' /bin/install -c -d ../priv/obj/i686-pc-linux-gnu gcc -c -o ../priv/obj/i686-pc-linux-gnu/crypto_drv.o -pipe -march=pentium4 -O2 -frename-registers -fomit-frame-pointer -mfpmath=sse -mmmx -msse -msse2 -fdelete-null-pointer-checks -funroll-loops -ffast-math -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/erts/i686-pc-linux-gnu -DHAVE_CONFIG_H -O2 -I/usr/include/openssl -I/usr/include -I /var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/erts/emulator/beam crypto_drv.c crypto_drv.c: In function `control': crypto_drv.c:370: error: cannot convert to a pointer type crypto_drv.c:372: error: incompatible type for argument 4 of indirect function call crypto_drv.c:384: error: cannot convert to a pointer type crypto_drv.c:385: error: cannot convert to a pointer type crypto_drv.c:386: error: cannot convert to a pointer type crypto_drv.c:389: error: incompatible type for argument 4 of indirect function call crypto_drv.c:389: error: incompatible type for argument 5 of indirect function call crypto_drv.c:389: error: incompatible type for argument 6 of indirect function call make[4]: *** [../priv/obj/i686-pc-linux-gnu/crypto_drv.o] Error 1 make[4]: Leaving directory `/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/lib/crypto/c_src' make[3]: *** [opt] Error 2 make[3]: Leaving directory `/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/lib/crypto/c_src'
i *know* the following is a gcc2 vs gcc3 issue ... this header file is deprecated and has finally be removed in latest gcc-3.x versions ... make[3]: Entering directory `/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/lib/orber/c_src' make -f i686-pc-linux-gnu/Makefile TYPE=opt make[4]: Entering directory `/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/lib/orber/c_src' g++ -c -o ../priv/obj/i686-pc-linux-gnu/InitialReference.o -DHAVE_CONFIG_H InitialReference.cc In file included from InitialReference.cc:26: InitialReference.hh:28:23: strstream.h: No such file or directory In file included from InitialReference.cc:26: InitialReference.hh:38: error: `strstream' was not declared in this scope InitialReference.hh:38: error: `byte' was not declared in this scope InitialReference.hh:38: error: parse error before `)' token InitialReference.hh:39: error: `strstreambuf' was not declared in this scope
perhaps if you added the latest erlang to release it'll have these gcc-3.x fixes in them ? i know the first error (preproccessing token) and the third error (missing header file) are gcc-3.x 'bugs' ... ive seen them both before ... i cant check myself because it seems erlang.org is down atm ...
I've got the same errors with gcc-3.3.2-r2 I saw some parts of it were compiled with javac - so it's also possible it's related to the java version (I'm using blackdown-jdk-1.4.1) While erlang.org is down - here are two working mirrors: http://www.csd.uu.se/ftp/mirror/erlang/ (Uppsala University, Sweden) http://www.serc.rmit.edu.au/mirrors/ose_mirror/ (Software Engineering Research Centre, Australia)
I get the same problem with 9c-r1: /bin/install -c -m 644 erlang.ear /var/tmp/portage/erlang-9c-r1/image//usr/lib/erlang/erts-5.2.3.3/erlang.ear /bin/install -c -d /var/tmp/portage/erlang-9c-r1/image//usr/lib/erlang/erts-5.2.3.3/bin /bin/install -c ecc elink escript ear esh /var/tmp/portage/erlang-9c-r1/image//usr/lib/erlang/erts-5.2.3.3/bin make[2]: Leaving directory `/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/erts/boot/src' make[1]: Leaving directory `/var/tmp/portage/erlang-9c-r1/work/otp_src_R9B-1/erts/boot/src' cd /var/tmp/portage/erlang-9c-r1/image//usr/lib/erlang && ./Install -minimal /var/tmp/portage/erlang-9c-r1/image//usr/lib/erlang /bin/sh: line 1: ./Install: No such file or directory make: *** [install.Install] Error 127 !!! ERROR: dev-lang/erlang-9c-r1 failed. !!! Function src_install, Line 40, Exitcode 2 !!! (no error message) My emerge info is: Portage 2.0.49-r18 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.4.20-gentoo-r8) ================================================================= System uname: 2.4.20-gentoo-r8 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 2.20GHzGentoo Base System version 1.4.3.12 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -mcpu=pentium4 -O3 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=pentium4 -mcpu=pentium4 -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.ccccom.com ftp://gentoo.ccccom.com http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aalib acpi acpi4linux altcolors apache2 apm auctex avi berkdb bonobo cdr cjk cmucl crypt cups curl directfb doc dvd emacs encode esd evo fbcon firebird flac flash foomaticdb freetds gb gd gd-external gdbm gif ginac glut gmttria gnome gnomedb gpm gstreamer gtk gtk2 gtkhtml guile hbci imagemagick imap imlib imlib2 informix innodb irda java jpeg ldap libg++ libgda libwww lirc mad mcal mdb memlimit mikmod motif mozaccess mozilla moznocompose moznoirc moznomail mpeg music mysql ncurses nls oci8 odbc oggvorbis opengl oss pam pdflib perl png postgres python qhull qt quicktime radeon readline samba scanner sdl slang snmp spell sqlite ssl svga tcltk tcpd tetex tiff truetype usb x86 xml xml2 xmms xv zlib" My gcc version is: euler root # gcc --version gcc (GCC) 3.3.2 20031022 (Gentoo Linux 3.3.2-r3, propolice) Copyright (C) 2003 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. :D
I can reproduce this as well, exact same error message. My emerge and gcc info are: Portage 2.0.49-r18 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.4.22-rc2-ac3) ================================================================= System uname: 2.4.22-rc2-ac3 i686 Intel(R) Pentium(R) M processor 1600MHz Gentoo Base System version 1.4.3.12 ccache version 2.3 [enabled] ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium4 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /etc/fstab /etc/rc.conf /opt/tomcat/conf /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acpi alsa apm avi berkdb bonobo cdr crypt cups doc dvd encode esd fbcon flash foomaticdb gd gdbm gif gnome gphoto2 gpm gtk gtk2 gtkhtml guile imap imlib java jikes jpeg junit lcms ldap libg++ libwww mad mikmod mmx motif mozcalendar mozilla moznocompose mozsvg mpeg ncurses nls oggvorbis opengl oss pam pcmcia pdflib perl plotutils png pnp ppds python qt quicktime radeon readline sdl slang slp socks5 spell sse ssl svga tcltk tcpd tetex tiff truetype usb wavelan x86 xml xml2 xmms xv zlib" ianp@pcianp ianp $ gcc -v Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/specs Configured with: /var/tmp/portage/gcc-3.3.2-r3/work/gcc-3.3.2/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.3 --includedir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/info --enable-shared --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu --with-system-zlib --enable-languages=c,c++,f77,objc,java --enable-threads=posix --enable-long-long --disable-checking --enable-cstdio=stdio --enable-clocale=generic --enable-__cxa_atexit --enable-version-specific-runtime-libs --with-gxx-include-dir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/include/g++-v3 --with-local-prefix=/usr/local --enable-shared --enable-nls --without-included-gettext --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --enable-interpreter --enable-java-awt=xlib --with-x --disable-multilib Thread model: posix gcc version 3.3.2 20031022 (Gentoo Linux 3.3.2-r3, propolice)
We must figure out some kind of naming convention for these erlang builds... it wasn't until I started investigating the problems in this thread that I found the erlang-9c builds were still actually using Erlang R8B sources and there is a legitimate R9C-0 source release on erlang.org. This looks and feels kind of dangerous to me. I was afraid something like this might happen when I first submitted the initial ebuild and saw how incompatible Erlang source package naming conventions were with portage. Initially I thought that maybe each supplemental release by Erlang (R8B-1, R8B-2,...) could just be handled by names such as erlang-8b-r1, erlang-8b-r2, ... but as the Changelog shows, there are going to be patches that need their own -r# suffix as well. I have spend a while trying to think of a naming convention that would still be discriptive of the version number while still looking as elegant as possible, and short of changing how portage groks the filenames, elegant and logical just doesn't look possible. The only thing I could suggest would be to substitute numbers for letters such as R8B-0 = erlang-8.2.0, R8B-1 = erlang-8.2.1, R9C-0 = erlang-9.3.0, where A=1, B=2, C=3, etc. At least this way the -r# suffixes would pertain to ebuild patches and fixes. With that said I am now going to submit the ebuild for the new erlang R9C-0 as a seperate bug. (I believe the problem with this bug was the last line of src_install, it appears those commands were not being performed linearly...at least that is my assumtion, after commenting it out in the new ebuild forth coming it emerged fine.)
Hi, I also have problems with the erlang ebuild. Rather unrelated, but since this bug report has been reopened, rather than creating a new one I post my pathc suggestion here. Since I build on an ancient AMD K6-3D config.guess guesses on an i586-pc-linux-gnu, which is correct, but I used i486-pc-linux-gnu stage3 tarball when I installed Gentoo Linux. And I am not supposed to change the architecture in /etc/make.conf. So, the Erlang/OTP build system gets confused when ./configure gets the argument --host=i486-pc-linux-gnu, but the later 'make' uses config.guess to deduce an architecture dependant directory to i586-pc-linux-gnu. The solution is to use "make TARGET=$CHOST" and "make TARGET=$CHOST install". Here's a patch: *** /usr/portage/dev-lang/erlang/erlang-9c-r1.ebuild Mon Jan 5 23:15:53 2004 --- /usr/portage/dev-lang/erlang/erlang-9c-r2.ebuild Mon Jan 5 23:44:18 2004 *************** *** 26,43 **** unpack ${A} cd ${S} #combines nsswitch.conf parsing and a fix for strange install behaviour on some systems ! epatch ${FILESDIR}/${P}.patch.gz } src_compile() { econf --enable-threads || die "./configure failed" ! make || die } src_install() { ERL_LIBDIR="/usr/lib/erlang" ! make INSTALL_PREFIX=${D} install || die dodoc AUTHORS EPLICENCE README dosym ${ERL_LIBDIR}/bin/erl /usr/bin/erl --- 26,43 ---- unpack ${A} cd ${S} #combines nsswitch.conf parsing and a fix for strange install behaviour on some systems ! epatch ${FILESDIR}/${PF}.patch.gz } src_compile() { econf --enable-threads || die "./configure failed" ! make TARGET="$CHOST"|| die } src_install() { ERL_LIBDIR="/usr/lib/erlang" ! make TARGET="$CHOST" INSTALL_PREFIX=${D} install || die dodoc AUTHORS EPLICENCE README dosym ${ERL_LIBDIR}/bin/erl /usr/bin/erl ----end of patch Note: the patch file I used in the new script was a copy of the previous, so I could have pointed on the old instead... And furthermore: should not the documentation tarballs (man and html) also be installed in this ebuild? By the way, I think the suggested naming scheme "erlang-9.3.0" is maybe not pretty, but usable, and a vast improvement. / Raimo Niskanen (aka ratmapper)
ive just added erlang-9c-r2 to portage, could you guys try it out ?
ok, 9c-r2 is now stable, thanks everyone