www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - FreeBSD 13 : wrong kernel version and size of kevent_t

reply eugene <dee0xeed gmail.com> writes:
test program:

```d
import std.stdio;
import core.sys.freebsd.config;
import core.sys.freebsd.sys.event;

void main(string[] args) {
     writefln("FreeBSD_version = %s", __FreeBSD_version);
     writefln("sizeof(kevent_t) = %s", kevent_t.sizeof);
}
```

output:

      bsd:~/d> ./freebsdver
     FreeBSD_version = 1104000
     sizeof(kevent_t) = 32

      bsd:~/d> uname -K
     1300139

/usr/include/d/dmd/core/sys/freebsd/sys/event.h **do** contain 
correct definition of kevent_t for versions 12+ (with ulong[4] 
ext field), but because of wrong kernel version size of kevent_t 
is also incorrect.
Dec 19 2021
parent reply rempas <rempas tutanota.com> writes:
On Sunday, 19 December 2021 at 09:49:29 UTC, eugene wrote:
 test program:

 ```d
 import std.stdio;
 import core.sys.freebsd.config;
 import core.sys.freebsd.sys.event;

 void main(string[] args) {
     writefln("FreeBSD_version = %s", __FreeBSD_version);
     writefln("sizeof(kevent_t) = %s", kevent_t.sizeof);
 }
 ```

 output:

      bsd:~/d> ./freebsdver
     FreeBSD_version = 1104000
     sizeof(kevent_t) = 32

      bsd:~/d> uname -K
     1300139

 /usr/include/d/dmd/core/sys/freebsd/sys/event.h **do** contain 
 correct definition of kevent_t for versions 12+ (with ulong[4] 
 ext field), but because of wrong kernel version size of 
 kevent_t is also incorrect.
I don't have FreeBSD and I can't check the output and header files myself but from what you are saying this seems to me as a bug. I would recommend you to file an [issue](https://issues.dlang.org/) just so the developers themself can notice it. We have nothing to loss in any case
Dec 20 2021
next sibling parent eugene <dee0xeed gmail.com> writes:
On Monday, 20 December 2021 at 21:19:43 UTC, rempas wrote:
 I don't have FreeBSD and I can't check the output and header
I have it VirtualBox
 files myself but from what you are saying this seems to me as a 
 bug. I would recommend you to file an 
 [issue](https://issues.dlang.org/) just so the developers 
 themself can notice it
Ok.
Dec 20 2021
prev sibling parent reply eugene <dee0xeed gmail.com> writes:
On Monday, 20 December 2021 at 21:19:43 UTC, rempas wrote:
 I would recommend you to file an 
 [issue](https://issues.dlang.org/) just so the developers 
 themself can notice it.
filed an issue, see https://issues.dlang.org/show_bug.cgi?id=22615
Dec 21 2021
next sibling parent rempas <rempas tutanota.com> writes:
On Tuesday, 21 December 2021 at 10:28:15 UTC, eugene wrote:
 filed an issue, see
 https://issues.dlang.org/show_bug.cgi?id=22615
Nice! Hope they see and fix it soon! Love for open source Operating Systems!!
Dec 21 2021
prev sibling parent reply Johan <j j.nl> writes:
On Tuesday, 21 December 2021 at 10:28:15 UTC, eugene wrote:
 On Monday, 20 December 2021 at 21:19:43 UTC, rempas wrote:
 I would recommend you to file an 
 [issue](https://issues.dlang.org/) just so the developers 
 themself can notice it.
filed an issue, see https://issues.dlang.org/show_bug.cgi?id=22615
Please add which compiler(s) you have tried in the bug report. I think the fix is needed here: https://github.com/dlang/dmd/blob/ad8412530e607ffebec36f2dbdff1a6f2798faf7/src/dmd/target.d#L362-L372 -Johan
Dec 21 2021
next sibling parent reply rempas <rempas tutanota.com> writes:
On Tuesday, 21 December 2021 at 17:00:06 UTC, Johan wrote:
 Please add which compiler(s) you have tried in the bug report.
Yeah, you are right! Please eugene use LDC2 and check confirm that the behavior is the same there.
 I think the fix is needed here: 
 https://github.com/dlang/dmd/blob/ad8412530e607ffebec36f2dbdff1a6f2798faf7/src/dmd/target.d#L362-L372
Yeah, I think it is very clear as there is no case for FreeBSD 13. So probably this will be easily fixed
Dec 21 2021
next sibling parent eugene <dee0xeed gmail.com> writes:
On Tuesday, 21 December 2021 at 17:32:44 UTC, rempas wrote:
 On Tuesday, 21 December 2021 at 17:00:06 UTC, Johan wrote:
 Please add which compiler(s) you have tried in the bug report.
 Yeah, you are right! Please eugene use LDC2 and check confirm 
 that the behavior is the same there.
I have. Same picture.
 Yeah, I think it is very clear as there is no case for FreeBSD 
 13. So probably this will be easily fixed
Yes, one need to let compiler see actual OS version. I just do not know how to do it and do it correctly.
Dec 21 2021
prev sibling next sibling parent reply eugene <dee0xeed gmail.com> writes:
On Tuesday, 21 December 2021 at 17:32:44 UTC, rempas wrote:
 Please eugene use LDC2 and check confirm that the behavior is 
 the same there.
Phobos that shipped with LDC, does not have core.sys.freebsd.config So ```d import std.stdio; //import core.sys.freebsd.config; import core.sys.freebsd.sys.event; void main(string[] args) { // writefln("FreeBSD_version = %s", __FreeBSD_version); writefln("sizeof(kevent_t) = %s", kevent_t.sizeof); } ``` and ``` bsd:~/d> ldc2 freebsdver.d bsd:~/d> ./freebsdver sizeof(kevent_t) = 32 ``` As you see, sizeof struct kevent_t is also wrong, must be 64: exerpt from /usr/include/sys/event.h ```c struct kevent { __uintptr_t ident; // identifier for this event short filter; // filter for event unsigned short flags; // action flags for kqueue unsigned int fflags; // filter flag value __int64_t data; // filter data value void *udata; // opaque user data identifier __uint64_t ext[4]; // extensions }; #if defined(_WANT_FREEBSD11_KEVENT) // Older structure used in FreeBSD 11.x and older. struct kevent_freebsd11 { __uintptr_t ident; // identifier for this event short filter; // filter for event unsigned short flags; unsigned int fflags; __intptr_t data; void *udata; // opaque user data identifier }; #endif ```
Dec 21 2021
parent reply rempas <rempas tutanota.com> writes:
I would love to see more full (and correct) support for FreeBSD, 
OpenBSD and DragonflyBSD from Dlang! Maybe one day..
Dec 21 2021
parent eugene <dee0xeed gmail.com> writes:
On Tuesday, 21 December 2021 at 18:28:12 UTC, rempas wrote:
 I would love to see more full (and correct) support for 
 FreeBSD, OpenBSD and DragonflyBSD from Dlang! Maybe one day..
My interest was kqueue facility. I use linux epoll facility a lot in my progs, and just wanted to do some exersises with kqueue
Dec 21 2021
prev sibling parent reply eugene <dee0xeed gmail.com> writes:
On Tuesday, 21 December 2021 at 17:32:44 UTC, rempas wrote:
 Yeah, you are right! Please eugene use LDC2 and check confirm
LDC2 stdlib does not have correct struct event_t for 12+ in /usr/local/include/d/core/sys/freebsd/sys/event.d at all, only for earlier versions, ie without extension field. DMD stdlib does have, the only problem is the OS version is wrong. --- bsd:~/d> ldc2 -v binary /usr/local/bin/ldc2 version 1.23.0 (DMD v2.093.1, LLVM 10.0.1)
Dec 21 2021
parent reply rempas <rempas tutanota.com> writes:
On Tuesday, 21 December 2021 at 18:35:43 UTC, eugene wrote:
 LDC2 stdlib does not have correct struct event_t for 12+ in
 /usr/local/include/d/core/sys/freebsd/sys/event.d at all,
 only for earlier versions, ie without extension field.

 DMD stdlib does have, the only problem is the OS version is 
 wrong.

 ---
  bsd:~/d> ldc2 -v
 binary    /usr/local/bin/ldc2
 version   1.23.0 (DMD v2.093.1, LLVM 10.0.1)
I'm wondering what happens in the latest LDC2 version. Your version is from 1 year and 4 months ago. The [latest](https://github.com/ldc-developers/ldc/releases/tag/v1.28.0) release offers pre built binaries from FreeBSD so can you grab one and test to see if there are any changes?
Dec 21 2021
parent reply eugene <dee0xeed gmail.com> writes:
On Tuesday, 21 December 2021 at 18:42:10 UTC, rempas wrote:
 I'm wondering what happens in the latest LDC2 version. Your 
 version is from 1 year and 4 months ago.
Well, I just installed it by pkg intstall ldc Actually, this is my first experience with FreeBSD, I did not have much to go deeper.
 The 
 [latest](https://github.com/ldc-developers/ldc/releases/tag/v1.28.0) release
offers pre built binaries from FreeBSD so can you grab one and test to see if
there are any changes?
Oh, no, sorry. :) It is the problem of FreeBSD maintainers to have fresh ldc in the distribution.
Dec 21 2021
parent reply rempas <rempas tutanota.com> writes:
On Tuesday, 21 December 2021 at 19:00:04 UTC, eugene wrote:
 Well, I just installed it by

    pkg intstall ldc

 Actually, this is my first experience with FreeBSD,
 I did not have much to go deeper.
That's nice trying new things ;)
 Oh, no, sorry. :)
 It is the problem of FreeBSD maintainers to have fresh ldc in 
 the distribution.
Yeah, don't use the "pkg" version as it is outdated. It is very hard to keep a whole OS (thousands of packages) up to date. So yeah, uninstall your current ldc and trying with the one from the link I gave you and tell me the output
Dec 21 2021
next sibling parent reply eugene <dee0xeed gmail.com> writes:
On Tuesday, 21 December 2021 at 19:22:35 UTC, rempas wrote:
 On Tuesday, 21 December 2021 at 19:00:04 UTC, eugene wrote:
 Well, I just installed it by

    pkg intstall ldc

 Actually, this is my first experience with FreeBSD,
 I did not have much to go deeper.
That's nice trying new things ;)
Yeah, but as I've already said, "new thing" for was kqueue. That's all.
 Oh, no, sorry. :)
 It is the problem of FreeBSD maintainers to have fresh ldc in 
 the distribution.
Yeah, don't use the "pkg" version as it is outdated.
But i like to use software out of the box and do not like compile it from source.
 It is very hard to keep a whole OS (thousands of packages) up 
 to date. So yeah, uninstall your current ldc and trying with 
 the one from the link I gave you and tell me the output
I do not see any reason for me to do this. The "problem" (with dmd, not with ldc) is that despite phobos does contain everthing for ver 12+, the version itself is incorrect.
Dec 21 2021
parent rempas <rempas tutanota.com> writes:
On Tuesday, 21 December 2021 at 19:40:52 UTC, eugene wrote:
 But i like to use software out of the box and
 do not like compile it from source.
Me too! The link I gave you has a binary release with LDC2. You won't have to compile it yourself.
 I do not see any reason for me to do this.
 The "problem" (with dmd, not with ldc) is
 that despite phobos does contain everthing for ver 12+,
 the version itself is incorrect.
I agree tho what I was wondering was if the latest version LDC2 will now have the missing definitions for freeBSD. The versioning will of course be wrong (as LDC2 uses DMD as a frontend from what I know) but if the other info isn't added then maybe we should add an issue in their Github. Of course if you don't care about LDC2 you should not spend your time
Dec 21 2021
prev sibling parent reply eugene <dee0xeed gmail.com> writes:
On Tuesday, 21 December 2021 at 19:22:35 UTC, rempas wrote:
 Yeah, don't use the "pkg" version as it is outdated. It is very 
 hard to keep a whole OS (thousands of packages) up to date. So 
 yeah, uninstall your current ldc and trying with the one from 
 the link I gave you and tell me the output
core/sys/freebsd/config.d and core/sys/freebsd/sys/event.d are the same as in fresh dmd, so there is not much sense to try it. dmd (including phobos) is a reference, and I do not think, that ldc is ahead of dmd with it's stdlib.
Dec 21 2021
parent reply rempas <rempas tutanota.com> writes:
On Tuesday, 21 December 2021 at 19:55:13 UTC, eugene wrote:
 core/sys/freebsd/config.d and core/sys/freebsd/sys/event.d
 are the same as in fresh dmd, so there is not much sense to try 
 it.
 dmd (including phobos) is a reference, and I do not think,
 that ldc is ahead of dmd with it's stdlib.
Oh, that was in the next page and I didn't saw it when I replied. So to continue from my last comment (and answer on this one), I thought you said that LDC does not include "core.sys.freebsd.config" [here](https://forum.dlang.org/post/sjausqwudtujswpomuvr forum.dlang.org) or is there something I didn't understand right? And WOW! We are making a big conversation here, lol
Dec 21 2021
parent reply eugene <dee0xeed gmail.com> writes:
On Tuesday, 21 December 2021 at 21:02:21 UTC, rempas wrote:
 On Tuesday, 21 December 2021 at 19:55:13 UTC, eugene wrote:
 core/sys/freebsd/config.d and core/sys/freebsd/sys/event.d
 are the same as in fresh dmd, so there is not much sense to 
 try it.
 dmd (including phobos) is a reference, and I do not think,
 that ldc is ahead of dmd with it's stdlib.
Oh, that was in the next page and I didn't saw it when I replied. So to continue from my last comment (and answer on this one), I thought you said that LDC does not include "core.sys.freebsd.config" [here](https://forum.dlang.org/post/sjausqwudtujswpomuvr forum.dlang.org) or is there something I didn't understand right?
* The ldc installed by 'pkg install ldc' (the old one), does not have config module * Most resent ldc (link you indicated), does have condig module, and it is exactly the same as condig in most recent dmd
Dec 21 2021
next sibling parent reply Johan <j j.nl> writes:
On Tuesday, 21 December 2021 at 21:09:14 UTC, eugene wrote:
 On Tuesday, 21 December 2021 at 21:02:21 UTC, rempas wrote:
 On Tuesday, 21 December 2021 at 19:55:13 UTC, eugene wrote:
 core/sys/freebsd/config.d and core/sys/freebsd/sys/event.d
 are the same as in fresh dmd, so there is not much sense to 
 try it.
 dmd (including phobos) is a reference, and I do not think,
 that ldc is ahead of dmd with it's stdlib.
Oh, that was in the next page and I didn't saw it when I replied. So to continue from my last comment (and answer on this one), I thought you said that LDC does not include "core.sys.freebsd.config" [here](https://forum.dlang.org/post/sjausqwudtujswpomuvr forum.dlang.org) or is there something I didn't understand right?
* The ldc installed by 'pkg install ldc' (the old one), does not have config module * Most resent ldc (link you indicated), does have condig module, and it is exactly the same as condig in most recent dmd
Hi Eugene, When you run `ldc2 -v test.d` (some arbitrary d file), you should see "predefs" at the top, followed by a bunch of predefined versions by the compiler. FreeBSD_xx should be on that list, and the number should correspond to your OS version. If it does not, then that's a bug in LDC. I was wrong: LDC is using its own code to determine the OS version, and it should already do that correctly. cheers, Johan
Dec 21 2021
parent reply eugene <dee0xeed gmail.com> writes:
On Wednesday, 22 December 2021 at 00:43:16 UTC, Johan wrote:
 When you run `ldc2 -v test.d` (some arbitrary d file), you 
 should see "predefs" at the top, followed by a bunch of 
 predefined versions by the compiler. FreeBSD_xx should be on 
 that list, and the number should correspond to your OS version. 
 If it does not, then that's a bug in LDC.
Forget about LDC :) I used outdated version of LDC (the one installed with pkg), which does not have struct kevent_t for 12+ at all.
 I was wrong: LDC is using its own code to determine the OS 
 version, and it should already do that correctly.
And I am **not** going to install up to date version of LDC, because I prefer to use packages supplied by repository maintainers (usually) FreeBSD has ldc2 (old, but it **is** in the repo) Linux has both gdc (also old) and ldc. It looks strange - leading D compiler is not in Linux/FreeBSD repos :)
Dec 22 2021
parent reply rempas <rempas tutanota.com> writes:
On Wednesday, 22 December 2021 at 09:49:59 UTC, eugene wrote:
 It looks strange - leading D compiler is not in Linux/FreeBSD 
 repos :)
Well no so much. The only official compiler is DMD and when it comes to that, Digital Mars, has pre-built binaries for most Linux distros and for FreeBSD. Now the repos are another thing like I told you in a previous reply. The repos are managed by the distro maintainers and not the developers individual. D is a very unpopular language so it makes sense that not every distro (and freeBSD) have up to date packages. Some distros are not rolling release in general. FreeBSD (if I'm not mistaken) never promoted themselves as bleeding edge either. However, both DMD and LDC2 developers have up to date binaries for every platform they support. GDC is part of GCC so it's another story.... Also I prefer to use my distro's repos too for everything (and I can do that because I use Arch btw) but this is not possible every time. Downloading and installing binaries from other sites should be do some times, especially if you use non-bleeding edge distros or *BSD.
Dec 22 2021
parent eugene <dee0xeed gmail.com> writes:
On Wednesday, 22 December 2021 at 10:05:25 UTC, rempas wrote:
 On Wednesday, 22 December 2021 at 09:49:59 UTC, eugene wrote:
 It looks strange - leading D compiler is not in Linux/FreeBSD 
 repos :)
Well no so much.
Well, ok. Now the only thing I can "do" is to wait until [the issue](https://issues.dlang.org/show_bug.cgi?id=22615) will be solved. And just in case - the topic was started due to my exersises with kqueue and if it is interesting for anybody, see [EDSM](http://zed.karelia.ru/0/e/) EDSM stands for 'event driven state machines' NOTE: despite the topic, those programs (echo client/server pair) work perfectly, but this is not suprisingly, because: * I am not using ext field in struct kevent_t * most likely I never get more than one event from kqueue() * buffer is 8 events long, so I always have extra space for that ext field.
Dec 22 2021
prev sibling parent reply rempas <rempas tutanota.com> writes:
On Tuesday, 21 December 2021 at 21:09:14 UTC, eugene wrote:
 * The ldc installed by 'pkg install ldc' (the old one), does 
 not have config module
 * Most resent ldc (link you indicated), does have condig 
 module, and it is exactly the same as condig in most recent dmd
Cool! Makes sense! I thought you didn't tried the latest LDC2 at all so it seemed weird to me. Great job man!
Dec 21 2021
parent reply eugene <dee0xeed gmail.com> writes:
On Wednesday, 22 December 2021 at 06:50:00 UTC, rempas wrote:
 On Tuesday, 21 December 2021 at 21:09:14 UTC, eugene wrote:
 * The ldc installed by 'pkg install ldc' (the old one), does 
 not have config module
 * Most resent ldc (link you indicated), does have condig 
 module, and it is exactly the same as condig in most recent dmd
Cool! Makes sense! I thought you didn't tried the latest LDC2 at all so it seemed weird to me. Great job man!
You thought right - I **DID NOT** try the latest LDC, I just looked into ldc2-1.28.0-freebsd-x86_64.tar.xz archive to see what is in core/sys/freebsd/config.d and in core/sys/freebsd/sys/event.d Both these files are just copies from DMD distribution.
Dec 22 2021
next sibling parent rempas <rempas tutanota.com> writes:
On Wednesday, 22 December 2021 at 08:41:56 UTC, eugene wrote:
 You thought right - I **DID NOT** try the latest LDC, I just 
 looked into
 ldc2-1.28.0-freebsd-x86_64.tar.xz archive to see
 what is in core/sys/freebsd/config.d and in 
 core/sys/freebsd/sys/event.d

 Both these files are just copies from DMD distribution.
Actually just taking a look in the files is the same thing ;)
Dec 22 2021
prev sibling parent eugene <dee0xeed gmail.com> writes:
On Wednesday, 22 December 2021 at 08:41:56 UTC, eugene wrote:
 Both these files are just copies from DMD distribution.
Forget to mention... [installation instructions](https://dlang.org/dmd-freebsd.html) are complete mess I just copied right things to right places manually.
Dec 22 2021
prev sibling next sibling parent reply eugene <dee0xeed gmail.com> writes:
On Tuesday, 21 December 2021 at 17:00:06 UTC, Johan wrote:
 I think the fix is needed here: 
 https://github.com/dlang/dmd/blob/ad8412530e607ffebec36f2dbdff1a6f2798faf7/src/dmd/target.d#L362-L372
looks like this. it is a little bit strange, that in /usr/include/d/dmd/core/sys/freebsd/config.d there is ver 12: ```d version (FreeBSD_12) enum __FreeBSD_version = 1202000; else version (FreeBSD_11) enum __FreeBSD_version = 1104000; else version (FreeBSD_10) enum __FreeBSD_version = 1004000; else version (FreeBSD_9) enum __FreeBSD_version = 903000; else version (FreeBSD_8) enum __FreeBSD_version = 804000; else static assert(false, "Unsupported version of FreeBSD"); ``` but __FreeBSD_version is 1104000 anyway.
Dec 21 2021
parent reply Steven Schveighoffer <schveiguy gmail.com> writes:
On 12/21/21 1:50 PM, eugene wrote:
 On Tuesday, 21 December 2021 at 17:00:06 UTC, Johan wrote:
 I think the fix is needed here: 
 https://github.com/dlang/dmd/blob/ad8412530e607ffebec36f2dbdff1a6f2798faf7/src/dm
/target.d#L362-L372 
looks like this. it is a little bit strange, that in /usr/include/d/dmd/core/sys/freebsd/config.d there is ver 12: ```d     version (FreeBSD_12) enum __FreeBSD_version = 1202000; else version (FreeBSD_11) enum __FreeBSD_version = 1104000; else version (FreeBSD_10) enum __FreeBSD_version = 1004000; else version (FreeBSD_9)  enum __FreeBSD_version = 903000; else version (FreeBSD_8)  enum __FreeBSD_version = 804000; else static assert(false, "Unsupported version of FreeBSD"); ``` but __FreeBSD_version is 1104000 anyway.
Not sure how those versions are set. I have a hard time following the dmd code to see where it might check the current-running OS to check for the version. -Steve
Dec 21 2021
parent reply eugene <dee0xeed gmail.com> writes:
On Tuesday, 21 December 2021 at 19:13:19 UTC, Steven 
Schveighoffer wrote:
 On 12/21/21 1:50 PM, eugene wrote:
 ```d
      version (FreeBSD_12) enum __FreeBSD_version = 1202000;
 else version (FreeBSD_11) enum __FreeBSD_version = 1104000;
 else version (FreeBSD_10) enum __FreeBSD_version = 1004000;
 else version (FreeBSD_9)  enum __FreeBSD_version = 903000;
 else version (FreeBSD_8)  enum __FreeBSD_version = 804000;
 else static assert(false, "Unsupported version of FreeBSD");
 ```
 
 but __FreeBSD_version is 1104000 anyway.
Not sure how those versions are set. I have a hard time following the dmd code to see where it might check the current-running OS to check for the version.
I think, it'd be nice to set it in /etc/dmd.conf Or.. is it bad idea?..
Dec 21 2021
parent reply Steven Schveighoffer <schveiguy gmail.com> writes:
On 12/21/21 2:32 PM, eugene wrote:
 On Tuesday, 21 December 2021 at 19:13:19 UTC, Steven Schveighoffer wrote:
 On 12/21/21 1:50 PM, eugene wrote:
 ```d
      version (FreeBSD_12) enum __FreeBSD_version = 1202000;
 else version (FreeBSD_11) enum __FreeBSD_version = 1104000;
 else version (FreeBSD_10) enum __FreeBSD_version = 1004000;
 else version (FreeBSD_9)  enum __FreeBSD_version = 903000;
 else version (FreeBSD_8)  enum __FreeBSD_version = 804000;
 else static assert(false, "Unsupported version of FreeBSD");
 ```

 but __FreeBSD_version is 1104000 anyway.
Not sure how those versions are set. I have a hard time following the dmd code to see where it might check the current-running OS to check for the version.
I think, it'd be nice to set it in /etc/dmd.conf Or.. is it bad idea?..
If this is a compiler-supplied version, then I don't think you are allowed to set it explicitly. -Steve
Dec 21 2021
parent eugene <dee0xeed gmail.com> writes:
On Tuesday, 21 December 2021 at 19:49:26 UTC, Steven 
Schveighoffer wrote:
 If this is a compiler-supplied version, then I don't think you 
 are allowed to set it explicitly.
moreover... commented out in condig.d like this: ```d version (FreeBSD_12) enum __FreeBSD_version = 1202000; //else version (FreeBSD_11) enum __FreeBSD_version = 1104000; //else version (FreeBSD_10) enum __FreeBSD_version = 1004000; //else version (FreeBSD_9) enum __FreeBSD_version = 903000; //else version (FreeBSD_8) enum __FreeBSD_version = 804000; //else static assert(false, "Unsupported version of FreeBSD"); ``` and... ``` bsd:~/d> dmd freebsdver /usr/include/d/dmd/core/sys/posix/sys/types.d(201): Error: undefined identifier `__FreeBSD_version` /usr/include/d/dmd/core/sys/posix/stdio.d(393): Error: undefined identifier `__FreeBSD_version` /usr/include/d/dmd/core/sys/freebsd/sys/event.d(42): Error: undefined identifier `__FreeBSD_version` /usr/include/d/dmd/core/sys/freebsd/sys/event.d(173): Error: undefined identifier `__FreeBSD_version` ```
Dec 21 2021
prev sibling parent eugene <dee0xeed gmail.com> writes:
On Tuesday, 21 December 2021 at 17:00:06 UTC, Johan wrote:
 On Tuesday, 21 December 2021 at 10:28:15 UTC, eugene wrote:
 On Monday, 20 December 2021 at 21:19:43 UTC, rempas wrote:
 I would recommend you to file an 
 [issue](https://issues.dlang.org/) just so the developers 
 themself can notice it.
filed an issue, see https://issues.dlang.org/show_bug.cgi?id=22615
Please add which compiler(s) you have tried in the bug report.
done, added a couple of comments
Dec 21 2021