gcc no longer supported? Tried this workaround - and it worked 
    
    
    [grassy@archi3 nim]$ uname -a
    Linux archi3 4.15.9-1-ARCH #1 SMP PREEMPT Sun Mar 11 17:54:33 UTC 2018 
x86_64 GNU/Linux
    [grassy@archi3 nim]$ cat hello.nim
    echo "Hello, World!"
    [grassy@archi3 nim]$ cat hello.nim.cfg
    arm.android.gcc.path ="/home/grassy/android-toolchain/bin"
    arm.android.gcc.exe = "arm-linux-androideabi-gcc"
    arm.android.gcc.linkerexe = "arm-linux-androideabi-gcc"
    [grassy@archi3 nim]$ nim c --cc:gcc -d:release --cpu:arm --os:android 
--verbosity:2 hello
    config/nim.cfg(47, 3) Hint: added path: 
'/home/grassy/.nimble/pkgs/c2nim-0.9.13' [Path]
    config/nim.cfg(47, 3) Hint: added path: 
'/home/grassy/.nimble/pkgs/compiler-#604a15c0aaf6d3df2' [Path]
    config/nim.cfg(47, 3) Hint: added path: '/home/grassy/.nimble/pkgs/' [Path]
    config/nim.cfg(49, 5) Hint: added path: '/opt/nimble/pkgs/' [Path]
    Hint: used config file 
'/home/grassy/.choosenim/toolchains/nim-0.18.0/config/nim.cfg' [Conf]
    Hint: used config file '/home/grassy/nim/hello.nim.cfg' [Conf]
    Hint: system [Processing]
    Hint: hello [Processing]
    /home/grassy/android-toolchain/bin/arm-linux-androideabi-gcc -c -w -O3 
-fno-strict-aliasing  -I/home/grassy/.choosenim/toolchains/nim-0.18.0/lib -o 
/home/grassy/nim/nimcache/hello.o /home/grassy/nim/nimcache/hello.c
    /home/grassy/android-toolchain/bin/arm-linux-androideabi-gcc -c -w -O3 
-fno-strict-aliasing  -I/home/grassy/.choosenim/toolchains/nim-0.18.0/lib -o 
/home/grassy/nim/nimcache/stdlib_system.o 
/home/grassy/nim/nimcache/stdlib_system.c
    Hint: /home/grassy/android-toolchain/bin/arm-linux-androideabi-gcc   -o 
/home/grassy/nim/hello  /home/grassy/nim/nimcache/hello.o 
/home/grassy/nim/nimcache/stdlib_system.o    -ldl [Exec]
    /home/grassy/nim/nimcache/stdlib_system.o:stdlib_system.c:function 
echoBinSafe: error: undefined reference to 'stdout'
    /home/grassy/nim/nimcache/stdlib_system.o:stdlib_system.c:function 
echoBinSafe: error: undefined reference to 'stdout'
    /home/grassy/nim/nimcache/stdlib_system.o:stdlib_system.c:function 
showErrorMessage_rsUJ87b89bH0GlWKYL9c8wUQ: error: undefined reference to 
'stderr'
    /home/grassy/nim/nimcache/stdlib_system.o:stdlib_system.c:function 
signalHandler: error: undefined reference to 'stderr'
    /home/grassy/nim/nimcache/stdlib_system.o:stdlib_system.c:function 
writeToStdErr_7HRVfGfZT2rSmBdcLxl8TA: error: undefined reference to 'stderr'
    /home/grassy/nim/nimcache/stdlib_system.o:stdlib_system.c:function 
registerSignalHandler_njssp69aa7hvxte9bJ8uuDcg_2: error: undefined reference to 
'signal'
    /home/grassy/nim/nimcache/stdlib_system.o:stdlib_system.c:function 
registerSignalHandler_njssp69aa7hvxte9bJ8uuDcg_2: error: undefined reference to 
'signal'
    /home/grassy/nim/nimcache/stdlib_system.o:stdlib_system.c:function 
registerSignalHandler_njssp69aa7hvxte9bJ8uuDcg_2: error: undefined reference to 
'signal'
    /home/grassy/nim/nimcache/stdlib_system.o:stdlib_system.c:function 
registerSignalHandler_njssp69aa7hvxte9bJ8uuDcg_2: error: undefined reference to 
'signal'
    collect2: error: ld returned 1 exit status
    Error: execution of an external program failed: 
'/home/grassy/android-toolchain/bin/arm-linux-androideabi-gcc   -o 
/home/grassy/nim/hello  /home/grassy/nim/nimcache/hello.o 
/home/grassy/nim/nimcache/stdlib_system.o    -ldl'
    [grassy@archi3 nim]$ sed -i 's/-gcc/-clang/g' hello.nim.cfg
    [grassy@archi3 nim]$ cat hello.nim.cfg
    arm.android.gcc.path ="/home/grassy/android-toolchain/bin"
    arm.android.gcc.exe = "arm-linux-androideabi-clang"
    arm.android.gcc.linkerexe = "arm-linux-androideabi-clang"
    [grassy@archi3 nim]$ nim c --cc:gcc -d:release --cpu:arm --os:android 
--verbosity:2 hello
    config/nim.cfg(47, 3) Hint: added path: 
'/home/grassy/.nimble/pkgs/c2nim-0.9.13' [Path]
    config/nim.cfg(47, 3) Hint: added path: 
'/home/grassy/.nimble/pkgs/compiler-#604a15c0aaf6d3df2' [Path]
    config/nim.cfg(47, 3) Hint: added path: '/home/grassy/.nimble/pkgs/' [Path]
    config/nim.cfg(49, 5) Hint: added path: '/opt/nimble/pkgs/' [Path]
    Hint: used config file 
'/home/grassy/.choosenim/toolchains/nim-0.18.0/config/nim.cfg' [Conf]
    Hint: used config file 'hello.nim.cfg' [Conf]
    Hint: system [Processing]
    Hint: hello [Processing]
    /home/grassy/android-toolchain/bin/arm-linux-androideabi-clang -c -w -O3 
-fno-strict-aliasing  -I/home/grassy/.choosenim/toolchains/nim-0.18.0/lib -o 
/home/grassy/nim/nimcache/hello.o /home/grassy/nim/nimcache/hello.c
    /home/grassy/android-toolchain/bin/arm-linux-androideabi-clang -c -w -O3 
-fno-strict-aliasing  -I/home/grassy/.choosenim/toolchains/nim-0.18.0/lib -o 
/home/grassy/nim/nimcache/stdlib_system.o 
/home/grassy/nim/nimcache/stdlib_system.c
    Hint: /home/grassy/android-toolchain/bin/arm-linux-androideabi-clang   -o 
hello  /home/grassy/nim/nimcache/hello.o 
/home/grassy/nim/nimcache/stdlib_system.o    -ldl [Exec]
    Hint: operation successful (11721 lines compiled; 0.597 sec total; 
18.289MiB peakmem; Release Build) [SuccessX]
    [GC] total memory: 19177472
    [GC] occupied memory: 12637760
    [GC] stack scans: 550
    [GC] stack cells: 1984
    [GC] cycle collections: 0
    [GC] max threshold: 0
    [GC] zct capacity: 1024
    [GC] max cycle table size: 0
    [GC] max pause time [ms]: 0
    [GC] max stack size: 64576
    [grassy@archi3 nim]$ file hello
    hello: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically 
linked, interpreter /system/bin/linker, with debug_info, not stripped

Reply via email to