April 03
Dennis via Digitalmars-d-announce wrote:
> Glad to announce D 2.111.0, ♥ to the 78 contributors.

Hi Dennis,

Are the specs of the build hosts documented anywhere?

The info on the D wiki is generic and most pages have not been updated
in years.

What I am looking for is the minimum required OS version and compiler
used to build the binaries published on dlang.org.  I think it would
help to document this for all OSes as there are many versions of every
OS.

It could also be helpful to document the hardware used such as minimum
CPU, (for reasons of what CPU features are required/supported), amount
of RAM on the build host, etc.  A simple tool like inxi
(https://github.com/smxi/inxi), a perl script, provides that info for
Linux/BSD and Apple systems.  Windows should be enough to state the OS
and compiler versions used, e.g. Windows 10 and VS2019.

The info could be listed in the DMD changelog, or simply include a
REQUIREMENTS file in the source tarballs/zip files.

I ask because I have been building DMD from source for a while now and
this last upgrade failed to build on my customized Linux system.  DMD
and phobos appeared to build OK, but dustmite from the "tools" tarball
requires Linux kernel 3.17 and glibc 2.25 for getrandom(2).  Yes, I
have an older system but am trying to avoid the OS upgrade treadmill.
I realize most people probably don't build from source but documenting
the requirements would help those who do.

Aside from that, great job on taking over the releases.  I read your
blog about it and it sounds like a lot of work.

scot
April 04
On 04/04/2025 11:13 AM, thinkunix wrote:
> What I am looking for is the minimum required OS version and compiler used to build the binaries published on dlang.org. I think it would help to document this for all OSes as there are many versions of every OS.

Whatever the CI uses, is whatever is supported.

https://github.com/dlang/dmd/blob/master/.github/workflows/main.yml

April 04

Hello Scot.

On Thursday, 3 April 2025 at 22:13:51 UTC, thinkunix wrote:

>

Are the specs of the build hosts documented anywhere?

I don't know of any such place.

>

What I am looking for is the minimum required OS version and compiler
used to build the binaries published on dlang.org.

The bootstrap compiler version, the oldest DMD version that DMD is tested to still build with, is currently 2.079. But that's just for the compiler, it might be different for tools like dustmite. The releases are built in VMs with 6 GB of Ram and Linux bullseye 5.10.0-18-amd64 #1 SMP Debian 5.10.140-1 (2022-09-02) x86_64, and Microsoft Windows 7 Home Premium, 6.1.7601 Service Pack 1 Build 7601. I don't have the FreeBSD and OSX versions at hand but can check later.

LDC 1.32 is used to build optimized compiler binaries of dmd. I'm not sure if it uses the Visual Studio or mingw toolchain on Windows.

>

The info could be listed in the DMD changelog, or simply include a
REQUIREMENTS file in the source tarballs/zip files.

I don't know the innards of the complex release process that well yet, I'm just following Iain's steps at the moment. Maybe later we can get a clearer picture of all requirements.

>

I ask because I have been building DMD from source for a while now and
this last upgrade failed to build on my customized Linux system. DMD
and phobos appeared to build OK, but dustmite from the "tools" tarball
requires Linux kernel 3.17 and glibc 2.25 for getrandom(2).

Note that dustmite is not an essential component of a D release, it's a separate utility to reduce code for bug reports. You can skip building it, or ask the author about build requirements. The upstream repository is: https://github.com/CyberShadow/DustMite

>

Aside from that, great job on taking over the releases.

Thanks

April 04
On Thursday, 3 April 2025 at 22:13:51 UTC, thinkunix wrote:
> I ask because I have been building DMD from source for a while now and
> this last upgrade failed to build on my customized Linux system.  DMD
> and phobos appeared to build OK, but dustmite from the "tools" tarball
> requires Linux kernel 3.17 and glibc 2.25 for getrandom(2).

Just received

   libphobos2.so: undefined reference to `getrandom@GLIBC_2.25'

when trying to produce a dynamically linked executable

   $ dmd -L-lphobos2 test

with

```
void main ()
{
}
```

Linking statically

   $ dmd test

works. I am using the dmd.2.111.0.linux.tar.xz for OpenSUSE. This is a
regression from the previous dmd.2.110.0.linux.tar.xz.
April 04

On Friday, 4 April 2025 at 11:59:15 UTC, kdevel wrote:

>

I am using the dmd.2.111.0.linux.tar.xz for OpenSUSE. This is a
regression from the previous dmd.2.110.0.linux.tar.xz.

We might need to revert the following PR for 2.111.1:

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

6 days ago
On Friday, 4 April 2025 at 11:59:15 UTC, kdevel wrote:
> I am using the dmd.2.111.0.linux.tar.xz for OpenSUSE.

Which version of openSUSE does this affect?

6 days ago
Richard (Rikki) Andrew Cattermole via Digitalmars-d-announce wrote:
> On 04/04/2025 11:13 AM, thinkunix wrote:
>> What I am looking for is the minimum required OS version and compiler used to build the binaries published on dlang.org. I think it would help to document this for all OSes as there are many versions of every OS.
> 
> Whatever the CI uses, is whatever is supported.
> 
> https://github.com/dlang/dmd/blob/master/.github/workflows/main.yml
> 

Thanks, that helps.

6 days ago
Dennis via Digitalmars-d-announce wrote:
> On Thursday, 3 April 2025 at 22:13:51 UTC, thinkunix wrote:
>> Are the specs of the build hosts documented anywhere?

Thanks Dennis for the detailed reply!
5 days ago

On Friday, 4 April 2025 at 11:59:15 UTC, kdevel wrote:

>

Just received

libphobos2.so: undefined reference to `getrandom@GLIBC_2.25'

when trying to produce a dynamically linked executable

$ dmd -L-lphobos2 test

Unfortunately, I’m unable to reproduce this.

$ LD_LIBRARY_PATH=/yada/yada/phobos/generated/linux/release/64/ /yada/yada/dmd/generated/linux/release/64/dmd -L-lphobos2 test
$ echo $?
0
1 2
Next ›   Last »