Page 1 of 1

erlang fails on arm

Posted: Sun Dec 06, 2015 2:52 pm
by legacy

Code: Select all

armv5tel-softfloat-linux-gnueabi-gcc -Wl,-O1 -Wl,--as-needed  -o /var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/bin/armv5tel-softfloat-linux-gnueabi/epmd /var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/erts/obj/armv5tel-softfloat-linux-gnueabi/epmd.o /var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/erts/obj/armv5tel-softfloat-linux-gnueabi/epmd_cli.o /var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/erts/obj/armv5tel-softfloat-linux-gnueabi/epmd_srv.o  -lutil -ldl -lm   -L../../lib/internal/armv5tel-softfloat-linux-gnueabi -lerts_internal  -lm
make[4]: Leaving directory '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/erts/epmd/src'
make[3]: Leaving directory '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/erts/epmd/src'
make[2]: Leaving directory '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/erts/epmd'
make[2]: Entering directory '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/erts/lib_src'
make -f armv5tel-softfloat-linux-gnueabi/Makefile TYPE=opt
make[3]: Entering directory '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/erts/lib_src'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/erts/lib_src'
make[2]: Leaving directory '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/erts/lib_src'
make[1]: Leaving directory '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/erts'
cd lib && \
  ERL_TOP=/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03 PATH=/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/bootstrap/bin:"${PATH}" \
 make opt SECONDARY_BOOTSTRAP=true
make[1]: Entering directory '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/lib'
make[2]: Entering directory '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/lib/hipe'
Makefile:71: warning: overriding recipe for target 'clean'
/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/make/otp_subdir.mk:28: warning: ignoring old recipe for target 'clean'
=== Entering application hipe
make[3]: Entering directory '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/lib/hipe/misc'
erlc -W  +debug_info +warn_exported_vars +warn_missing_spec +warn_untyped_record -o../ebin hipe_consttab.erl
A newer kernel is required to run this binary. (__kernel_cmpxchg64 helper)
/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/make/armv5tel-softfloat-linux-gnueabi/otp.mk:116: recipe for target '../ebin/hipe_consttab.beam' failed
make[3]: *** [../ebin/hipe_consttab.beam] Aborted
make[3]: Leaving directory '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/lib/hipe/misc'
/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/make/otp_subdir.mk:28: recipe for target 'opt' failed
make[2]: *** [opt] Error 2
make[2]: Leaving directory '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/lib/hipe'
/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/make/otp_subdir.mk:28: recipe for target 'opt' failed
make[1]: *** [opt] Error 2
make[1]: Leaving directory '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03/lib'
Makefile:533: recipe for target 'secondary_bootstrap_build' failed
make: *** [secondary_bootstrap_build] Error 2
emake failed
 * ERROR: dev-lang/erlang-15.2.3.1::gentoo failed (compile phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line  93:  Called src_compile
 *   environment, line 4133:  Called die
 * The specific snippet of code:
 *       emake || die;
 * 
 * If you need support, post the output of `emerge --info '=dev-lang/erlang-15.2.3.1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-lang/erlang-15.2.3.1::gentoo'`.
!!! When you file a bug report, please include the following information:
GENTOO_VM=  CLASSPATH="" JAVA_HOME=""
JAVACFLAGS="" COMPILER=""
and of course, the output of emerge --info =erlang-15.2.3.1
 * The complete build log is located at '/var/tmp/portage/dev-lang/erlang-15.2.3.1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-lang/erlang-15.2.3.1/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03'
 * S: '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03'

>>> Failed to emerge dev-lang/erlang-15.2.3.1, Log file:

>>>  '/var/tmp/portage/dev-lang/erlang-15.2.3.1/temp/build.log'

 * Messages for package dev-lang/erlang-15.2.3.1:

 * ERROR: dev-lang/erlang-15.2.3.1::gentoo failed (compile phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line  93:  Called src_compile
 *   environment, line 4133:  Called die
 * The specific snippet of code:
 *       emake || die;
 * 
 * If you need support, post the output of `emerge --info '=dev-lang/erlang-15.2.3.1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-lang/erlang-15.2.3.1::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-lang/erlang-15.2.3.1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-lang/erlang-15.2.3.1/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03'
 * S: '/var/tmp/portage/dev-lang/erlang-15.2.3.1/work/otp_src_R15B03'
done,logged!

hi
I am trying to build erlang with Qemu/Arm, using a gentoo-state3-armv5tel-softfloat
GCC=armv5tel-softfloat-linux-gnueabi-4.8.4

idea ? solution ?

Posted: Sun Dec 06, 2015 3:47 pm
by legacy

Code: Select all

A newer kernel is required to run this binary
I am on 2.6.39, what is required from a "newer kernel", specifically ?

Posted: Mon Dec 07, 2015 11:52 am
by chithanh
The problem is likely missing __kernel_cmpxchg64
With armv5, you need kernel 3.1 or newer. With armv6+, kernel 2.6.32 should be sufficient.