Why ldc-1.20.1 is always building runtime to x86_64 even when I'm running an i686 linux?
dangbinghoo
dangbinghoo at gmail.com
Fri Apr 17 09:32:32 UTC 2020
hi there,
I have tried to building LDC 1.20.1 from src for ubuntu 14.04
i686 system. But got trouble in the building step, it seems that
it always trying to building runtime for x86_64 target, no
matter what kind of D compiler is using, I have tried with
ldc2-1.2.0-linux-x86 or the latest dmd 2.091.0-0_i386.
I also tried to using the cross-compiling style to build runtime
adding `mtrip=i686-linux-gnu`, but the final ldc2 failed to link
when building a simple empty D source file saying
```
/usr/bin/i686-linux-gnu-ld.gold: error:
/usr/lib/gcc/i686-linux-gnu/6/crtbegin.o: incompatible target
/usr/bin/i686-linux-gnu-ld.gold: error:
/usr/lib/gcc/i686-linux-gnu/6/crtend.o: incompatible target
/usr/bin/i686-linux-gnu-ld.gold: warning: skipping incompatible
/home/chiot/ldctool/ldc2-tmp/bin/../lib/libdruntime-ldc.a while
searching for druntime-ldc
/usr/bin/i686-linux-gnu-ld.gold: error: cannot find -ldruntime-ldc
/usr/bin/i686-linux-gnu-ld.gold: warning: skipping incompatible
/usr/lib/gcc/i686-linux-gnu/6/libgcc_s.so.1 while searching for
libgcc_s.so.1
/usr/bin/i686-linux-gnu-ld.gold: warning: skipping incompatible
/usr/lib/gcc/i686-linux-gnu/6/libgcc_s.so.1 while searching for
libgcc_s.so.1
/usr/lib/gcc/i686-linux-gnu/6/../../../../lib64/crt1.o(.text+0x20): error: undefined reference to 'main'
xx.o:xx.d:function ldc.register_dso: error: undefined reference
to '_d_dso_registry'
collect2: error: ld returned 1 exit status
Error: /usr/bin/cc failed with status: 1
```
so, the ldc2 now is sticking to x86_64 for PC now?
Thanks!
~~~~~
binghoo dang
More information about the digitalmars-d-ldc
mailing list