February 13 [Issue 24389] importC: Building zlib in Phobos with importC fails on FreeBSD 14 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=24389 --- Comment #10 from Jonathan M Davis <issues.dlang@jmdavisProg.com> --- (In reply to Iain Buclaw from comment #9) > Alternatively, there's reverting the change that introduced using DMD to build zlib. Yeah, I was talking about what would be required for zlib to build with importC. Either way, ultimately, if we can't get dmd to work with importC and the way that FreeBSD is using __asm__ in stdlib.h, then we can't build zlib in Phobos with importC. > If not resorting back to using $CC for FreeBSD, maybe the zlib sources could be altered to filter out the bad code in the header? > > https://reviews.freebsd.org/source/src/browse/main/include/stdlib.h$347 > > #undef __generic? Maybe? If it were done carefully, then we could probably make it work, but it also could cause problems down the line as the headers change with different OS versions, and depending on what the changes were, we might end up with silent breakage. Personally, I'd be more inclined to just not use importC for zlib, since we clearly don't need to. Of course, it would be nice if dmd could just handle the __asm__ stuff properly, but I guess that that would require that dmd be able to handle another kind of assembly language. -- |
February 14 [Issue 24389] importC: Building zlib in Phobos with importC fails on FreeBSD 14 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=24389 kinke <kinke@gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kinke@gmx.net --- Comment #11 from kinke <kinke@gmx.net> --- I agree that being able to robustly build Phobos (on updated or exotic targets) is way more important than slightly simplifying the druntime build and testing importC for free while at it. [That's why I'll keep using the C compiler for LDC, where exotic targets are much more common than with DMD.] If any of these common system headers use unsupported syntax/features, importC is basically unusable on that target, and adding support might be non-trivial as in this case. It might be worth trying to make importC/CC configurable via make option, so that we don't lose the extra test coverage for the common targets, where importC works sufficiently; I guess that wouldn't come with too many extra makefile lines. -- |
February 14 [Issue 24389] importC: Building zlib in Phobos with importC fails on FreeBSD 14 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=24389 --- Comment #12 from Dlang Bot <dlang-bot@dlang.rocks> --- @kinke created dlang/phobos pull request #8914 "Build: Add option USE_IMPORTC=0 to switch back to compiling zlib with C compiler" mentioning this issue: - Build: Add option USE_IMPORTC=0 to switch back to compiling zlib with C compiler Wrt. Bugzilla Issue 24389. https://github.com/dlang/phobos/pull/8914 -- |
February 15 [Issue 24389] importC: Building zlib in Phobos with importC fails on FreeBSD 14 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=24389 --- Comment #13 from Dlang Bot <dlang-bot@dlang.rocks> --- dlang/dmd pull request #16184 "partial bugzilla 24389 - importC: Parser support for top-level asm definitions" was merged into master: - 78043dabcba037adf9de12b629745415e42609e2 by Iain Buclaw: partial bugzilla 24389 - importC: Parser support for top-level asm definitions https://github.com/dlang/dmd/pull/16184 -- |
February 23 [Issue 24389] importC: Building zlib in Phobos with importC fails on FreeBSD 14 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=24389 --- Comment #14 from Dlang Bot <dlang-bot@dlang.rocks> --- dlang/phobos pull request #8914 "Build: Add option USE_IMPORTC=0 to switch back to compiling zlib with C compiler" was merged into master: - c06255411a1a51b51aea24dd88bcf133f00c584e by Martin Kinkelin: Build: Add option USE_IMPORTC=0 to switch back to compiling zlib with C compiler Wrt. Bugzilla Issue 24389. https://github.com/dlang/phobos/pull/8914 -- |
February 23 [Issue 24389] importC: Building zlib in Phobos with importC fails on FreeBSD 14 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=24389 Dlang Bot <dlang-bot@dlang.rocks> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |pull --- Comment #15 from Dlang Bot <dlang-bot@dlang.rocks> --- @jmdavis created dlang/phobos pull request #8918 "Fix bugzilla issue 24389 - Make Phobos compile on FreeBSD 14 again." fixing this issue: - 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/phobos/pull/8914 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 -- |
February 23 [Issue 24389] importC: Building zlib in Phobos with importC fails on FreeBSD 14 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=24389 Dlang Bot <dlang-bot@dlang.rocks> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #16 from Dlang Bot <dlang-bot@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 -- |
Copyright © 1999-2021 by the D Language Foundation