diff mbox series

docs: ubuntu_essential.sh: explicitly add libcrypt-dev

Message ID 20260410093916.3788848-1-martin.jansa@gmail.com
State Under Review
Headers show
Series docs: ubuntu_essential.sh: explicitly add libcrypt-dev | expand

Commit Message

Martin Jansa April 10, 2026, 9:39 a.m. UTC
From: Martin Jansa <martin.jansa@gmail.com>

In latest ubuntu-26.04 build-essential no longer installs libcrypt-dev
But virtual/crypt-native is in ASSUME_PROVIDED and is expected to be
usable for development.

It used to be installed as build-essential -> libc6-dev -> libcrypt-dev,b
ut not anymore since 2.42-7:

25.10 questing with 2.42-0ubuntu3.1:
https://packages.ubuntu.com/questing/libc6-dev
26.04 resolute with 2.43-2ubuntu1:
https://packages.ubuntu.com/resolute/libc6-dev

https://changelogs.ubuntu.com/changelogs/pool/main/g/glibc/glibc_2.43-2ubuntu1/changelog:
...
glibc (2.42-7) unstable; urgency=medium

  [ Aurelien Jarno ]
  * debian/control.in/libc, debian/rules.d/debhelper.mk: drop libcrypt-dev
    dependency from libc6-dev. Thanks to Helmut Grohne for proposing that,
    doing an archive rebuild and filling the bug reports.
  * debian/control.in/main, debian/sysdeps/linux.mk: enable SystemTap static
    probes.
  * debian/debhelper.in/libc-dev.NEWS: add a NEWS entry about the removal of
    the obsolete termio interface.  Closes: #1124068.
  * debian/rules.d/debhelper.mk: ensure that linker scripts work even when
    /usr is unmerged.  Closes: #1120508
  * debian/debhelper.in/libc-dev{,-alt}.lintian-overrides,
    source/lintian-overrides, rules.d/debhelper.mk, salsa-ci.yml: drop
    unpack-message-for-{orig,source} overrides, fixed in lintian 2.128.0.
  * debian/control.in/main: drop Rules-Requires-Root: no, this is now the
    default.
  * debian/libc6.symbols.i386, debian/libc6-i386.symbols.{amd64,x32}: remove
    the workaround for GLIBC_ABI_GNU_TLS.  Closes: #1122038.
  * debian/control.in/{libc,i386}: ensure that libdpkg-perl is fixed wrt
    GLIBC_ABI_GNU_TLS.

 -- Aurelien Jarno <aurel32@debian.org>  Sun, 04 Jan 2026 10:07:24 +0100
...

Without libcrypt-dev installed on host building shadow-native will
fail with:
  checking for crypt in -lcrypt... no
  configure: error: crypt() not found
and python3-native with:
  The necessary bits to build these optional modules were not found:
  _crypt
  To find the necessary bits, look in configure.ac and config.log.

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
---
 documentation/tools/host_packages_scripts/ubuntu_essential.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Quentin Schulz April 10, 2026, 9:48 a.m. UTC | #1
Hi Martin,

On 4/10/26 11:39 AM, Martin Jansa via lists.yoctoproject.org wrote:
> From: Martin Jansa <martin.jansa@gmail.com>
> 
> In latest ubuntu-26.04 build-essential no longer installs libcrypt-dev
> But virtual/crypt-native is in ASSUME_PROVIDED and is expected to be
> usable for development.
> 
> It used to be installed as build-essential -> libc6-dev -> libcrypt-dev,b
> ut not anymore since 2.42-7:
> 
> 25.10 questing with 2.42-0ubuntu3.1:
> https://packages.ubuntu.com/questing/libc6-dev

Broken link.

> 26.04 resolute with 2.43-2ubuntu1:
> https://packages.ubuntu.com/resolute/libc6-dev
> 
> https://changelogs.ubuntu.com/changelogs/pool/main/g/glibc/glibc_2.43-2ubuntu1/changelog:
> ...
> glibc (2.42-7) unstable; urgency=medium
> 
>    [ Aurelien Jarno ]
>    * debian/control.in/libc, debian/rules.d/debhelper.mk: drop libcrypt-dev
>      dependency from libc6-dev. Thanks to Helmut Grohne for proposing that,
>      doing an archive rebuild and filling the bug reports.
>    * debian/control.in/main, debian/sysdeps/linux.mk: enable SystemTap static
>      probes.
>    * debian/debhelper.in/libc-dev.NEWS: add a NEWS entry about the removal of
>      the obsolete termio interface.  Closes: #1124068.
>    * debian/rules.d/debhelper.mk: ensure that linker scripts work even when
>      /usr is unmerged.  Closes: #1120508
>    * debian/debhelper.in/libc-dev{,-alt}.lintian-overrides,
>      source/lintian-overrides, rules.d/debhelper.mk, salsa-ci.yml: drop
>      unpack-message-for-{orig,source} overrides, fixed in lintian 2.128.0.
>    * debian/control.in/main: drop Rules-Requires-Root: no, this is now the
>      default.
>    * debian/libc6.symbols.i386, debian/libc6-i386.symbols.{amd64,x32}: remove
>      the workaround for GLIBC_ABI_GNU_TLS.  Closes: #1122038.
>    * debian/control.in/{libc,i386}: ensure that libdpkg-perl is fixed wrt
>      GLIBC_ABI_GNU_TLS.
> 
>   -- Aurelien Jarno <aurel32@debian.org>  Sun, 04 Jan 2026 10:07:24 +0100
> ...
> 
> Without libcrypt-dev installed on host building shadow-native will
> fail with:
>    checking for crypt in -lcrypt... no
>    configure: error: crypt() not found
> and python3-native with:
>    The necessary bits to build these optional modules were not found:
>    _crypt
>    To find the necessary bits, look in configure.ac and config.log.
> 

Note that we share the Ubuntu instructions with Debian (and for many 
different versions).

On pkgs.org, libcrypt-dev exists for Debian Bullseye, Bookworm and Trixie.
I manually installed the package on 22.04, 24.04, 25.04 and 25.10 and 
they all exist.

So:

Acked-by: Quentin Schulz <quentin.schulz@cherry.de>

Thanks!
Quentin
Martin Jansa April 10, 2026, 10:01 a.m. UTC | #2
On Fri, Apr 10, 2026 at 11:48 AM Quentin Schulz
<quentin.schulz@cherry.de> wrote:
>
> Hi Martin,
>
> On 4/10/26 11:39 AM, Martin Jansa via lists.yoctoproject.org wrote:
> > From: Martin Jansa <martin.jansa@gmail.com>
> >
> > In latest ubuntu-26.04 build-essential no longer installs libcrypt-dev
> > But virtual/crypt-native is in ASSUME_PROVIDED and is expected to be
> > usable for development.
> >
> > It used to be installed as build-essential -> libc6-dev -> libcrypt-dev,b
> > ut not anymore since 2.42-7:
> >
> > 25.10 questing with 2.42-0ubuntu3.1:
> > https://packages.ubuntu.com/questing/libc6-dev
>
> Broken link.

That's probably temporarily broken as it often returns 500 Internal
Server Error, but it was working link yesterday :).

> > 26.04 resolute with 2.43-2ubuntu1:
> > https://packages.ubuntu.com/resolute/libc6-dev
> >
> > https://changelogs.ubuntu.com/changelogs/pool/main/g/glibc/glibc_2.43-2ubuntu1/changelog:
> > ...
> > glibc (2.42-7) unstable; urgency=medium
> >
> >    [ Aurelien Jarno ]
> >    * debian/control.in/libc, debian/rules.d/debhelper.mk: drop libcrypt-dev
> >      dependency from libc6-dev. Thanks to Helmut Grohne for proposing that,
> >      doing an archive rebuild and filling the bug reports.
> >    * debian/control.in/main, debian/sysdeps/linux.mk: enable SystemTap static
> >      probes.
> >    * debian/debhelper.in/libc-dev.NEWS: add a NEWS entry about the removal of
> >      the obsolete termio interface.  Closes: #1124068.
> >    * debian/rules.d/debhelper.mk: ensure that linker scripts work even when
> >      /usr is unmerged.  Closes: #1120508
> >    * debian/debhelper.in/libc-dev{,-alt}.lintian-overrides,
> >      source/lintian-overrides, rules.d/debhelper.mk, salsa-ci.yml: drop
> >      unpack-message-for-{orig,source} overrides, fixed in lintian 2.128.0.
> >    * debian/control.in/main: drop Rules-Requires-Root: no, this is now the
> >      default.
> >    * debian/libc6.symbols.i386, debian/libc6-i386.symbols.{amd64,x32}: remove
> >      the workaround for GLIBC_ABI_GNU_TLS.  Closes: #1122038.
> >    * debian/control.in/{libc,i386}: ensure that libdpkg-perl is fixed wrt
> >      GLIBC_ABI_GNU_TLS.
> >
> >   -- Aurelien Jarno <aurel32@debian.org>  Sun, 04 Jan 2026 10:07:24 +0100
> > ...
> >
> > Without libcrypt-dev installed on host building shadow-native will
> > fail with:
> >    checking for crypt in -lcrypt... no
> >    configure: error: crypt() not found
> > and python3-native with:
> >    The necessary bits to build these optional modules were not found:
> >    _crypt
> >    To find the necessary bits, look in configure.ac and config.log.
> >
>
> Note that we share the Ubuntu instructions with Debian (and for many
> different versions).
>
> On pkgs.org, libcrypt-dev exists for Debian Bullseye, Bookworm and Trixie.
> I manually installed the package on 22.04, 24.04, 25.04 and 25.10 and
> they all exist.

Yes, the package exists and will probably exist for a long time, it's
just not installed as build-essential dependency anymore.
diff mbox series

Patch

diff --git a/documentation/tools/host_packages_scripts/ubuntu_essential.sh b/documentation/tools/host_packages_scripts/ubuntu_essential.sh
index 6584a0403..6234f885e 100644
--- a/documentation/tools/host_packages_scripts/ubuntu_essential.sh
+++ b/documentation/tools/host_packages_scripts/ubuntu_essential.sh
@@ -1 +1 @@ 
-sudo apt-get install build-essential chrpath cpio debianutils diffstat file gawk gcc git iputils-ping libacl1 locales python3 python3-git python3-jinja2 python3-pexpect python3-pip python3-subunit socat texinfo unzip wget xz-utils zstd
+sudo apt-get install build-essential libcrypt-dev chrpath cpio debianutils diffstat file gawk gcc git iputils-ping libacl1 locales python3 python3-git python3-jinja2 python3-pexpect python3-pip python3-subunit socat texinfo unzip wget xz-utils zstd