Opened 2 years ago

Last modified 5 months ago

#64623 assigned defect

dmd: Does not compile on arm64

Reported by: thebitstick (TheBitStick) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: arm64 Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: dmd

Description

See build log attached.

Attachments (3)

dmd.log (319.9 KB) - added by thebitstick (TheBitStick) 2 years ago.
Build Log
dmd.patch (1.1 KB) - added by ryandesign (Ryan Carsten Schmidt) 2 years ago.
dlang.diff (5.5 KB) - added by ryandesign (Ryan Carsten Schmidt) 2 years ago.
replaces dmd.diff

Download all attachments as: .zip

Change History (7)

Changed 2 years ago by thebitstick (TheBitStick)

Attachment: dmd.log added

Build Log

comment:1 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: arm64 added
Owner: set to tenomoto
Status: newassigned
Summary: Does not compile on arm64dmd: Does not compile on arm64

The log shows it's trying to compile for i386, which is way wrong.

Probably at minimum the attached patch is needed.

In addition, the port is outdated and could be updated to a newer version.

Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: dmd.patch added

Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: dlang.diff added

replaces dmd.diff

comment:2 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: MarcusCalhoun-Lopez added

Building dmd on arm64 with this patch fails immediately with:

no cpu specified, assuming X86
make: execvp: /.../libexec/dmd-bootstrap/bin/dmd: Bad CPU type in executable

I see that there are several interrelated D-lang ports, several of which need similar fixes. Here's an updated patch to make equivalent changes in all of them.

I also see that the dmd-bootstrap port only supports x86_64. Possibly that might impede the use of the other ports on non-x86_64 architectures.

comment:3 Changed 14 months ago by ryandesign (Ryan Carsten Schmidt)

Owner: tenomoto deleted

comment:4 Changed 5 months ago by kwolcott

It would be nice to have dmd updated; no maintainer? It's a nice language.

Note: See TracTickets for help on using tickets.