| Summary: | Erlang does not build for arm in 2013.02-rc3 | ||
|---|---|---|---|
| Product: | buildroot | Reporter: | Timofei Bolshakov <tbolsh> |
| Component: | Other | Assignee: | unassigned |
| Status: | RESOLVED WORKSFORME | ||
| Severity: | major | CC: | buildroot |
| Priority: | P5 | ||
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Host: | Target: | ||
| Build: | |||
(In reply to comment #0) > I was trying to build Erlang int the latest RC (2013.02-rc3) for arm. > It did not recognize the platform correctly and, as a result, did not build. > Here is an excerpt from the log file: > ________________________________________________________________________ > >>> host-erlang R15B01 Patching libtool > >>> host-erlang R15B01 Configuring As the comment says, this is erlang for the host (which is a dependency of erlang for the target). You didn't paste any error message, what exactly is not working? > (cd /root/buildroot-2013.02-rc3/output/build/host-erlang-R15B01/ && rm -rf Please don't build as root! The log you've copy/pasted shows the configuration step of the host-erlang package, i.e when we build Erlang for your development PC. Therefore, it is perfectly normal that the detected host platform is i686-pc-linux-gnu. Could you instead post the real build failure you're seeing? 1. Sorry for misunderstanding - I will provide exact failure as soon as my current build will finish. 2. I build as root because I am building on separate VM, which was created solely for buildroot - this way I can archive / transfer / backup image + toolchain easier. So, it looks like it does not have zlib in the host environment ... I installed it on the host machine, but it does not help. ______________________________________________________________________________ bj/i686-pc-linux-gnu/opt/smp/erl_lock_check.o obj/i686-pc-linux-gnu/opt/smp/erl_gc.o obj/i686-pc-linux-gnu/opt/smp/erl_lock_count.o obj/i686-pc-linux-gnu/opt/smp/erl_nmgc.o obj/i686-pc-linux-gnu/opt/smp/erl_posix_str.o obj/i686-pc-linux-gnu/opt/smp/erl_bits.o obj/i686-pc-linux-gnu/opt/smp/erl_math.o obj/i686-pc-linux-gnu/opt/smp/erl_fun.o obj/i686-pc-linux-gnu/opt/smp/erl_bif_port.o obj/i686-pc-linux-gnu/opt/smp/erl_term.o obj/i686-pc-linux-gnu/opt/smp/erl_node_tables.o obj/i686-pc-linux-gnu/opt/smp/erl_monitors.o obj/i686-pc-linux-gnu/opt/smp/erl_process_dump.o obj/i686-pc-linux-gnu/opt/smp/erl_bif_timer.o obj/i686-pc-linux-gnu/opt/smp/erl_cpu_topology.o obj/i686-pc-linux-gnu/opt/smp/erl_drv_thread.o obj/i686-pc-linux-gnu/opt/smp/erl_bif_chksum.o obj/i686-pc-linux-gnu/opt/smp/erl_bif_re.o obj/i686-pc-linux-gnu/opt/smp/erl_unicode.o obj/i686-pc-linux-gnu/opt/smp/packet_parser.o obj/i686-pc-linux-gnu/opt/smp/safe_hash.o obj/i686-pc-linux-gnu/opt/smp/erl_zlib.o obj/i686-pc-linux-gnu/opt/smp/erl_nif.o obj/i686-pc-linux-gnu/opt/smp/erl_bif_binary.o obj/i686-pc-linux-gnu/opt/smp/erl_ao_firstfit_alloc.o obj/i686-pc-linux-gnu/opt/smp/erl_thr_queue.o obj/i686-pc-linux-gnu/opt/smp/erl_sched_spec_pre_alloc.o obj/i686-pc-linux-gnu/opt/smp/beam_emu.o obj/i686-pc-linux-gnu/opt/smp/beam_opcodes.o obj/i686-pc-linux-gnu/opt/smp/beam_load.o obj/i686-pc-linux-gnu/opt/smp/beam_bif_load.o obj/i686-pc-linux-gnu/opt/smp/beam_debug.o obj/i686-pc-linux-gnu/opt/smp/beam_bp.o obj/i686-pc-linux-gnu/opt/smp/beam_catches.o obj/i686-pc-linux-gnu/opt/smp/sys.o obj/i686-pc-linux-gnu/opt/smp/driver_tab.o obj/i686-pc-linux-gnu/opt/smp/unix_efile.o obj/i686-pc-linux-gnu/opt/smp/gzio.o obj/i686-pc-linux-gnu/opt/smp/elib_memmove.o obj/i686-pc-linux-gnu/opt/smp/sys_float.o obj/i686-pc-linux-gnu/opt/smp/sys_time.o obj/i686-pc-linux-gnu/opt/smp/erl_poll.kp.o obj/i686-pc-linux-gnu/opt/smp/erl_check_io.kp.o obj/i686-pc-linux-gnu/opt/smp/erl_poll.nkp.o obj/i686-pc-linux-gnu/opt/smp/erl_check_io.nkp.o obj/i686-pc-linux-gnu/opt/smp/erl_mseg.o obj/i686-pc-linux-gnu/opt/smp/erl_unix_sys_ddll.o obj/i686-pc-linux-gnu/opt/smp/erl_mtrace_sys_wrap.o obj/i686-pc-linux-gnu/opt/smp/erl_sys_common_misc.o obj/i686-pc-linux-gnu/opt/smp/hipe_bif0.o obj/i686-pc-linux-gnu/opt/smp/hipe_bif1.o obj/i686-pc-linux-gnu/opt/smp/hipe_bif2.o obj/i686-pc-linux-gnu/opt/smp/hipe_debug.o obj/i686-pc-linux-gnu/opt/smp/hipe_gc.o obj/i686-pc-linux-gnu/opt/smp/hipe_mode_switch.o obj/i686-pc-linux-gnu/opt/smp/hipe_native_bif.o obj/i686-pc-linux-gnu/opt/smp/hipe_stack.o obj/i686-pc-linux-gnu/opt/smp/hipe_x86.o obj/i686-pc-linux-gnu/opt/smp/hipe_x86_glue.o obj/i686-pc-linux-gnu/opt/smp/hipe_x86_bifs.o obj/i686-pc-linux-gnu/opt/smp/hipe_x86_signal.o obj/i686-pc-linux-gnu/opt/smp/hipe_x86_stack.o obj/i686-pc-linux-gnu/opt/smp/efile_drv.o obj/i686-pc-linux-gnu/opt/smp/inet_drv.o obj/i686-pc-linux-gnu/opt/smp/zlib_drv.o obj/i686-pc-linux-gnu/opt/smp/ram_file_drv.o obj/i686-pc-linux-gnu/opt/smp/ttsl_drv.o -lutil -ldl -lm -lncurses -L../lib/internal/i686-pc-linux-gnu /root/buildroot-2013.02-rc3/output/build/host-erlang-R15B01/erts/emulator/zlib/obj/i686-pc-linux-gnu/opt/libz.a /root/buildroot-2013.02-rc3/output/build/host-erlang-R15B01/erts/emulator/pcre/obj/i686-pc-linux-gnu/opt/libepcre.a -lethread -lerts_internal_r -lpthread -lrt obj/i686-pc-linux-gnu/opt/smp/erl_bif_chksum.o: In function `adler32_combine_3': erl_bif_chksum.c:(.text+0x134): undefined reference to `adler32_combine64' obj/i686-pc-linux-gnu/opt/smp/erl_bif_chksum.o: In function `crc32_combine_3': erl_bif_chksum.c:(.text+0x20e): undefined reference to `crc32_combine64' obj/i686-pc-linux-gnu/opt/smp/zlib_drv.o: In function `zlib_ctl': zlib_drv.c:(.text+0x31c): undefined reference to `adler32_combine64' zlib_drv.c:(.text+0x3e0): undefined reference to `crc32_combine64' collect2: ld returned 1 exit status make[4]: *** [/root/buildroot-2013.02-rc3/output/build/host-erlang-R15B01/bin/i686-pc-linux-gnu/beam.smp] Error 1 make[4]: Leaving directory `/root/buildroot-2013.02-rc3/output/build/host-erlang-R15B01/erts/emulator' make[3]: *** [opt] Error 2 make[3]: Leaving directory `/root/buildroot-2013.02-rc3/output/build/host-erlang-R15B01/erts/emulator' make[2]: *** [smp] Error 2 make[2]: Leaving directory `/root/buildroot-2013.02-rc3/output/build/host-erlang-R15B01/erts' make[1]: *** [emulator] Error 2 make[1]: Leaving directory `/root/buildroot-2013.02-rc3/output/build/host-erlang-R15B01' make: *** [/root/buildroot-2013.02-rc3/output/build/host-erlang-R15B01/.stamp_built] Error 2 I've just tested building erlang for ARM with the latest Buildroot, and it builds fine here. I've tested both a dynamic library build and a static library build, and both went fine. Could you post the Buildroot .config that exhibits the problem? Also, do you have zlib installed on your host machine? And its development files? Looks to me like host-erlang should either depend on host-zlib, or set the --disable-shared-zlib option. I had a look at this before replying, and the build I tested have been done on a machine where the zlib development files are not installed. host-erlang automatically detects that zlib is not available, and builds its own copy of it. So I concluded that this could not have been the origin of the bug. Hm, indeed --enable-shared-zlib defaults to no, so that can't be it. I also haven't been able to reproduce. Timofei, can you attach the failing .config? Well - I was building it 3 month ago on buildroot-2013.02-rc3 ... Today / tomorrow I will try to reproduce it on the that buildroot and then attach the .config. Sorry for being slow ... The bug report never provided the .config, and I've again tested that Erlang builds fine for ARM. Moreover, it's been a while since we haven't had an autobuilder failure on erlang, as far as I can remember. While there might probably be an issue, the bug report hasn't provided enough detail to investigate. Feel free to reopen with more details (at the minimum the tested Buildroot version *and* configuration file). Thanks! |
I was trying to build Erlang int the latest RC (2013.02-rc3) for arm. It did not recognize the platform correctly and, as a result, did not build. Here is an excerpt from the log file: ________________________________________________________________________ >>> host-erlang R15B01 Patching libtool >>> host-erlang R15B01 Configuring (cd /root/buildroot-2013.02-rc3/output/build/host-erlang-R15B01/ && rm -rf config.cache; PATH=/root/buildroot-2013.02-rc3/output/host/bin:/root/buildroot-2013.02-rc3/output/host/usr/bin:/usr/lib/git-core:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin AR="/usr/bin/ar" AS="/usr/bin/as" LD="/usr/bin/ld" NM="/usr/bin/nm" CC="/root/buildroot-2013.02-rc3/output/host/usr/bin/ccache /usr/bin/gcc" GCC="/root/buildroot-2013.02-rc3/output/host/usr/bin/ccache /usr/bin/gcc" CXX="/root/buildroot-2013.02-rc3/output/host/usr/bin/ccache /usr/bin/g++" CPP="/usr/bin/cpp" CPPFLAGS="-I/root/buildroot-2013.02-rc3/output/host/usr/include" CFLAGS="-O2 -I/root/buildroot-2013.02-rc3/output/host/usr/include" CXXFLAGS="-O2 -I/root/buildroot-2013.02-rc3/output/host/usr/include" LDFLAGS="-L/root/buildroot-2013.02-rc3/output/host/lib -L/root/buildroot-2013.02-rc3/output/host/usr/lib -Wl,-rpath,/root/buildroot-2013.02-rc3/output/host/usr/lib" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG="/root/buildroot-2013.02-rc3/output/host/usr/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_LIBDIR="/root/buildroot-2013.02-rc3/output/host/usr/lib/pkgconfig:/root/buildroot-2013.02-rc3/output/host/usr/share/pkgconfig" PERLLIB="/root/buildroot-2013.02-rc3/output/host/usr/lib/perl" LD_LIBRARY_PATH="/root/buildroot-2013.02-rc3/output/host/usr/lib:" CFLAGS="-O2 -I/root/buildroot-2013.02-rc3/output/host/usr/include" LDFLAGS="-L/root/buildroot-2013.02-rc3/output/host/lib -L/root/buildroot-2013.02-rc3/output/host/usr/lib -Wl,-rpath,/root/buildroot-2013.02-rc3/output/host/usr/lib" ./configure --prefix="/root/buildroot-2013.02-rc3/output/host/usr" --sysconfdir="/root/buildroot-2013.02-rc3/output/host/etc" --enable-shared --disable-static --disable-gtk-doc --disable-doc --disable-docs --disable-documentation --with-xmlto=no --with-fop=no --without-javac ) Ignoring the --cache-file argument since it can cause the system to be erroneously configured Disabling caching checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu !!!!!!!!!!!!!!!!! checking for gcc... /root/buildroot-2013.02-rc3/output/host/usr/bin/ccache /usr/bin/gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no ________________________________________________________________________ Exactly the same happen in RC1 (that was my main reason to switch to RC3).