* dev-lang/erlang
Latest version: 17.5
Homepage: http://www.erlang.org/
Description: Erlang programming language, runtime environment, and large collection of libraries
License: ErlPL-1.1
(they look "~", which never looks good -> sometimes it means bracken/not-working, and bad things will happen)
That is not at all what it means.
cat # my-emerge-log.txt
2015-12-05 - emerge dev-lang/erlang - arm - failure - root
2015-12-05 - emerge dev-lang/erlang - mips - success - root - downgraded
2015-12-05 - emerge dev-lang/erlang - ppc - success - root
2015-12-05 - emerge dev-lang/erlang - x86 - success - root
2015-12-05 - emerge dev-lang/erlang - hppa - failure - root
Don't know enough yet to see if it could actually act as an HDL directly. But if possible I think that would be cool.
gentoo, keywording
~arch: { ~mips, ~arm, ~hppa, ~ppc, ~x86 }
The package version and the ebuild are believed to work and do not have any known serious bugs, but more testing is required before the package version is considered suitable for arch.
If a package has no keyword for a given arch, it means it is not known whether the package will work, or that insufficient testing has occurred for ~arch.
That is not at all what it means.
I am a gentoo user since 2005, and I am experienced with gentoo-{ ppc, mips, hppa, arm, x86 }
btw, are you able to emerge erland on arm ? if so, let me know
Erlang is great for multi-threaded SAFE transactional programming.
It takes a while getting used to but even small machines can support 1000's of threads running in " parallel "
It is designed to run 24-7 applications - and can be updated and upgraded while running (if you design right)
It is easy to make " RPC " and run same program over many machines
There are a lot of big big Erlang systems around - I think Facebook chat backend is one of them and WhatsApp as well (http://www.fastcompany.com/3026758/inside-erlang-the-rare-programming-language-behind-whatsapps-success)
Erlang is great for multi-threaded SAFE transactional programming.
It takes a while getting used to but even small machines can support 1000's of threads running in " parallel "
It is designed to run 24-7 applications - and can be updated and upgraded while running (if you design right)
It is easy to make " RPC " and run same program over many machines
There are a lot of big big Erlang systems around - I think Facebook chat backend is one of them and WhatsApp as well (http://www.fastcompany.com/3026758/inside-erlang-the-rare-programming-language-behind-whatsapps-success)
How would you compare it to golang? - the list above sounds like an ad for go, (except for the update-while-running)..
Same here, and I will tell you quite authoritatively
the ~ keyword indicates that it has not been tested to be marked stable. It does not mean it is broken.
SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/gcc-${PV}/gcc-core-${PV}.tar.bz2
ftp://gcc.gnu.org/pub/gcc/releases/gcc-${PV}/gcc-ada-${PV}.tar.bz2
amd64? ( https://dev.gentoo.org/~george/src/gnatboot-${BOOT_SLOT}-amd64.tar.bz2 )
sparc? ( https://dev.gentoo.org/~george/src/gnatboot-${BOOT_SLOT}-sparc.tar.bz2 )
x86? ( https://dev.gentoo.org/~george/src/gnatboot-${BOOT_SLOT}-i686.tar.bz2 )"
# ppc? ( mirror://gentoo/gnatboot-${BOOT_SLOT}-ppc.tar.bz2 )
KEYWORDS="amd64 x86"
# SLOT is set in gnatbuild.eclass, depends only on PV (basically SLOT=GCCBRANCH)
# so the URI's are static.
SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/gcc-${PV}/gcc-core-${PV}.tar.bz2
ftp://gcc.gnu.org/pub/gcc/releases/gcc-${PV}/gcc-ada-${PV}.tar.bz2
ppc? ( mirror://gentoo/gnatboot-${BOOT_SLOT}-ppc.tar.bz2 )
x86? ( mirror://gentoo/gnatboot-${BOOT_SLOT}-i386.tar.bz2 )
amd64? ( mirror://gentoo/gnatboot-${BOOT_SLOT}-amd64.tar.bz2 )"
KEYWORDS="amd64 ~ppc x86"
If a package has NO-KEYWORDS for a given arch, it means it is not known whether the package will work, or that insufficient testing has occurred for ~arch.
mips? ( mylan://overlay/supfiles/dev-lang/gnat-gcc/gnatboot-${BOOT_SLOT}mips.tar.bz2 )
arm? ( mylan://overlay/supfiles/dev-lang/gnat-gcc/gnatboot-${BOOT_SLOT}-arm.tar.bz2 )
Github is partially implemented in Erlang.
You have more info on Erlang and embedded systems at: http://www.erlang-embedded.com
But if I need transaction based stuff - I will go to Erlang without a doubt. So each language has it's own usage. And each language has it's " followers/fanatics " of whom you should never listen to for too long but be pragmatic as read use cases for each - and select the right language for the current job at hand. You would not use a hammer to put in a screw in a wall would you? (if you had a screw driver available and knew how to use it....) If it is just one screw you might be fine using a hammer - result won't be pretty but it might work But if you are building a house you would take the time to learn how to use a screw driver.
Erlang is great for multi-threaded SAFE transactional programming.
It takes a while getting used to but even small machines can support 1000's of threads running in " parallel "
It is designed to run 24-7 applications - and can be updated and upgraded while running (if you design right)
It is easy to make " RPC " and run same program over many machines
There are a lot of big big Erlang systems around - I think Facebook chat backend is one of them and WhatsApp as well (http://www.fastcompany.com/3026758/inside-erlang-the-rare-programming-language-behind-whatsapps-success)
How would you compare it to golang? - the list above sounds like an ad for go, (except for the update-while-running)..
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!
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!
/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
...