dub support for Mac M1?

tastyminerals tastyminerals at gmail.com
Thu Mar 4 22:30:17 UTC 2021


I got a company MacBook with M1 chip and gradually migrate all 
the stuff from Linux machine. I got precompiled ldc binary 
installed without any problem now is the time for dub since I 
have couple of D projects I use at work and all of them use dub.

I can only see the dub-v1.23.0-osx-x86_64.tar.gz package so it 
should at least run via Rosetta. I also tried compiling it via 
MacPorts but looks like dub pulls dmd as a dependency and dmd 
fails to build currently. For example:

"""
$ sudo port install dub
Warning: The macOS 11.2 SDK does not appear to be installed. 
Ports may not build correctly.
Warning: You can install it as part of the Xcode Command Line 
Tools package by running `xcode-select --install'.
--->  Computing dependencies for dub
The following dependencies will be installed:
  dmd
  dmd-tools
  druntime
  phobos
Continue? [Y/n]: y
Warning: The macOS 11.2 SDK does not appear to be installed. 
Ports may not build correctly.
Warning: You can install it as part of the Xcode Command Line 
Tools package by running `xcode-select --install'.
--->  Fetching archive for dmd
--->  Attempting to fetch dmd-2.088.0_0.darwin_20.arm64.tbz2 from 
https://lil.fr.packages.macports.org/dmd
--->  Attempting to fetch dmd-2.088.0_0.darwin_20.arm64.tbz2 from 
https://mse.uk.packages.macports.org/dmd
--->  Attempting to fetch dmd-2.088.0_0.darwin_20.arm64.tbz2 from 
https://packages.macports.org/dmd
--->  Building dmd
Error: Failed to build dmd: command execution failed
Error: See 
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_dmd/dmd/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to 
report a bug.
Error: Processing of port dub failed
"""

We look into the logs and see
"""
:info:build      (maybe you meant: dt_writeToObj(Obj*, dt_t*, 
int, unsigned long long&), file_write(char*, void*, unsigned int) 
, Obj_write_pointerRef(Symbol*, unsigned int) , 
Obj_write_bytes(seg_data*, unsigned int, void*) , 
__D3dmd4glue18obj_write_deferredRCQBf3lib7LibraryZ5counti , 
Obj_write_zeros(seg_data*, unsigned long long) , 
obj_write_deferred(Library*) , Obj_write_byte(seg_data*, unsigned 
int) )
:info:build ld: symbol(s) not found for architecture i386
:info:build clang: error: linker command failed with exit code 1 
(use -v to see invocation)
:info:build Error: linker exited with status 1
:info:build make: *** [../generated/osx/release/32/dmd] Error 1
"""

Are there any plans to support M1 for dub?


More information about the Digitalmars-d-learn mailing list