Problem compiling simpleFX_Analog.dsp
- Edited
Still having trouble at this step.
Using distcc by default on Bela
Make the following edit to the Bela Makefile:
By "the Bela Makefile" I presume that you mean the file /root/Bela/Makefile. Sorry, it wasn't obvious to me.
I found the lines and made the change.
echo 'Building render.cpp...'
Building render.cpp...
distcc-clang++ -I/root/Bela/projects/delay01 -I./include -I./build/pru/ -I/usr/xenomai/include/cobalt -I/usr/xenomai/include -march=armv7-a -mfpu=vfp3 -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__COBALT__ -D__COBALT_WRAP__ -DXENOMAI_SKIN_posix -DXENOMAI_MAJOR=3 -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -DNDEBUG -DBELA_USE_RTDM -I/root/Bela/resources/stretch/include -std=c++11 -Wno-varargs -DNDEBUG -Wall -c -fmessage-length=0 -U_FORTIFY_SOURCE -MMD -MP -MF"/root/Bela/projects/delay01/build/render.d" -o "/root/Bela/projects/delay01/build/render.o" "/root/Bela/projects/delay01/render.cpp"
distcc[2855] ERROR: nonblocking connect to 192.168.7.1:3632 failed: Connection refused
distcc[2855] (dcc_build_somewhere) Warning: failed to distribute and fallbacks are disabled
Makefile:434: recipe for target '/root/Bela/projects/delay01/build/render.o' failed
make: *** [/root/Bela/projects/delay01/build/render.o] Error 103
Connection to 192.168.7.2 closed.
gary@audio-workstation:~/faust/examples/bela$
- Edited
OK the distccd wasn't running. Now that I started that, I get:
distccd[14751] (dcc_standalone_server) not detaching
distccd[14751] (dcc_new_pgrp) already a process group leader
distccd[14751] (dcc_log_daemon_started) preforking daemon started (3.3.2 x86_64-pc-linux-gnu, built May 26 2019 14:11:45)
distccd[14751] (dcc_create_kids) up to 1 children
distccd[14751] (dcc_create_kids) up to 2 children
distccd[14751] (dcc_create_kids) up to 3 children
distccd[14751] (dcc_create_kids) up to 4 children
distccd[14751] (dcc_create_kids) up to 5 children
distccd[14751] (dcc_create_kids) up to 6 children
distccd[14752] (dcc_check_client) connection from 192.168.7.2:59746
distccd[14752] (check_address_inet) match client 0x207a8c0, value 0x207a8c0, mask 0xffffffff
distccd[14752] (dcc_r_token_int) got DIST00000001
distccd[14752] (dcc_r_token_int) got ARGC00000013
distccd[14752] (dcc_r_argv) reading 19 arguments from job submission
distccd[14752] (dcc_r_token_int) got ARGV0000000f
distccd[14752] (dcc_r_token_string) got 'clang++-3.9-arm'
distccd[14752] (dcc_r_argv) argv[0] = "clang++-3.9-arm"
distccd[14752] (dcc_r_token_int) got ARGV0000000e
distccd[14752] (dcc_r_token_string) got '-march=armv7-a'
distccd[14752] (dcc_r_argv) argv[1] = "-march=armv7-a"
distccd[14752] (dcc_r_token_int) got ARGV0000000a
distccd[14752] (dcc_r_token_string) got '-mfpu=vfp3'
distccd[14752] (dcc_r_argv) argv[2] = "-mfpu=vfp3"
distccd[14752] (dcc_r_token_int) got ARGV0000001c
distccd[14752] (dcc_r_token_string) got '-fasynchronous-unwind-tables'
distccd[14752] (dcc_r_argv) argv[3] = "-fasynchronous-unwind-tables"
distccd[14752] (dcc_r_token_int) got ARGV00000003
distccd[14752] (dcc_r_token_string) got '-O3'
distccd[14752] (dcc_r_argv) argv[4] = "-O3"
distccd[14752] (dcc_r_token_int) got ARGV0000000e
distccd[14752] (dcc_r_token_string) got '-march=armv7-a'
distccd[14752] (dcc_r_argv) argv[5] = "-march=armv7-a"
distccd[14752] (dcc_r_token_int) got ARGV00000010
distccd[14752] (dcc_r_token_string) got '-mtune=cortex-a8'
distccd[14752] (dcc_r_argv) argv[6] = "-mtune=cortex-a8"
distccd[14752] (dcc_r_token_int) got ARGV00000010
distccd[14752] (dcc_r_token_string) got '-mfloat-abi=hard'
distccd[14752] (dcc_r_argv) argv[7] = "-mfloat-abi=hard"
distccd[14752] (dcc_r_token_int) got ARGV0000000a
distccd[14752] (dcc_r_token_string) got '-mfpu=neon'
distccd[14752] (dcc_r_argv) argv[8] = "-mfpu=neon"
distccd[14752] (dcc_r_token_int) got ARGV00000010
distccd[14752] (dcc_r_token_string) got '-ftree-vectorize'
distccd[14752] (dcc_r_argv) argv[9] = "-ftree-vectorize"
distccd[14752] (dcc_r_token_int) got ARGV0000000b
distccd[14752] (dcc_r_token_string) got '-ffast-math'
distccd[14752] (dcc_r_argv) argv[10] = "-ffast-math"
distccd[14752] (dcc_r_token_int) got ARGV0000000a
distccd[14752] (dcc_r_token_string) got '-std=c++11'
distccd[14752] (dcc_r_argv) argv[11] = "-std=c++11"
distccd[14752] (dcc_r_token_int) got ARGV0000000c
distccd[14752] (dcc_r_token_string) got '-Wno-varargs'
distccd[14752] (dcc_r_argv) argv[12] = "-Wno-varargs"
distccd[14752] (dcc_r_token_int) got ARGV00000005
distccd[14752] (dcc_r_token_string) got '-Wall'
distccd[14752] (dcc_r_argv) argv[13] = "-Wall"
distccd[14752] (dcc_r_token_int) got ARGV00000002
distccd[14752] (dcc_r_token_string) got '-c'
distccd[14752] (dcc_r_argv) argv[14] = "-c"
distccd[14752] (dcc_r_token_int) got ARGV00000012
distccd[14752] (dcc_r_token_string) got '-fmessage-length=0'
distccd[14752] (dcc_r_argv) argv[15] = "-fmessage-length=0"
distccd[14752] (dcc_r_token_int) got ARGV00000002
distccd[14752] (dcc_r_token_string) got '-o'
distccd[14752] (dcc_r_argv) argv[16] = "-o"
distccd[14752] (dcc_r_token_int) got ARGV0000002a
distccd[14752] (dcc_r_token_string) got '/root/Bela/projects/delay01/build/render.o'
distccd[14752] (dcc_r_argv) argv[17] = "/root/Bela/projects/delay01/build/render.o"
distccd[14752] (dcc_r_token_int) got ARGV00000026
distccd[14752] (dcc_r_token_string) got '/root/Bela/projects/delay01/render.cpp'
distccd[14752] (dcc_r_argv) argv[18] = "/root/Bela/projects/delay01/render.cpp"
distccd[14752] (dcc_r_argv) got arguments: clang++-3.9-arm -march=armv7-a -mfpu=vfp3 -fasynchronous-unwind-tables -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -std=c++11 -Wno-varargs -Wall -c -fmessage-length=0 -o /root/Bela/projects/delay01/build/render.o /root/Bela/projects/delay01/render.cpp
distccd[14752] (dcc_scan_args) scanning arguments: clang++-3.9-arm -march=armv7-a -mfpu=vfp3 -fasynchronous-unwind-tables -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -std=c++11 -Wno-varargs -Wall -c -fmessage-length=0 -o /root/Bela/projects/delay01/build/render.o /root/Bela/projects/delay01/render.cpp
distccd[14752] (dcc_scan_args) found object/output file "/root/Bela/projects/delay01/build/render.o"
distccd[14752] (dcc_scan_args) found input file "/root/Bela/projects/delay01/render.cpp"
distccd[14752] compile from render.cpp to render.o
distccd[14752] (dcc_run_job) output file /root/Bela/projects/delay01/build/render.o
distccd[14752] (dcc_input_tmpnam) input file /root/Bela/projects/delay01/render.cpp
distccd[14752] (dcc_r_token_int) got DOTI0018d9d3
distccd[14752] (dcc_r_file) received 1628627 bytes to file /tmp/distccd_1db50d83.ii
distccd[14752] (dcc_r_file_timed) 1628627 bytes received in 0.146217s, rate 10877kB/s
distccd[14752] (dcc_set_input) changed input from "/root/Bela/projects/delay01/render.cpp" to "/tmp/distccd_1db50d83.ii"
distccd[14752] (dcc_set_input) command after: clang++-3.9-arm -march=armv7-a -mfpu=vfp3 -fasynchronous-unwind-tables -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -std=c++11 -Wno-varargs -Wall -c -fmessage-length=0 -o /root/Bela/projects/delay01/build/render.o /tmp/distccd_1db50d83.ii
distccd[14752] (dcc_set_output) changed output from "/root/Bela/projects/delay01/build/render.o" to "/tmp/distccd_1dc50d83.o"
distccd[14752] (dcc_set_output) command after: clang++-3.9-arm -march=armv7-a -mfpu=vfp3 -fasynchronous-unwind-tables -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -std=c++11 -Wno-varargs -Wall -c -fmessage-length=0 -o /tmp/distccd_1dc50d83.o /tmp/distccd_1db50d83.ii
distccd[14752] (dcc_check_compiler_masq) /usr/local/bin/clang++-3.9-arm is not a symlink
distccd[14752] (dcc_spawn_child) forking to execute: clang++-3.9-arm -march=armv7-a -mfpu=vfp3 -fasynchronous-unwind-tables -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -std=c++11 -Wno-varargs -Wall -c -fmessage-length=0 -o /tmp/distccd_1dc50d83.o /tmp/distccd_1db50d83.ii
distccd[14752] (dcc_spawn_child) child started as pid14971
distccd[14971] (dcc_new_pgrp) entered process group
distccd[14971] (dcc_increment_safeguard) setting safeguard: _DISTCC_SAFEGUARD=1
distccd[14752] (dcc_collect_child) cc child 14971 terminated with status 0x100
distccd[14752] (dcc_collect_child) cc times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt
distccd[14752] (dcc_x_token_int) send DONE00000001
distccd[14752] (dcc_x_token_int) send STAT00000100
distccd[14752] (dcc_x_file) send 248 byte file /tmp/distcc_161f0d83.stderr with token SERR and compression 69
distccd[14752] (dcc_x_token_int) send SERR000000f8
distccd[14752] (dcc_x_file) send 0 byte file /tmp/distcc_16d70d83.stdout with token SOUT and compression 69
distccd[14752] (dcc_x_token_int) send SOUT00000000
distccd[14752] (dcc_x_token_int) send DOTO00000000
distccd[14752] clang++-3.9-arm /root/Bela/projects/delay01/render.cpp on localhost failed
distccd[14752] job complete
distccd[14752] (dcc_cleanup_tempfiles_inner) deleted 5 temporary files
distccd[14752] (dcc_job_summary) client: 192.168.7.2:59746 COMPILE_ERROR exit:1 sig:0 core:0 ret:0 time:988ms clang++-3.9-arm /root/Bela/projects/delay01/render.cpp
in the distcc log.
On host console I get:
echo 'Building render.cpp...'
Building render.cpp...
distcc-clang++ -I/root/Bela/projects/delay01 -I./include -I./build/pru/ -I/usr/xenomai/include/cobalt -I/usr/xenomai/include -march=armv7-a -mfpu=vfp3 -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__COBALT__ -D__COBALT_WRAP__ -DXENOMAI_SKIN_posix -DXENOMAI_MAJOR=3 -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -DNDEBUG -DBELA_USE_RTDM -I/root/Bela/resources/stretch/include -std=c++11 -Wno-varargs -DNDEBUG -Wall -c -fmessage-length=0 -U_FORTIFY_SOURCE -MMD -MP -MF"/root/Bela/projects/delay01/build/render.d" -o "/root/Bela/projects/delay01/build/render.o" "/root/Bela/projects/delay01/render.cpp"
distcc[3031] ERROR: compile /root/Bela/projects/delay01/render.cpp on 192.168.7.1 failed
distcc[3031] (dcc_build_somewhere) Warning: remote compilation of '/root/Bela/projects/delay01/render.cpp' failed, retrying locally
distcc[3031] (dcc_build_somewhere) Warning: failed to distribute and fallbacks are disabled
/usr/bin/ld: unrecognised emulation mode: armelf_linux_eabi
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om i386pep i386pe
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Makefile:434: recipe for target '/root/Bela/projects/delay01/build/render.o' failed
make: *** [/root/Bela/projects/delay01/build/render.o] Error 1
Connection to 192.168.7.2 closed.
gary@audio-workstation:~/faust/examples/bela$
- Edited
Think you were talking about this before, but not sure I understood.
ary@audio-workstation:~/faust/examples/bela$ cat /usr/local/bin/*arm
#!/bin/bash
/usr/bin/clang -target armv7l-unknown-linux-gnueabihf --sysroot ~/arm $@
#!/bin/bash
/usr/bin/clang++ -target armv7l-unknown-linux-gnueabihf --sysroot ~/arm $0
gary@audio-workstation:~/faust/examples/bela$
These don't currently point to clang-3.9. They just point to clang which is actually version 6. I think you were saying that it has to be version 3.9?
However, this step works:
distcc-clang -c ~/Bela/resources/network/udp-client.c
gary@audio-workstation:~$ ld -V
GNU ld (GNU Binutils for Ubuntu) 2.30
Supported emulations:
elf_x86_64
elf32_x86_64
elf_i386
elf_iamcu
i386linux
elf_l1om
elf_k1om
i386pep
i386pe
gary@audio-workstation:~$
Digital-Larry By "the Bela Makefile" I presume that you mean the file /root/Bela/Makefile.
yes
Digital-Larry On host console I get:
I guess that's technically the "client" console (i.e.: what you see there is while you are logged in on Bela).
So it seems that the compiler is failing, and my guess is that it is because it is being passed -march=armv7-a
but no -target armv7l-unknown-linux-gnueabihf
, and this - I guess - is because you are not calling the wrapper but you are calling the vanilla compiler directly (through the symlink you created).
The point of the wrapper is exactly to automatically add -target armv7l-unknown-linux-gnueabihf
to all calls.
I think what is happening is what I mentioned in the other thread:
giuliomoro But if you do put some symlinks there, they should be pointing NOT to the regular clang, but to the clang-3.9-arm and clang++-3.9-arm files you created in /usr/local/bin/, and they will eventually call clang with the appropriate option -target armv7l-unknown-linux-gnueabihf, to tell it to build code for ARM.
Digital-Larry gary@audio-workstation:/usr/local/lib$ ls -l distcc/
total 0
lrwxrwxrwx 1 root root 14 May 28 17:45 clang-3.9-arm -> /usr/bin/clang
lrwxrwxrwx 1 root root 16 May 28 17:45 clang++-3.9-arm -> /usr/bin/clang++Is this working? I find it surprising, but I guess it may depend on how you clang has been built. This way you are simply using the regular clang on your computer, but it should need a -target armv7l-unknown-linux-gnueabihf option in order to know it should build for arm (at least, it does with mine, which I installed with macports on Mac).
basically, remove your current symlinks from /usr/local/lib/distcc/
and make some new ones that point NOT to the vanilla clang
/clang++
, but to the wrapper clang-3.9-arm
/clang++-3.9-arm
you created:
sudo rm /usr/local/lib/distcc/*
sudo ln -s /usr/local/bin/clang-3.9-arm/ /usr/local/lib/distcc/
sudo ln -s /usr/local/bin/clang++-3.9-arm/ /usr/local/lib/distcc/
Digital-Larry However, this step works:
distcc-clang -c ~/Bela/resources/network/udp-client.c
I see now how that can easily give false positives: it just checks that the server can compile, but does not check the nature of the resulted file. If you were to do file a.out
, it would probably say it's an x86 file and not an ARM one.
So the test should probably be amended to :
distcc-clang -c ~/Bela/resources/network/udp-client.c -march=armv7-a
This should then fail similarly to the how the Bela project is failing in your current configuration, and should be fixed with the updated symlinks.
giuliomoro thanks for your continued help... will check all this!
- Edited
OK let's see where we are now.
root@bela:~/Bela# grep distcc Makefile
CLANG_PATH=distcc-clang
root@bela:~/Bela#
reference command line build on bela works (without specifying architecture):
root@bela:~/Bela/resources/network# distcc-clang -v -c udp-client.c
clang version 3.9.1-9 (tags/RELEASE_391/rc2)
Target: armv7l-unknown-linux-gnueabihf
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/arm-linux-gnueabihf/6
Found candidate GCC installation: /usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0
Found candidate GCC installation: /usr/lib/gcc/arm-linux-gnueabihf/6
Found candidate GCC installation: /usr/lib/gcc/arm-linux-gnueabihf/6.3.0
Selected GCC installation: /usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0
Candidate multilib: .;@m32
Selected multilib: .;@m32
"/usr/lib/llvm-3.9/bin/clang" -cc1 -triple armv7-unknown-linux-gnueabihf -E -disable-free -disable-llvm-verifier -discard-value-names -main-file-name udp-client.c -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu cortex-a8 -target-abi aapcs-linux -mfloat-abi hard -v -dwarf-column-info -debugger-tuning=gdb -resource-dir /usr/lib/llvm-3.9/bin/../lib/clang/3.9.1 -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include -internal-externc-isystem /usr/include/arm-linux-gnueabihf -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdebug-compilation-dir /root/Bela/resources/network -ferror-limit 19 -fmessage-length 80 -fallow-half-arguments-and-returns -fno-signed-char -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -o - -x c udp-client.c
clang -cc1 version 3.9.1 based upon LLVM 3.9.1 default target armv7l-unknown-linux-gnueabihf
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include
/usr/include/arm-linux-gnueabihf
/usr/include
End of search list.
clang version 3.9.1-19ubuntu1 (tags/RELEASE_391/rc2)
Target: armv7l-unknown-linux-gnueabihf
Thread model: posix
InstalledDir: /usr/bin
"/usr/lib/llvm-3.9/bin/clang" -cc1 -triple armv7-unknown-linux-gnueabihf -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name distccd_ba396596.i -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -target-cpu cortex-a8 -target-abi aapcs-linux -mfloat-abi hard -v -dwarf-column-info -debugger-tuning=gdb -coverage-file /tmp/distccd_ba666596.o -resource-dir /usr/lib/llvm-3.9/bin/../lib/clang/3.9.1 -fdebug-compilation-dir /tmp -ferror-limit 19 -fmessage-length 0 -fallow-half-arguments-and-returns -fno-signed-char -fobjc-runtime=gcc -fdiagnostics-show-option -o /tmp/distccd_ba666596.o -x cpp-output /tmp/distccd_ba396596.i
clang -cc1 version 3.9.1 based upon LLVM 3.9.1 default target x86_64-pc-linux-gnu
#include "..." search starts here:
End of search list.
root@bela:~/Bela/resources/network#
reference build works with specifying architecture:
root@bela:~/Bela/resources/network# distcc-clang -c -v ~/Bela/resources/network/udp-client.c -march=armv7-a
clang version 3.9.1-9 (tags/RELEASE_391/rc2)
Target: armv7l-unknown-linux-gnueabihf
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/arm-linux-gnueabihf/6
Found candidate GCC installation: /usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0
Found candidate GCC installation: /usr/lib/gcc/arm-linux-gnueabihf/6
Found candidate GCC installation: /usr/lib/gcc/arm-linux-gnueabihf/6.3.0
Selected GCC installation: /usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0
Candidate multilib: .;@m32
Selected multilib: .;@m32
"/usr/lib/llvm-3.9/bin/clang" -cc1 -triple armv7-unknown-linux-gnueabihf -E -disable-free -disable-llvm-verifier -discard-value-names -main-file-name udp-client.c -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu cortex-a8 -target-abi aapcs-linux -mfloat-abi hard -v -dwarf-column-info -debugger-tuning=gdb -resource-dir /usr/lib/llvm-3.9/bin/../lib/clang/3.9.1 -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include -internal-externc-isystem /usr/include/arm-linux-gnueabihf -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdebug-compilation-dir /root/Bela/resources/network -ferror-limit 19 -fmessage-length 80 -fallow-half-arguments-and-returns -fno-signed-char -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -o - -x c /root/Bela/resources/network/udp-client.c
clang -cc1 version 3.9.1 based upon LLVM 3.9.1 default target armv7l-unknown-linux-gnueabihf
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include
/usr/include/arm-linux-gnueabihf
/usr/include
End of search list.
clang version 3.9.1-19ubuntu1 (tags/RELEASE_391/rc2)
Target: armv7l-unknown-linux-gnueabihf
Thread model: posix
InstalledDir: /usr/bin
"/usr/lib/llvm-3.9/bin/clang" -cc1 -triple armv7-unknown-linux-gnueabihf -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name distccd_ff4c663b.i -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -target-cpu cortex-a8 -target-abi aapcs-linux -mfloat-abi hard -v -dwarf-column-info -debugger-tuning=gdb -coverage-file /tmp/distccd_fcec663b.o -resource-dir /usr/lib/llvm-3.9/bin/../lib/clang/3.9.1 -fdebug-compilation-dir /tmp -ferror-limit 19 -fmessage-length 0 -fallow-half-arguments-and-returns -fno-signed-char -fobjc-runtime=gcc -fdiagnostics-show-option -o /tmp/distccd_fcec663b.o -x cpp-output /tmp/distccd_ff4c663b.i
clang -cc1 version 3.9.1 based upon LLVM 3.9.1 default target x86_64-pc-linux-gnu
#include "..." search starts here:
End of search list.
root@bela:~/Bela/resources/network#
Here's the distcclog from the Ubuntu machine:
distccd[14752] (dcc_check_client) connection from 192.168.7.2:59770
distccd[14752] (check_address_inet) match client 0x207a8c0, value 0x207a8c0, mask 0xffffffff
distccd[14752] (dcc_r_token_int) got DIST00000001
distccd[14752] (dcc_r_token_int) got ARGC00000006
distccd[14752] (dcc_r_argv) reading 6 arguments from job submission
distccd[14752] (dcc_r_token_int) got ARGV0000000d
distccd[14752] (dcc_r_token_string) got 'clang-3.9-arm'
distccd[14752] (dcc_r_argv) argv[0] = "clang-3.9-arm"
distccd[14752] (dcc_r_token_int) got ARGV00000002
distccd[14752] (dcc_r_token_string) got '-v'
distccd[14752] (dcc_r_argv) argv[1] = "-v"
distccd[14752] (dcc_r_token_int) got ARGV00000002
distccd[14752] (dcc_r_token_string) got '-c'
distccd[14752] (dcc_r_argv) argv[2] = "-c"
distccd[14752] (dcc_r_token_int) got ARGV0000000c
distccd[14752] (dcc_r_token_string) got 'udp-client.c'
distccd[14752] (dcc_r_argv) argv[3] = "udp-client.c"
distccd[14752] (dcc_r_token_int) got ARGV00000002
distccd[14752] (dcc_r_token_string) got '-o'
distccd[14752] (dcc_r_argv) argv[4] = "-o"
distccd[14752] (dcc_r_token_int) got ARGV0000000c
distccd[14752] (dcc_r_token_string) got 'udp-client.o'
distccd[14752] (dcc_r_argv) argv[5] = "udp-client.o"
distccd[14752] (dcc_r_argv) got arguments: clang-3.9-arm -v -c udp-client.c -o udp-client.o
distccd[14752] (dcc_scan_args) scanning arguments: clang-3.9-arm -v -c udp-client.c -o udp-client.o
distccd[14752] (dcc_scan_args) found input file "udp-client.c"
distccd[14752] (dcc_scan_args) found object/output file "udp-client.o"
distccd[14752] compile from udp-client.c to udp-client.o
distccd[14752] (dcc_run_job) output file udp-client.o
distccd[14752] (dcc_input_tmpnam) input file udp-client.c
distccd[14752] (dcc_r_token_int) got DOTI00016dac
distccd[14752] (dcc_r_file) received 93612 bytes to file /tmp/distccd_ba396596.i
distccd[14752] (dcc_r_file_timed) 93612 bytes received in 0.011009s, rate 8304kB/s
distccd[14752] (dcc_set_input) changed input from "udp-client.c" to "/tmp/distccd_ba396596.i"
distccd[14752] (dcc_set_input) command after: clang-3.9-arm -v -c /tmp/distccd_ba396596.i -o udp-client.o
distccd[14752] (dcc_set_output) changed output from "udp-client.o" to "/tmp/distccd_ba666596.o"
distccd[14752] (dcc_set_output) command after: clang-3.9-arm -v -c /tmp/distccd_ba396596.i -o /tmp/distccd_ba666596.o
distccd[14752] (dcc_check_compiler_masq) /usr/local/bin/clang-3.9-arm is not a symlink
distccd[14752] (dcc_spawn_child) forking to execute: clang-3.9-arm -v -c /tmp/distccd_ba396596.i -o /tmp/distccd_ba666596.o
distccd[14752] (dcc_spawn_child) child started as pid32524
distccd[32524] (dcc_new_pgrp) entered process group
distccd[32524] (dcc_increment_safeguard) setting safeguard: _DISTCC_SAFEGUARD=1
distccd[14752] (dcc_collect_child) cc child 32524 terminated with status 0
distccd[14752] (dcc_collect_child) cc times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt
distccd[14752] (dcc_x_token_int) send DONE00000001
distccd[14752] (dcc_x_token_int) send STAT00000000
distccd[14752] (dcc_x_file) send 1002 byte file /tmp/distcc_b8066596.stderr with token SERR and compression 69
distccd[14752] (dcc_x_token_int) send SERR000003ea
distccd[14752] (dcc_x_file) send 0 byte file /tmp/distcc_b8246596.stdout with token SOUT and compression 69
distccd[14752] (dcc_x_token_int) send SOUT00000000
distccd[14752] (dcc_x_file) send 2192 byte file /tmp/distccd_ba666596.o with token DOTO and compression 69
distccd[14752] (dcc_x_token_int) send DOTO00000890
distccd[14752] clang-3.9-arm udp-client.c on localhost completed ok
distccd[14752] job complete
distccd[14752] (dcc_cleanup_tempfiles_inner) deleted 5 temporary files
distccd[14752] (dcc_job_summary) client: 192.168.7.2:59770 COMPILE_OK exit:0 sig:0 core:0 ret:0 time:318ms clang-3.9-arm udp-client.c
distccd[14753] (dcc_check_client) connection from 192.168.7.2:59772
distccd[14753] (check_address_inet) match client 0x207a8c0, value 0x207a8c0, mask 0xffffffff
distccd[14753] (dcc_r_token_int) got DIST00000001
distccd[14753] (dcc_r_token_int) got ARGC00000006
distccd[14753] (dcc_r_argv) reading 6 arguments from job submission
distccd[14753] (dcc_r_token_int) got ARGV0000000d
distccd[14753] (dcc_r_token_string) got 'clang-3.9-arm'
distccd[14753] (dcc_r_argv) argv[0] = "clang-3.9-arm"
distccd[14753] (dcc_r_token_int) got ARGV00000002
distccd[14753] (dcc_r_token_string) got '-c'
distccd[14753] (dcc_r_argv) argv[1] = "-c"
distccd[14753] (dcc_r_token_int) got ARGV00000029
distccd[14753] (dcc_r_token_string) got '/root/Bela/resources/network/udp-client.c'
distccd[14753] (dcc_r_argv) argv[2] = "/root/Bela/resources/network/udp-client.c"
distccd[14753] (dcc_r_token_int) got ARGV0000000e
distccd[14753] (dcc_r_token_string) got '-march=armv7-a'
distccd[14753] (dcc_r_argv) argv[3] = "-march=armv7-a"
distccd[14753] (dcc_r_token_int) got ARGV00000002
distccd[14753] (dcc_r_token_string) got '-o'
distccd[14753] (dcc_r_argv) argv[4] = "-o"
distccd[14753] (dcc_r_token_int) got ARGV0000000c
distccd[14753] (dcc_r_token_string) got 'udp-client.o'
distccd[14753] (dcc_r_argv) argv[5] = "udp-client.o"
distccd[14753] (dcc_r_argv) got arguments: clang-3.9-arm -c /root/Bela/resources/network/udp-client.c -march=armv7-a -o udp-client.o
distccd[14753] (dcc_scan_args) scanning arguments: clang-3.9-arm -c /root/Bela/resources/network/udp-client.c -march=armv7-a -o udp-client.o
distccd[14753] (dcc_scan_args) found input file "/root/Bela/resources/network/udp-client.c"
distccd[14753] (dcc_scan_args) found object/output file "udp-client.o"
distccd[14753] compile from udp-client.c to udp-client.o
distccd[14753] (dcc_run_job) output file udp-client.o
distccd[14753] (dcc_input_tmpnam) input file /root/Bela/resources/network/udp-client.c
distccd[14753] (dcc_r_token_int) got DOTI00016eeb
distccd[14753] (dcc_r_file) received 93931 bytes to file /tmp/distccd_20816628.i
distccd[14753] (dcc_r_file_timed) 93931 bytes received in 0.012232s, rate 7499kB/s
distccd[14753] (dcc_set_input) changed input from "/root/Bela/resources/network/udp-client.c" to "/tmp/distccd_20816628.i"
distccd[14753] (dcc_set_input) command after: clang-3.9-arm -c /tmp/distccd_20816628.i -march=armv7-a -o udp-client.o
distccd[14753] (dcc_set_output) changed output from "udp-client.o" to "/tmp/distccd_20dc6628.o"
distccd[14753] (dcc_set_output) command after: clang-3.9-arm -c /tmp/distccd_20816628.i -march=armv7-a -o /tmp/distccd_20dc6628.o
distccd[14753] (dcc_check_compiler_masq) /usr/local/bin/clang-3.9-arm is not a symlink
distccd[14753] (dcc_spawn_child) forking to execute: clang-3.9-arm -c /tmp/distccd_20816628.i -march=armv7-a -o /tmp/distccd_20dc6628.o
distccd[14753] (dcc_spawn_child) child started as pid32547
distccd[32547] (dcc_new_pgrp) entered process group
distccd[32547] (dcc_increment_safeguard) setting safeguard: _DISTCC_SAFEGUARD=1
distccd[14753] (dcc_collect_child) cc child 32547 terminated with status 0
distccd[14753] (dcc_collect_child) cc times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt
distccd[14753] (dcc_x_token_int) send DONE00000001
distccd[14753] (dcc_x_token_int) send STAT00000000
distccd[14753] (dcc_x_file) send 0 byte file /tmp/distcc_27c16628.stderr with token SERR and compression 69
distccd[14753] (dcc_x_token_int) send SERR00000000
distccd[14753] (dcc_x_file) send 0 byte file /tmp/distcc_27996628.stdout with token SOUT and compression 69
distccd[14753] (dcc_x_token_int) send SOUT00000000
distccd[14753] (dcc_x_file) send 2192 byte file /tmp/distccd_20dc6628.o with token DOTO and compression 69
distccd[14753] (dcc_x_token_int) send DOTO00000890
distccd[14753] clang-3.9-arm /root/Bela/resources/network/udp-client.c on localhost completed ok
distccd[14753] job complete
distccd[14753] (dcc_cleanup_tempfiles_inner) deleted 5 temporary files
distccd[14753] (dcc_job_summary) client: 192.168.7.2:59772 COMPILE_OK exit:0 sig:0 core:0 ret:0 time:286ms clang-3.9-arm /root/Bela/resources/network/udp-client.c
distccd[14754] (dcc_check_client) connection from 192.168.7.2:59774
distccd[14754] (check_address_inet) match client 0x207a8c0, value 0x207a8c0, mask 0xffffffff
distccd[14754] (dcc_r_token_int) got DIST00000001
distccd[14754] (dcc_r_token_int) got ARGC00000007
distccd[14754] (dcc_r_argv) reading 7 arguments from job submission
distccd[14754] (dcc_r_token_int) got ARGV0000000d
distccd[14754] (dcc_r_token_string) got 'clang-3.9-arm'
distccd[14754] (dcc_r_argv) argv[0] = "clang-3.9-arm"
distccd[14754] (dcc_r_token_int) got ARGV00000002
distccd[14754] (dcc_r_token_string) got '-c'
distccd[14754] (dcc_r_argv) argv[1] = "-c"
distccd[14754] (dcc_r_token_int) got ARGV00000002
distccd[14754] (dcc_r_token_string) got '-v'
distccd[14754] (dcc_r_argv) argv[2] = "-v"
distccd[14754] (dcc_r_token_int) got ARGV00000029
distccd[14754] (dcc_r_token_string) got '/root/Bela/resources/network/udp-client.c'
distccd[14754] (dcc_r_argv) argv[3] = "/root/Bela/resources/network/udp-client.c"
distccd[14754] (dcc_r_token_int) got ARGV0000000e
distccd[14754] (dcc_r_token_string) got '-march=armv7-a'
distccd[14754] (dcc_r_argv) argv[4] = "-march=armv7-a"
distccd[14754] (dcc_r_token_int) got ARGV00000002
distccd[14754] (dcc_r_token_string) got '-o'
distccd[14754] (dcc_r_argv) argv[5] = "-o"
distccd[14754] (dcc_r_token_int) got ARGV0000000c
distccd[14754] (dcc_r_token_string) got 'udp-client.o'
distccd[14754] (dcc_r_argv) argv[6] = "udp-client.o"
distccd[14754] (dcc_r_argv) got arguments: clang-3.9-arm -c -v /root/Bela/resources/network/udp-client.c -march=armv7-a -o udp-client.o
distccd[14754] (dcc_scan_args) scanning arguments: clang-3.9-arm -c -v /root/Bela/resources/network/udp-client.c -march=armv7-a -o udp-client.o
distccd[14754] (dcc_scan_args) found input file "/root/Bela/resources/network/udp-client.c"
distccd[14754] (dcc_scan_args) found object/output file "udp-client.o"
distccd[14754] compile from udp-client.c to udp-client.o
distccd[14754] (dcc_run_job) output file udp-client.o
distccd[14754] (dcc_input_tmpnam) input file /root/Bela/resources/network/udp-client.c
distccd[14754] (dcc_r_token_int) got DOTI00016eeb
distccd[14754] (dcc_r_file) received 93931 bytes to file /tmp/distccd_ff4c663b.i
distccd[14754] (dcc_r_file_timed) 93931 bytes received in 0.011458s, rate 8006kB/s
distccd[14754] (dcc_set_input) changed input from "/root/Bela/resources/network/udp-client.c" to "/tmp/distccd_ff4c663b.i"
distccd[14754] (dcc_set_input) command after: clang-3.9-arm -c -v /tmp/distccd_ff4c663b.i -march=armv7-a -o udp-client.o
distccd[14754] (dcc_set_output) changed output from "udp-client.o" to "/tmp/distccd_fcec663b.o"
distccd[14754] (dcc_set_output) command after: clang-3.9-arm -c -v /tmp/distccd_ff4c663b.i -march=armv7-a -o /tmp/distccd_fcec663b.o
distccd[14754] (dcc_check_compiler_masq) /usr/local/bin/clang-3.9-arm is not a symlink
distccd[14754] (dcc_spawn_child) forking to execute: clang-3.9-arm -c -v /tmp/distccd_ff4c663b.i -march=armv7-a -o /tmp/distccd_fcec663b.o
distccd[14754] (dcc_spawn_child) child started as pid32551
distccd[32551] (dcc_new_pgrp) entered process group
distccd[32551] (dcc_increment_safeguard) setting safeguard: _DISTCC_SAFEGUARD=1
distccd[14754] (dcc_collect_child) cc child 32551 terminated with status 0
distccd[14754] (dcc_collect_child) cc times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt
distccd[14754] (dcc_x_token_int) send DONE00000001
distccd[14754] (dcc_x_token_int) send STAT00000000
distccd[14754] (dcc_x_file) send 1002 byte file /tmp/distcc_f203663b.stderr with token SERR and compression 69
distccd[14754] (dcc_x_token_int) send SERR000003ea
distccd[14754] (dcc_x_file) send 0 byte file /tmp/distcc_f22c663b.stdout with token SOUT and compression 69
distccd[14754] (dcc_x_token_int) send SOUT00000000
distccd[14754] (dcc_x_file) send 2192 byte file /tmp/distccd_fcec663b.o with token DOTO and compression 69
distccd[14754] (dcc_x_token_int) send DOTO00000890
distccd[14754] clang-3.9-arm /root/Bela/resources/network/udp-client.c on localhost completed ok
distccd[14754] job complete
distccd[14754] (dcc_cleanup_tempfiles_inner) deleted 5 temporary files
distccd[14754] (dcc_job_summary) client: 192.168.7.2:59774 COMPILE_OK exit:0 sig:0 core:0 ret:0 time:320ms clang-3.9-arm /root/Bela/resources/network/udp-client.c
- Edited
Now trying "faust2bela" from the Ubuntu machine. /usr/Bela/Makefile still references distcc.
gary@audio-workstation:~/faust/examples/bela$ faust2bela -tobela -gui FXChaine2.dsp
Send to bela
/home/gary/faust/examples/bela/FXChaine2
Start communication with bela
/home/gary/faust/examples/bela/FXChaine2
FXChaine2
Checking the board is up and running at root@192.168.7.2...done
Stop running process...
Run bela now
uploadBuildRun START
Copying new source files to BeagleBone...Using rsync...
Automatically detected PROJECT_TYPE: cpp
Running on __stretch__ with Xenomai __3__
systemctl stop bela_startup || true
PID=`grep bela-audio /proc/xenomai/sched/stat | cut -d " " -f 5 | sed s/\s//g`; if [ -z $PID ]; then [ true = true ] || echo "No process to kill"; else [ true = true ] || echo "Killing old Bela process $PID"; kill -2 $PID; sleep 0.2; kill -9 $PID 2> /dev/null; fi; screen -X -S Bela quit > /dev/null; exit 0;
killall scsynth 2>/dev/null& killall sclang 2>/dev/null& true
echo 'Building render.cpp...'
Building render.cpp...
distcc-clang++ -I/root/Bela/projects/FXChaine2 -I./include -I./build/pru/ -I/usr/xenomai/include/cobalt -I/usr/xenomai/include -march=armv7-a -mfpu=vfp3 -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__COBALT__ -D__COBALT_WRAP__ -DXENOMAI_SKIN_posix -DXENOMAI_MAJOR=3 -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -DNDEBUG -DBELA_USE_RTDM -I/root/Bela/resources/stretch/include -std=c++11 -Wno-varargs -DNDEBUG -Wall -c -fmessage-length=0 -U_FORTIFY_SOURCE -MMD -MP -MF"/root/Bela/projects/FXChaine2/build/render.d" -o "/root/Bela/projects/FXChaine2/build/render.o" "/root/Bela/projects/FXChaine2/render.cpp"
distcc[5035] ERROR: compile /root/Bela/projects/FXChaine2/render.cpp on 192.168.7.1 failed
distcc[5035] (dcc_build_somewhere) Warning: remote compilation of '/root/Bela/projects/FXChaine2/render.cpp' failed, retrying locally
distcc[5035] (dcc_build_somewhere) Warning: failed to distribute and fallbacks are disabled
/usr/bin/ld: unrecognised emulation mode: armelf_linux_eabi
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om i386pep i386pe
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Makefile:434: recipe for target '/root/Bela/projects/FXChaine2/build/render.o' failed
make: *** [/root/Bela/projects/FXChaine2/build/render.o] Error 1
Connection to 192.168.7.2 closed.
gary@audio-workstation:~/faust/examples/bela$
This still seems to be the failure:
/usr/bin/ld: unrecognised emulation mode: armelf_linux_eabi
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om i386pep i386pe
This link takes us to some hints on that error message, which seem to culminate in "install the toolchain". The question is in the context of Android NDK though so I don't know if it applies here.
Here's the distcc log from this step:
distccd[14755] (dcc_check_client) connection from 192.168.7.2:59776
distccd[14755] (check_address_inet) match client 0x207a8c0, value 0x207a8c0, mask 0xffffffff
distccd[14755] (dcc_r_token_int) got DIST00000001
distccd[14755] (dcc_r_token_int) got ARGC00000013
distccd[14755] (dcc_r_argv) reading 19 arguments from job submission
distccd[14755] (dcc_r_token_int) got ARGV0000000f
distccd[14755] (dcc_r_token_string) got 'clang++-3.9-arm'
distccd[14755] (dcc_r_argv) argv[0] = "clang++-3.9-arm"
distccd[14755] (dcc_r_token_int) got ARGV0000000e
distccd[14755] (dcc_r_token_string) got '-march=armv7-a'
distccd[14755] (dcc_r_argv) argv[1] = "-march=armv7-a"
distccd[14755] (dcc_r_token_int) got ARGV0000000a
distccd[14755] (dcc_r_token_string) got '-mfpu=vfp3'
distccd[14755] (dcc_r_argv) argv[2] = "-mfpu=vfp3"
distccd[14755] (dcc_r_token_int) got ARGV0000001c
distccd[14755] (dcc_r_token_string) got '-fasynchronous-unwind-tables'
distccd[14755] (dcc_r_argv) argv[3] = "-fasynchronous-unwind-tables"
distccd[14755] (dcc_r_token_int) got ARGV00000003
distccd[14755] (dcc_r_token_string) got '-O3'
distccd[14755] (dcc_r_argv) argv[4] = "-O3"
distccd[14755] (dcc_r_token_int) got ARGV0000000e
distccd[14755] (dcc_r_token_string) got '-march=armv7-a'
distccd[14755] (dcc_r_argv) argv[5] = "-march=armv7-a"
distccd[14755] (dcc_r_token_int) got ARGV00000010
distccd[14755] (dcc_r_token_string) got '-mtune=cortex-a8'
distccd[14755] (dcc_r_argv) argv[6] = "-mtune=cortex-a8"
distccd[14755] (dcc_r_token_int) got ARGV00000010
distccd[14755] (dcc_r_token_string) got '-mfloat-abi=hard'
distccd[14755] (dcc_r_argv) argv[7] = "-mfloat-abi=hard"
distccd[14755] (dcc_r_token_int) got ARGV0000000a
distccd[14755] (dcc_r_token_string) got '-mfpu=neon'
distccd[14755] (dcc_r_argv) argv[8] = "-mfpu=neon"
distccd[14755] (dcc_r_token_int) got ARGV00000010
distccd[14755] (dcc_r_token_string) got '-ftree-vectorize'
distccd[14755] (dcc_r_argv) argv[9] = "-ftree-vectorize"
distccd[14755] (dcc_r_token_int) got ARGV0000000b
distccd[14755] (dcc_r_token_string) got '-ffast-math'
distccd[14755] (dcc_r_argv) argv[10] = "-ffast-math"
distccd[14755] (dcc_r_token_int) got ARGV0000000a
distccd[14755] (dcc_r_token_string) got '-std=c++11'
distccd[14755] (dcc_r_argv) argv[11] = "-std=c++11"
distccd[14755] (dcc_r_token_int) got ARGV0000000c
distccd[14755] (dcc_r_token_string) got '-Wno-varargs'
distccd[14755] (dcc_r_argv) argv[12] = "-Wno-varargs"
distccd[14755] (dcc_r_token_int) got ARGV00000005
distccd[14755] (dcc_r_token_string) got '-Wall'
distccd[14755] (dcc_r_argv) argv[13] = "-Wall"
distccd[14755] (dcc_r_token_int) got ARGV00000002
distccd[14755] (dcc_r_token_string) got '-c'
distccd[14755] (dcc_r_argv) argv[14] = "-c"
distccd[14755] (dcc_r_token_int) got ARGV00000012
distccd[14755] (dcc_r_token_string) got '-fmessage-length=0'
distccd[14755] (dcc_r_argv) argv[15] = "-fmessage-length=0"
distccd[14755] (dcc_r_token_int) got ARGV00000002
distccd[14755] (dcc_r_token_string) got '-o'
distccd[14755] (dcc_r_argv) argv[16] = "-o"
distccd[14755] (dcc_r_token_int) got ARGV0000002c
distccd[14755] (dcc_r_token_string) got '/root/Bela/projects/FXChaine2/build/render.o'
distccd[14755] (dcc_r_argv) argv[17] = "/root/Bela/projects/FXChaine2/build/render.o"
distccd[14755] (dcc_r_token_int) got ARGV00000028
distccd[14755] (dcc_r_token_string) got '/root/Bela/projects/FXChaine2/render.cpp'
distccd[14755] (dcc_r_argv) argv[18] = "/root/Bela/projects/FXChaine2/render.cpp"
distccd[14755] (dcc_r_argv) got arguments: clang++-3.9-arm -march=armv7-a -mfpu=vfp3 -fasynchronous-unwind-tables -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -std=c++11 -Wno-varargs -Wall -c -fmessage-length=0 -o /root/Bela/projects/FXChaine2/build/render.o /root/Bela/projects/FXChaine2/render.cpp
distccd[14755] (dcc_scan_args) scanning arguments: clang++-3.9-arm -march=armv7-a -mfpu=vfp3 -fasynchronous-unwind-tables -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -std=c++11 -Wno-varargs -Wall -c -fmessage-length=0 -o /root/Bela/projects/FXChaine2/build/render.o /root/Bela/projects/FXChaine2/render.cpp
distccd[14755] (dcc_scan_args) found object/output file "/root/Bela/projects/FXChaine2/build/render.o"
distccd[14755] (dcc_scan_args) found input file "/root/Bela/projects/FXChaine2/render.cpp"
distccd[14755] compile from render.cpp to render.o
distccd[14755] (dcc_run_job) output file /root/Bela/projects/FXChaine2/build/render.o
distccd[14755] (dcc_input_tmpnam) input file /root/Bela/projects/FXChaine2/render.cpp
distccd[14755] (dcc_r_token_int) got DOTI0019610a
distccd[14755] (dcc_r_file) received 1663242 bytes to file /tmp/distccd_261c6794.ii
distccd[14755] (dcc_r_file_timed) 1663242 bytes received in 0.150477s, rate 10794kB/s
distccd[14755] (dcc_set_input) changed input from "/root/Bela/projects/FXChaine2/render.cpp" to "/tmp/distccd_261c6794.ii"
distccd[14755] (dcc_set_input) command after: clang++-3.9-arm -march=armv7-a -mfpu=vfp3 -fasynchronous-unwind-tables -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -std=c++11 -Wno-varargs -Wall -c -fmessage-length=0 -o /root/Bela/projects/FXChaine2/build/render.o /tmp/distccd_261c6794.ii
distccd[14755] (dcc_set_output) changed output from "/root/Bela/projects/FXChaine2/build/render.o" to "/tmp/distccd_27a96794.o"
distccd[14755] (dcc_set_output) command after: clang++-3.9-arm -march=armv7-a -mfpu=vfp3 -fasynchronous-unwind-tables -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -std=c++11 -Wno-varargs -Wall -c -fmessage-length=0 -o /tmp/distccd_27a96794.o /tmp/distccd_261c6794.ii
distccd[14755] (dcc_check_compiler_masq) /usr/local/bin/clang++-3.9-arm is not a symlink
distccd[14755] (dcc_spawn_child) forking to execute: clang++-3.9-arm -march=armv7-a -mfpu=vfp3 -fasynchronous-unwind-tables -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -std=c++11 -Wno-varargs -Wall -c -fmessage-length=0 -o /tmp/distccd_27a96794.o /tmp/distccd_261c6794.ii
distccd[14755] (dcc_spawn_child) child started as pid32659
distccd[32659] (dcc_new_pgrp) entered process group
distccd[32659] (dcc_increment_safeguard) setting safeguard: _DISTCC_SAFEGUARD=1
distccd[14755] (dcc_collect_child) cc child 32659 terminated with status 0x100
distccd[14755] (dcc_collect_child) cc times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt
distccd[14755] (dcc_x_token_int) send DONE00000001
distccd[14755] (dcc_x_token_int) send STAT00000100
distccd[14755] (dcc_x_file) send 248 byte file /tmp/distcc_58bf6794.stderr with token SERR and compression 69
distccd[14755] (dcc_x_token_int) send SERR000000f8
distccd[14755] (dcc_x_file) send 0 byte file /tmp/distcc_5b7e6794.stdout with token SOUT and compression 69
distccd[14755] (dcc_x_token_int) send SOUT00000000
distccd[14755] (dcc_x_token_int) send DOTO00000000
distccd[14755] clang++-3.9-arm /root/Bela/projects/FXChaine2/render.cpp on localhost failed
distccd[14755] job complete
distccd[14755] (dcc_cleanup_tempfiles_inner) deleted 5 temporary files
distccd[14755] (dcc_job_summary) client: 192.168.7.2:59776 COMPILE_ERROR exit:1 sig:0 core:0 ret:0 time:1109ms clang++-3.9-arm /root/Bela/projects/FXChaine2/render.cpp
This is very confusing to me. The error message you get seems to be about the linker, ld
, and it seems to come from the host, because of the list of supported emulations. The weird thing about this is that distcc
should never attempt to run the linker on the host (only the compiler), and also that the line that fails really has nothing to do with the linker.
So this is the line that is run on the host and fails:
Digital-Larry distccd[14755] (dcc_spawn_child) forking to execute: clang++-3.9-arm -march=armv7-a -mfpu=vfp3 -fasynchronous-unwind-tables -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -std=c++11 -Wno-varargs -Wall -c -fmessage-length=0 -o /tmp/distccd_27a96794.o /tmp/distccd_261c6794.ii
As you see, it tries to compile the pre-processed file /tmp/distccd_261c6794.ii
into the object file /tmp/distccd_27a96794.o
. The pre-processed file is generated by distcc
on the client (Bela), where it runs cpp
(the C-preprocessor) on the file to bring in all the includes and apply all the defines and resolve the macros, generating a stand-alone C++ file that has no dependency on any external files.
Let's troubleshoot this with incremental steps. Create a simple C++ file with no includes on the host:
- Create a simple C++ file with no includes on the HOST: create a file called
test.ii
:
and then run the same command as above (except for the file paths at the end) :int func() { return 0; }
if this is successful, make sure the generated fileclang++-3.9-arm -march=armv7-a -mfpu=vfp3 -fasynchronous-unwind-tables -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -std=c++11 -Wno-varargs -Wall -c -fmessage-length=0 -o ./test.o ./test.ii
test.o
is indeed an ARM binary:$ file test.o test.o: ELF 32-bit LSB relocatable, ARM, version 1 (SYSV), not stripped
- if the above worked fine, then copy the
test.ii
file to the board and run ON THE BOARD:
and if this is successful, check that the generated file is indeed an ARM binary:distcc-clang++ -march=armv7-a -mfpu=vfp3 -fasynchronous-unwind-tables -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -std=c++11 -Wno-varargs -Wall -c -fmessage-length=0 -o ./test.o ./test.ii
$ file test.o test.o: ELF 32-bit LSB relocatable, ARM, version 1 (SYSV), not stripped
- if this is still good, then rename
test.ii
totest.cpp
and run the same line again, this time withtest.cpp
at the end:distcc-clang++ -march=armv7-a -mfpu=vfp3 -fasynchronous-unwind-tables -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -std=c++11 -Wno-varargs -Wall -c -fmessage-length=0 -o ./test.o ./test.cpp
- if this is still good, still on the board, do
cd /root/Bela/
and there try to re-run the full line that was failing while building your project:
does this successfully generated the filedistcc-clang++ -I/root/Bela/projects/FXChaine2 -I./include -I./build/pru/ -I/usr/xenomai/include/cobalt -I/usr/xenomai/include -march=armv7-a -mfpu=vfp3 -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__COBALT__ -D__COBALT_WRAP__ -DXENOMAI_SKIN_posix -DXENOMAI_MAJOR=3 -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -DNDEBUG -DBELA_USE_RTDM -I/root/Bela/resources/stretch/include -std=c++11 -Wno-varargs -DNDEBUG -Wall -c -fmessage-length=0 -U_FORTIFY_SOURCE -MMD -MP -MF"/root/Bela/projects/FXChaine2/build/render.d" -o "/root/Bela/projects/FXChaine2/build/render.o" "/root/Bela/projects/FXChaine2/render.cpp"
/root/Bela/projects/FXChaine2/build/render.o
? And is it an ARM binary?
- Edited
giuliomoro first step fails.
gary@audio-workstation:~/test$ clang++-3.9-arm -march=armv7-a -mfpu=vfp3 -fasynchronous-unwind-tables -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -std=c++11 -Wno-varargs -Wall -c -fmessage-length=0 -o ./test.o ./test.ii
/usr/bin/ld: unrecognised emulation mode: armelf_linux_eabi
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om i386pep i386pe
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gary@audio-workstation:~/test$ cat test.ii
int func()
{
return 0;
}
gary@audio-workstation:~/test$
gary@audio-workstation:~/test$ which clang++-3.9-arm
/usr/local/bin/clang++-3.9-arm
gary@audio-workstation:~/test$ cat /usr/local/bin/clang++-3.9-arm
#!/bin/bash
/usr/bin/clang++-3.9 -target armv7l-unknown-linux-gnueabihf --sysroot ~/arm $0
gary@audio-workstation:~/test$ clang++-3.9-arm
/usr/bin/ld: unrecognised emulation mode: armelf_linux_eabi
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om i386pep i386pe
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gary@audio-workstation:~/test$
Calling that compiler throws the error with no parameters given at all! [edit - it's calling the script which does add parameters] So maybe that is broken somehow. I used apt to install it.
gary@audio-workstation:~/test$ sudo apt list | grep ^clang-3.9
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
clang-3.9/bionic,now 1:3.9.1-19ubuntu1 amd64 [installed]
clang-3.9-doc/bionic,bionic 1:3.9.1-19ubuntu1 all
clang-3.9-examples/bionic 1:3.9.1-19ubuntu1 amd64
gary@audio-workstation:~/test$
gary@audio-workstation:~/test$ sudo dpkg -s clang-3.9
Package: clang-3.9
Status: install ok installed
Priority: optional
Section: devel
Installed-Size: 140661
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Source: llvm-toolchain-3.9
Version: 1:3.9.1-19ubuntu1
Replaces: clang-3.1, clang-3.2, clang-3.3, clang-3.4 (<< 1:3.4.2-7~exp1), clang-3.5 (<< 1:3.5~+rc1-3~exp1), clang-include-fixer-3.9, compiler-rt
Provides: c++-compiler, c-compiler, objc-compiler
Depends: libc6 (>= 2.14), libclang1-3.9 (= 1:3.9.1-19ubuntu1), libgcc1 (>= 1:3.4), libjsoncpp1 (>= 1.7.4), libllvm3.9 (>= 1:3.9.1-6~), libstdc++6 (>= 5.2), libstdc++-7-dev, libgcc-7-dev, libobjc-7-dev, libclang-common-3.9-dev (= 1:3.9.1-19ubuntu1), libc6-dev, binutils
Recommends: llvm-3.9-dev, python
Suggests: gnustep, gnustep-devel, clang-3.9-doc
Breaks: clang-3.1, clang-3.2, clang-3.3, clang-3.4 (<< 1:3.4.2-7~exp1), clang-3.5 (<< 1:3.5~+rc1-3~exp1), clang-include-fixer-3.9, compiler-rt
Description: C, C++ and Objective-C compiler (LLVM based)
Clang project is a C, C++, Objective C and Objective C++ front-end
for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler
Collection (GCC).
.
Clang fully implements all published ISO C++ standards including C++11, as
well as the upcoming C++14 standard, and some parts of the fledgling C++1z
standard, and is considered a production-quality C++ compiler.
Original-Maintainer: LLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Homepage: http://www.llvm.org/
gary@audio-workstation:~/test$
Some other random tests to see what exactly we are calling and the simplest command to generate the error.
gary@audio-workstation:~/test$ which clang++-3.9-arm
/usr/local/bin/clang++-3.9-arm
gary@audio-workstation:~/test$ cat /usr/local/bin/clang++-3.9-arm
#!/bin/bash
/usr/bin/clang++-3.9 -target armv7l-unknown-linux-gnueabihf --sysroot ~/arm $0
gary@audio-workstation:~/test$ /usr/bin/clang++-3.9
clang: error: no input files
gary@audio-workstation:~/test$ /usr/bin/clang++-3.9 -target armv7l-unknown-linux-gnueabihf
clang: error: no input files
gary@audio-workstation:~/test$ /usr/bin/clang++-3.9 -target armv7l-unknown-linux-gnueabihf ./test.ii
/usr/bin/ld: unrecognised emulation mode: armelf_linux_eabi
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om i386pep i386pe
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gary@audio-workstation:~/test$ /usr/bin/clang++-6.0 -target armv7l-unknown-linux-gnueabihf ./test.ii
/usr/bin/ld: unrecognised emulation mode: armelf_linux_eabi
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om i386pep i386pe
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gary@audio-workstation:~/test$ /usr/bin/clang++ -target armv7l-unknown-linux-gnueabihf ./test.ii
/usr/bin/ld: unrecognised emulation mode: armelf_linux_eabi
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om i386pep i386pe
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gary@audio-workstation:~/test$
- Edited
right, what about ls -l /usr/bin/clang++-3.9
? is it a symlink to something?
Further to this, you could try running
clang++-3.9-arm -march=armv7-a -mfpu=vfp3 -fasynchronous-unwind-tables -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math -std=c++11 -Wno-varargs -Wall -c -fmessage-length=0 -o ./test.o ./test.ii
and remove one option at a time until it succeeds (or better: start with just clang++-3.9-arm -march=armv7-a ./test.o ./test.ii
, is it successful? Then add more and more options until it fails .
I am wondering whether maybe your clang-3.9
does not support hard-float, in which case the failing option should be -mfloat-abi=hard
. Can you dpkg -l | grep clang
and perhaps then dpkg --info <names of the 3.9 packages from the previous result>
?
I used the -### command with just clang++ (the 6.0 version installed by default, but the error is the same so far regardless of the compiler version used, 3.9 or 6.0):
gary@audio-workstation:~/test$ /usr/bin/clang++ -### -target armv7l-unknown-linux-gnueabihf ./test.ii
clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
Target: armv7l-unknown-linux-gnueabihf
Thread model: posix
InstalledDir: /usr/bin
"/usr/lib/llvm-6.0/bin/clang" "-cc1" "-triple" "armv7-unknown-linux-gnueabihf" "-emit-obj" "-mrelax-all" "-disable-free" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "test.ii" "-mrelocation-model" "static" "-mthread-model" "posix" "-mdisable-fp-elim" "-fmath-errno" "-masm-verbose" "-mconstructor-aliases" "-fuse-init-array" "-target-cpu" "generic" "-target-abi" "aapcs-linux" "-mfloat-abi" "hard" "-fallow-half-arguments-and-returns" "-dwarf-column-info" "-debugger-tuning=gdb" "-resource-dir" "/usr/lib/llvm-6.0/lib/clang/6.0.0" "-fdeprecated-macro" "-fdebug-compilation-dir" "/home/gary/test" "-ferror-limit" "19" "-fmessage-length" "80" "-fno-signed-char" "-fobjc-runtime=gcc" "-fcxx-exceptions" "-fexceptions" "-fdiagnostics-show-option" "-fcolor-diagnostics" "-o" "/tmp/test-dc97e4.o" "-x" "c++-cpp-output" "./test.ii"
"/usr/bin/ld" "-z" "relro" "-X" "--hash-style=gnu" "--eh-frame-hdr" "-m" "armelf_linux_eabi" "-dynamic-linker" "/lib/ld-linux-armhf.so.3" "-o" "a.out" "crt1.o" "crti.o" "crtbegin.o" "-L/usr/lib/llvm-6.0/bin/../lib" "-L/lib/../lib" "-L/usr/lib/../lib" "-L/usr/lib/llvm-6.0/bin/../lib" "-L/lib" "-L/usr/lib" "/tmp/test-dc97e4.o" "-lstdc++" "-lm" "-lgcc_s" "-lgcc" "-lc" "-lgcc_s" "-lgcc" "crtend.o" "crtn.o"
gary@audio-workstation:~/test$
giuliomoro yes there is a symlink there that appears to be from the installation (I didn't do it).
gary@audio-workstation:~/test$ ls -l /usr/bin/clang++-3.9
lrwxrwxrwx 1 root root 27 Dec 26 2017 /usr/bin/clang++-3.9 -> ../lib/llvm-3.9/bin/clang++
gary@audio-workstation:~/test$
- Edited
gary@audio-workstation:~/test$ clang++-3.9-arm -march=armv7-a ./test.o ./test.ii
/usr/bin/ld: unrecognised emulation mode: armelf_linux_eabi
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om i386pep i386pe
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gary@audio-workstation:~/test$
gary@audio-workstation:~/test$ dpkg -l | grep clang
ii clang 1:6.0-41~exp5~ubuntu1 amd64 C, C++ and Objective-C compiler (LLVM based)
ii clang-3.9 1:3.9.1-19ubuntu1 amd64 C, C++ and Objective-C compiler (LLVM based)
ii clang-6.0 1:6.0-1ubuntu2 amd64 C, C++ and Objective-C compiler
ii libclang-common-3.9-dev 1:3.9.1-19ubuntu1 amd64 clang library - Common development package
ii libclang-common-6.0-dev 1:6.0-1ubuntu2 amd64 clang library - Common development package
ii libclang1-3.9:amd64 1:3.9.1-19ubuntu1 amd64 C interface to the clang library
ii libclang1-6.0:amd64 1:6.0-1ubuntu2 amd64 C interface to the clang library
gary@audio-workstation:~/test$
- Edited
dpkg --info doesn't show anything but apt show does:
gary@audio-workstation:~/test$ apt show clang-3.9
Package: clang-3.9
Version: 1:3.9.1-19ubuntu1
Priority: optional
Section: universe/devel
Source: llvm-toolchain-3.9
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: LLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 144 MB
Provides: c++-compiler, c-compiler, objc-compiler
Depends: libc6 (>= 2.14), libclang1-3.9 (= 1:3.9.1-19ubuntu1), libgcc1 (>= 1:3.4), libjsoncpp1 (>= 1.7.4), libllvm3.9 (>= 1:3.9.1-6~), libstdc++6 (>= 5.2), libstdc++-7-dev, libgcc-7-dev, libobjc-7-dev, libclang-common-3.9-dev (= 1:3.9.1-19ubuntu1), libc6-dev, binutils
Recommends: llvm-3.9-dev, python
Suggests: gnustep, gnustep-devel, clang-3.9-doc
Breaks: clang-3.1, clang-3.2, clang-3.3, clang-3.4 (<< 1:3.4.2-7~exp1), clang-3.5 (<< 1:3.5~+rc1-3~exp1), clang-include-fixer-3.9, compiler-rt
Replaces: clang-3.1, clang-3.2, clang-3.3, clang-3.4 (<< 1:3.4.2-7~exp1), clang-3.5 (<< 1:3.5~+rc1-3~exp1), clang-include-fixer-3.9, compiler-rt
Homepage: http://www.llvm.org/
Download-Size: 37.4 MB
APT-Manual-Installed: yes
APT-Sources: http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
Description: C, C++ and Objective-C compiler (LLVM based)
Clang project is a C, C++, Objective C and Objective C++ front-end
for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler
Collection (GCC).
.
Clang fully implements all published ISO C++ standards including C++11, as
well as the upcoming C++14 standard, and some parts of the fledgling C++1z
standard, and is considered a production-quality C++ compiler.
gary@audio-workstation:~/test$
gary@audio-workstation:~/test$ apt show libclang-common-3.9-dev
Package: libclang-common-3.9-dev
Version: 1:3.9.1-19ubuntu1
Priority: optional
Section: universe/libdevel
Source: llvm-toolchain-3.9
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: LLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 39.1 MB
Depends: libc6 (>= 2.15), libgcc1 (>= 1:3.4), libstdc++6 (>= 5.2), libtinfo5 (>= 6), libllvm3.9 (= 1:3.9.1-19ubuntu1)
Homepage: http://www.llvm.org/
Download-Size: 2,575 kB
APT-Manual-Installed: no
APT-Sources: http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
Description: clang library - Common development package
Clang project is a C, C++, Objective C and Objective C++ front-end
for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler
Collection (GCC).
.
Clang fully implements all published ISO C++ standards including C++11, as
well as the upcoming C++14 standard, and some parts of the fledgling C++1z
standard, and is considered a production-quality C++ compiler.
.
This package contains the clang generic headers and some libraries
(profiling, etc).
gary@audio-workstation:~/test$
gary@audio-workstation:~/test$ apt show libclang1-3.9
Package: libclang1-3.9
Version: 1:3.9.1-19ubuntu1
Priority: optional
Section: universe/devel
Source: llvm-toolchain-3.9
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: LLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 22.9 MB
Depends: libc6 (>= 2.14), libgcc1 (>= 1:3.4), libllvm3.9 (>= 1:3.9.1-6~), libstdc++6 (>= 5.2)
Homepage: http://www.llvm.org/
Download-Size: 5,950 kB
APT-Manual-Installed: no
APT-Sources: http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
Description: C interface to the clang library
Clang project is a C, C++, Objective C and Objective C++ front-end
for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler
Collection (GCC).
.
Clang fully implements all published ISO C++ standards including C++11, as
well as the upcoming C++14 standard, and some parts of the fledgling C++1z
standard, and is considered a production-quality C++ compiler.
.
This package contains the clang library.
.
The C Interface to Clang provides a relatively small API that exposes
facilities for parsing source code into an abstract syntax tree (AST),
loading already-parsed ASTs, traversing the AST, associating physical source
locations with elements within the AST, and other facilities that support
Clang-based development tools.
gary@audio-workstation:~/test$
Digital-Larry gary@audio-workstation:~/test$ /usr/bin/clang++-3.9 -target armv7l-unknown-linux-gnueabihf ./test.ii
you nee -c
otherwise it will attempt to use the linker.
giuliomoro
or better: start with justclang++-3.9-arm -march=armv7-a ./test.o ./test.ii
, is it successful?
I forgot -c
, too, and also -o
.
so try:
clang++-3.9-arm -march=armv7-a -c -o ./test.o ./test.ii
if that succeeds, add one option at a time until it fails ..
gary@audio-workstation:~/test$ clang++-3.9-arm -march=armv7-a -c -o ./test.o ./test.ii
/usr/bin/ld: unrecognised emulation mode: armelf_linux_eabi
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om i386pep i386pe
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gary@audio-workstation:~/test$
and with -###
?