Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 30364 - erlang ebuild broken
Summary: erlang ebuild broken
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High major
Assignee: George Shapovalov (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 32017 35605
  Show dependency tree
 
Reported: 2003-10-04 22:37 UTC by Martin Stannard
Modified: 2004-02-29 13:25 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Stannard 2003-10-04 22:37:41 UTC
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
Comment 1 George Shapovalov (RETIRED) gentoo-dev 2003-10-14 09:43:41 UTC
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
Comment 2 Martin Stannard 2003-10-14 16:59:38 UTC
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
Comment 3 George Shapovalov (RETIRED) gentoo-dev 2003-10-14 22:22:12 UTC
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
Comment 4 SpanKY gentoo-dev 2003-10-29 22:08:52 UTC
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
Comment 5 SpanKY gentoo-dev 2003-10-29 22:09:24 UTC
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'
Comment 6 SpanKY gentoo-dev 2003-10-29 22:10:11 UTC
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'
Comment 7 SpanKY gentoo-dev 2003-10-29 22:11:11 UTC
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
Comment 8 SpanKY gentoo-dev 2003-10-29 22:12:36 UTC
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 ...
Comment 9 Nicolai Lissner 2003-10-30 20:35:06 UTC
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) 

Comment 10 Paulo J. Matos 2003-12-04 09:03:32 UTC
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

Comment 11 Ian Phillips 2003-12-05 04:51:13 UTC
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)

Comment 12 charlie mac 2003-12-11 20:57:17 UTC
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.)
Comment 13 Raimo Niskanen 2004-01-15 13:26:11 UTC
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)
Comment 14 SpanKY gentoo-dev 2004-02-21 04:37:26 UTC
ive just added erlang-9c-r2 to portage, could you guys try it out ?
Comment 15 SpanKY gentoo-dev 2004-02-29 13:25:22 UTC
ok, 9c-r2 is now stable, thanks everyone