radareorg / radare2

UNIX-like reverse engineering framework and command-line toolset
https://www.radare.org/
GNU Lesser General Public License v3.0
20.31k stars 2.97k forks source link

Parallel builds fail #13765

Closed jnbr closed 5 years ago

jnbr commented 5 years ago

Work environment

Questions Answers
OS/arch/bits (mandatory) Voidlinux x86 64

Expected behavior

Building radare2 should work by running ./configure; make -j 16.

I was only able to trigger this bug when trying to update the radare2 package in void-packages. For some reason, I couldn't reproduce it on a 'normal' git checkout of radare2.

It worked fine until 3.3.0, 3.4.0 and later fail.

Actual behavior

build fails with:

"cc -Wl,-z,relro -Wl,-z,now -Wl,--as-needed     -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,
-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -lcapstone -fvisibility=hidden -shared -o libr_asm.so -Wl,-soname=libr_asm.so p/asm_6502.o p/asm
_6502_cs.o p/asm_8051.o p/../arch/8051/8051_disas.o p/asm_arc.o p/../arch/arc/gnu/arc-dis.o p/../arch/arc/gnu/arc-ext.o p/../arch/arc/gnu/arc-opc.o p/../arch/arc/gnu/arcompact-dis.o p/asm_arm_as.o p/asm_arm_cs.o
p/../arch/arm/armass.o p/../arch/arm/armass64.o p/asm_arm_gnu.o p/../arch/arm/gnu/arm-dis.o p/../arch/arm/gnu/floatformat.o p/../arch/arm/aarch64/aarch64-dis.o p/../arch/arm/aarch64/aarch64-dis-2.o p/../arch/arm/
aarch64/aarch64-opc.o p/../arch/arm/aarch64/aarch64-opc-2.o p/asm_arm_winedbg.o p/../arch/arm/winedbg/be_arm.o p/asm_avr.o p/asm_bf.o p/asm_chip8.o p/asm_cr16.o /builddir/radare2/libr/asm/arch/cr16/cr16_disas.o p
/asm_cris_gnu.o p/../arch/cris/gnu/cris-dis.o p/../arch/cris/gnu/cris-opc.o p/asm_dalvik.o p/asm_dcpu16.o p/asm_ebc.o /builddir/radare2/libr/asm/arch/ebc/ebc_disas.o p/asm_gb.o p/asm_h8300.o /builddir/radare2/lib
r/asm/arch/h8300/h8300_disas.o p/asm_hexagon.o p/../arch/hexagon/hexagon.o p/../arch/hexagon/hexagon_disas.o p/asm_hppa_gnu.o p/../arch/hppa/gnu/hppa-dis.o p/asm_i4004.o p/asm_i8080.o p/asm_java.o p/asm_lanai_gnu
.o p/../arch/lanai/gnu/lanai-dis.o p/../arch/lanai/gnu/lanai-opc.o p/asm_lh5801.o p/asm_lm32.o p/asm_m680x_cs.o p/asm_m68k_cs.o p/asm_malbolge.o p/asm_mcore.o p/../arch/mcore/mcore.o p/asm_mcs96.o p/asm_mips_cs.o
 p/../arch/mips/mipsasm.o p/asm_mips_gnu.o p/../arch/mips/gnu/mips-dis.o p/../arch/mips/gnu/mips16-opc.o p/../arch/mips/gnu/mips-opc.o p/asm_msp430.o /builddir/radare2/libr/asm/arch/msp430/msp430_disas.o p/asm_ni
os2.o p/../arch/nios/gnu/nios2-dis.o p/../arch/nios/gnu/nios2-opc.o p/asm_null.o p/asm_pic.o p/../arch/pic/pic_baseline.o p/../arch/pic/pic_pic18.o p/../arch/pic/pic_midrange.o p/asm_ppc_cs.o p/../arch/ppc/libvle
/vle.o p/../arch/ppc/libps/libps.o p/asm_ppc_gnu.o p/../arch/ppc/gnu/ppc-dis.o p/../arch/ppc/gnu/ppc-opc.o p/asm_propeller.o p/../arch/propeller/propeller_disas.o p/asm_riscv.o p/asm_rsp.o /builddir/radare2/libr/
asm/arch/rsp/rsp_idec.o p/asm_sh.o p/../arch/sh/gnu/sh-dis.o p/asm_snes.o p/asm_sparc_cs.o p/asm_sparc_gnu.o p/../arch/sparc/gnu/sparc-dis.o p/../arch/sparc/gnu/sparc-opc.o p/asm_spc700.o p/asm_sysz.o p/asm_tms320.o p/../arch/tms320/tms320_dasm.o p/../arch/tms320/c55x_plus/c55plus.o p/../arch/tms320/c55x_plus/c55plus_decode.o p/../arch/tms320/c55x_plus/decode_funcs.o p/../arch/tms320/c55x_plus/hashtable.o p/../arch/tms320/c55x_plus/ins.o p/../arch/tms320/c55x_plus/utils.o p/asm_tricore.o p/../arch/tricore/gnu/tricore-dis.o p/../arch/tricore/gnu/tricore-opc.o p/../arch/tricore/gnu/cpu-tricore.o p/asm_v810.o p/../arch/v810/v810_disas.o p/asm_v850.o /builddir/radare2/libr/asm/arch/v850/v850_disas.o p/asm_vax.o p/../arch/vax/vax-dis.o p/asm_wasm.o /builddir/radare2/libr/asm/arch/wasm/wasm.o p/asm_ws.o p/asm_x86_as.o p/asm_x86_cs.o p/asm_x86_nasm.o p/asm_x86_nz.o p/asm_xap.o p/asm_xcore_cs.o p/asm_xtensa.o p/../arch/xtensa/gnu/xtensa-dis.o p/../arch/xtensa/gnu/xtensa-isa.o p/../arch/xtensa/gnu/xtensa-modules.o p/../arch/xtensa/gnu/elf32-xtensa.o p/asm_z80.o asm.o code.o op.o             -L/builddir/radare2/libr/syscall -L/builddir/radare2/libr/lang -L/builddir/radare2/libr/util -L/builddir/radare2/libr/parse -L/builddir/radare2/libr/flag -L/builddir/radare2/libr/cons -L/builddir/radare2/libr/reg -lr_syscall -lr_lang -lr_util -lr_parse -lr_flag -lr_cons -lr_reg   -fPIC ../..//shlr/java/libr_java.a -fvisibility=hidden   -Wl,-z,relro -Wl,-z,now -Wl,--as-needed     -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -lcapstone -fvisibility=hidden"
/usr/bin/ld: p/../arch/hexagon/hexagon_disas.o: file not recognized: file truncated
collect2: error: ld returned 1 exit status
make[3]: *** [../..//libr/rules.mk:76: libr_asm.so] Error 1
make[3]: Leaving directory '/builddir/radare2/libr/asm'
make[2]: *** [Makefile:155: asm] Error 2
make[2]: *** Waiting for unfinished jobs....

Steps to reproduce the behavior

Try to package radare2 for voidlinux, by running ./xbps-src -j 16 pkg radare2 in void-packages

Additional Logs, screenshots, source-code, configuration dump, ...

Complete build log: build.log

radare commented 5 years ago

so its fixed in git?

On 15 Apr 2019, at 15:05, Johannes notifications@github.com wrote:

Work environment

Questions Answers OS/arch/bits (mandatory) Voidlinux x86 64 Expected behavior

Building radare2 should work by running ./configure; make -j 16.

I was only able to trigger this bug when trying to update the radare2 package in void-packages https://github.com/void-linux/void-packages. For some reason, I couldn't reproduce it on a 'normal' git checkout of radare2.

It worked fine until 3.3.0, 3.4.0 and later fail.

Actual behavior

build fails with:

"cc -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl, -z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -lcapstone -fvisibility=hidden -shared -o libr_asm.so -Wl,-soname=libr_asm.so p/asm_6502.o p/asm _6502_cs.o p/asm_8051.o p/../arch/8051/8051_disas.o p/asm_arc.o p/../arch/arc/gnu/arc-dis.o p/../arch/arc/gnu/arc-ext.o p/../arch/arc/gnu/arc-opc.o p/../arch/arc/gnu/arcompact-dis.o p/asm_arm_as.o p/asm_arm_cs.o p/../arch/arm/armass.o p/../arch/arm/armass64.o p/asm_arm_gnu.o p/../arch/arm/gnu/arm-dis.o p/../arch/arm/gnu/floatformat.o p/../arch/arm/aarch64/aarch64-dis.o p/../arch/arm/aarch64/aarch64-dis-2.o p/../arch/arm/ aarch64/aarch64-opc.o p/../arch/arm/aarch64/aarch64-opc-2.o p/asm_arm_winedbg.o p/../arch/arm/winedbg/be_arm.o p/asm_avr.o p/asm_bf.o p/asm_chip8.o p/asm_cr16.o /builddir/radare2/libr/asm/arch/cr16/cr16_disas.o p /asm_cris_gnu.o p/../arch/cris/gnu/cris-dis.o p/../arch/cris/gnu/cris-opc.o p/asm_dalvik.o p/asm_dcpu16.o p/asm_ebc.o /builddir/radare2/libr/asm/arch/ebc/ebc_disas.o p/asm_gb.o p/asm_h8300.o /builddir/radare2/lib r/asm/arch/h8300/h8300_disas.o p/asm_hexagon.o p/../arch/hexagon/hexagon.o p/../arch/hexagon/hexagon_disas.o p/asm_hppa_gnu.o p/../arch/hppa/gnu/hppa-dis.o p/asm_i4004.o p/asm_i8080.o p/asm_java.o p/asm_lanai_gnu .o p/../arch/lanai/gnu/lanai-dis.o p/../arch/lanai/gnu/lanai-opc.o p/asm_lh5801.o p/asm_lm32.o p/asm_m680x_cs.o p/asm_m68k_cs.o p/asm_malbolge.o p/asm_mcore.o p/../arch/mcore/mcore.o p/asm_mcs96.o p/asm_mips_cs.o p/../arch/mips/mipsasm.o p/asm_mips_gnu.o p/../arch/mips/gnu/mips-dis.o p/../arch/mips/gnu/mips16-opc.o p/../arch/mips/gnu/mips-opc.o p/asm_msp430.o /builddir/radare2/libr/asm/arch/msp430/msp430_disas.o p/asm_ni os2.o p/../arch/nios/gnu/nios2-dis.o p/../arch/nios/gnu/nios2-opc.o p/asm_null.o p/asm_pic.o p/../arch/pic/pic_baseline.o p/../arch/pic/pic_pic18.o p/../arch/pic/pic_midrange.o p/asm_ppc_cs.o p/../arch/ppc/libvle /vle.o p/../arch/ppc/libps/libps.o p/asm_ppc_gnu.o p/../arch/ppc/gnu/ppc-dis.o p/../arch/ppc/gnu/ppc-opc.o p/asm_propeller.o p/../arch/propeller/propeller_disas.o p/asm_riscv.o p/asm_rsp.o /builddir/radare2/libr/ asm/arch/rsp/rsp_idec.o p/asm_sh.o p/../arch/sh/gnu/sh-dis.o p/asm_snes.o p/asm_sparc_cs.o p/asm_sparc_gnu.o p/../arch/sparc/gnu/sparc-dis.o p/../arch/sparc/gnu/sparc-opc.o p/asm_spc700.o p/asm_sysz.o p/asm_tms320.o p/../arch/tms320/tms320_dasm.o p/../arch/tms320/c55x_plus/c55plus.o p/../arch/tms320/c55x_plus/c55plus_decode.o p/../arch/tms320/c55x_plus/decode_funcs.o p/../arch/tms320/c55x_plus/hashtable.o p/../arch/tms320/c55x_plus/ins.o p/../arch/tms320/c55x_plus/utils.o p/asm_tricore.o p/../arch/tricore/gnu/tricore-dis.o p/../arch/tricore/gnu/tricore-opc.o p/../arch/tricore/gnu/cpu-tricore.o p/asm_v810.o p/../arch/v810/v810_disas.o p/asm_v850.o /builddir/radare2/libr/asm/arch/v850/v850_disas.o p/asm_vax.o p/../arch/vax/vax-dis.o p/asm_wasm.o /builddir/radare2/libr/asm/arch/wasm/wasm.o p/asm_ws.o p/asm_x86_as.o p/asm_x86_cs.o p/asm_x86_nasm.o p/asm_x86_nz.o p/asm_xap.o p/asm_xcore_cs.o p/asm_xtensa.o p/../arch/xtensa/gnu/xtensa-dis.o p/../arch/xtensa/gnu/xtensa-isa.o p/../arch/xtensa/gnu/xtensa-modules.o p/../arch/xtensa/gnu/elf32-xtensa.o p/asm_z80.o asm.o code.o op.o -L/builddir/radare2/libr/syscall -L/builddir/radare2/libr/lang -L/builddir/radare2/libr/util -L/builddir/radare2/libr/parse -L/builddir/radare2/libr/flag -L/builddir/radare2/libr/cons -L/builddir/radare2/libr/reg -lr_syscall -lr_lang -lr_util -lr_parse -lr_flag -lr_cons -lr_reg -fPIC ../..//shlr/java/libr_java.a -fvisibility=hidden -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -lcapstone -fvisibility=hidden" /usr/bin/ld: p/../arch/hexagon/hexagon_disas.o: file not recognized: file truncated collect2: error: ld returned 1 exit status make[3]: [../..//libr/rules.mk:76: libr_asm.so] Error 1 make[3]: Leaving directory '/builddir/radare2/libr/asm' make[2]: [Makefile:155: asm] Error 2 make[2]: *** Waiting for unfinished jobs.... Steps to reproduce the behavior

Try to package radare2 for voidlinux, by running ./xbps-src -j 16 pkg radare2 in void-packages <x-msg://23/github.com/void-linux/void-packages> Additional Logs, screenshots, source-code, configuration dump, ...

Complete build log: build.log https://github.com/radare/radare2/files/3080212/build.log — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/radare/radare2/issues/13765, or mute the thread https://github.com/notifications/unsubscribe-auth/AA3-lodDF7DuxpDY0Ioiw-ABznOomaxgks5vhHkUgaJpZM4cv7QH.

jnbr commented 5 years ago

so its fixed in git?

no

jnbr commented 5 years ago

note: the attached log is from d512b9c0a04b6d6c89899a42cd56cd510ec2898c

nmeum commented 5 years ago

ran into the same issue when upgrading the alpine linux package of radare2:

radare commented 5 years ago

Problem is that we shouldnt build asm and anal in the same parallel stage. So we probably need to add another layer

On 17 Apr 2019, at 11:25, nmeum notifications@github.com wrote:

ran into the same issue when upgrading the alpine linux package of radare2:

radare2-3.4.1-r0.log — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

radare commented 5 years ago

Please confirm the fix

jnbr commented 5 years ago

Can confirm the fix. Building current master with -j16 works for me.