Hello world in AAarch64 Debian Buster

Cecil Ward d at cecilward.com
Tue Aug 6 22:14:33 UTC 2019


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 at 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 at 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.


More information about the D.gnu mailing list