On Tuesday, 6 August 2019 at 16:35:21 UTC, Johannes Pfau wrote:
Am Tue, 06 Aug 2019 05:13:11 +0000 schrieb Cecil Ward:
I have a raspberry pi 3B+ running raspbian stretch 32-bit with
a containerised guest o/s inside it using systemd-nspawn, the
guest o/s being AAarch64 Debian Buster.
Inside AAarch64 Debian Buster, I run the following from the
shell and get an error from the gdc compiler:
root@debian-buster-64:~# gdc -O3 -frelease -S test.d cc1d:
error:
cannot find source code for runtime library file 'object.d'
cc1d: note: dmd might not be correctly installed. Run 'dmd
-man' for
installation instructions.
(null):0: confused by earlier errors, bailing out
root@debian-buster-64:~#
Any clues as to where I should head from here?
You're probably missing libgphobos-dev. However, I think on
debian buster there is no arm64 port of libgphobos-dev yet.
Testing seems to have libgphobos-9-dev with arm64 support. If
you want to use buster though, you probably have to build gcc
by yourself. Just get the gcc 9 sources and use ./configure
--enable-languages=d when configuring gcc.
Thank you very much Johannes. I have never done this before but I
thought here goes, so I started out trying to build the whole of
GCC including the D language from the sources.
I made a bit of a mess of this, because having written a bash
script to set things going, I ran it from the wrong shell, the
shell in the host o/s not the one in the guest o/s. So this
started off building the wrong architecture variant. I then
realised I don’t know how to get my few files into the guest o/s
Debian buster’s filesystem (inside its chroot++++ jail) so that’s
more fun to work out. But worse than that, the make came up with
an error, saying there are a few of dependencies that re not part
of the download GMP for example. So I’m going to have to build
all of those from the sources as well, and find out how to
download them. I could easily get into a circular dependency
thing here.
I am so far out of my depth here. Some person who has done this
before will have had binaries / object files / targets for those
dependencies. Unless the files are just in the wrong place and I
need to tell it where they are - which is one suggestion from the
error msg.
To recap: I was trying to simply get hold of gdc for aarch64- I
didn’t really want to build anything from sources. I suspect this
will create additional problems faster than it solves the
original ones.
Perhaps I should look around for gdc AArch64 Debian prebuilt
binaries or ask someone who knows what on earth they are doing to
kindly bootstrap this problem for me.