$ ldc2 -mtriple=wasm32-unknown-unknown-wasm -betterC src/d/wasm.d src/d/point.d src/d/bresenhamline.d src/d/point.d(1): Error: TypeInfo cannot be used with -betterC
Point buffer = new Point[size];in
bresenhamline.d. Is that needing runtime type info?
Hi. I'm trying to create a cross compiler for raspberry pi.
I followed the instructions I found on wiki to build runtime and phobos.
It seems to works. It create a binary but it won't run on raspberry.
./wall2: /lib/arm-linux-gnueabihf/libm.so.6: version `GLIBC_2.29' not found (required by ./wall2)
It seems that libc on my raspberry is v2.28 rather than 2.29:
libc6 | 2.28-10+rpi1 | http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
I think this is the problem. How can I solve this?
ldc -v helloworld.d. At the end, you'll see the commandline that is passed to GCC. On that commandline you will see how to pass druntime and phobos to gcc to link to a static library written in D. Make sure you initialize the druntime. See: https://firstname.lastname@example.org
Linking... LINK : warning LNK4098: defaultlib 'libcmt' conflicts with use of other libs; use /NODEFAULTLIB:library LINK : warning LNK4098: defaultlib 'libvcruntime' conflicts with use of other libs; use /NODEFAULTLIB:library LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
-mscrtlib=msvcrtflag, but it still complain
-flto=thin -defaultlib=phobos2-ldc-lto,druntime-ldc-ltoflags and getting failures to find libraries. This is when using the Arch Linux LDC distribution. It works when building with the packages provided on the GitHub releases page. I'm guessing the Arch Linux may simply not include the LTO versions of these libraries, but I'm not an Arch Linux user, so not sure.
ldc2.confissue. The user might need to add
-link-defaultlib-shared=falseif it defaults to true in the config.