[Issue 24389] importC: Building zlib in Phobos with importC fails on FreeBSD 14

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri Feb 23 22:48:17 UTC 2024


https://issues.dlang.org/show_bug.cgi?id=24389

Dlang Bot <dlang-bot at dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #16 from Dlang Bot <dlang-bot at dlang.rocks> ---
dlang/phobos pull request #8918 "Fix bugzilla issue 24389 - Make Phobos compile
on FreeBSD 14 again." was merged into master:

- e7779f64d119ad71f6fad3a4578d6fc9dd7dbf0a by Jonathan M Davis:
  Fix bugzilla issue 24389 - Make Phobos compile on FreeBSD 14 again.

  zlib can't be built with importC on FreeBSD 14, because qsort_r in
  stdlib.h uses some asm instructions, which dmd can't handle.

  https://github.com/dlang/dmd/pull/16184 fixed it so that we got a
  proper error message about it (and theoretically making it so that zlib
  could be compiled on FreeBSD 14 with gdc or ldc, though I haven't tried
  that), but it didn't fix it so that it could build on dmd, since that
  would require that dmd be able to handle GNU assembly code, which isn't
  a planned feature AFAIK.

  https://github.com/dlang/phobos/pull/8914 fixed it so that it's possible
  to build Phobos without using importC by providing a make variable, but
  it didn't do anything for FreeBSD specifically.

  This commit changes it so that FreeBSD sets that make variable in the
  makefile so that you don't have to do it manually to get FreeBSD 14 to
  build. It's not necessary for FreeBSD 13.2 (which is what the auto
  testers currently use), but it will be necessary for FreeBSD 14 (14.0
  currently being the latest release of FreeBSD).

  I can confirm from testing that explicitly setting USE_IMPORTC=1 on the
  command line will overrides this change, so that variable can still be
  set one way or the other on FreeBSD. It's just now 0 by default so that
  it will build by default on FreeBSD 14.

https://github.com/dlang/phobos/pull/8918

--


More information about the Digitalmars-d-bugs mailing list