#9836 Fails to build on fedora42+ with nodejs24
Closed: fixed by frenaud. Opened by frenaud.

Issue

FreeIPA fails to build on fedora 42+ because of nodejs24.

In fedora 42 and above, nodejs24 is available and provides /usr/bin/node-24 instead of /usr/bin/node. The consequence is that the build fails because it calls the node command in https://pagure.io/freeipa/blob/master/f/install/ui/util/build.sh:

./makerpms.sh
[...]
PYTHON=/usr/bin/python3 ./../../util/make-ui.sh
/root/freeipa/rpmbuild/BUILD/freeipa-4.13.0.dev202507301145+gitd8017371d-build/freeipa-4.13.0.dev202507301145+gitd8017371d/install/ui/util/build.sh: line 35: node: command not found
make[7]: *** [Makefile:641: app.js] Error 127
make[7]: Leaving directory '/root/freeipa/rpmbuild/BUILD/freeipa-4.13.0.dev202507301145+gitd8017371d-build/freeipa-4.13.0.dev202507301145+gitd8017371d/install/ui/build/freeipa'
make[6]: *** [Makefile:489: all-recursive] Error 1
make[6]: Leaving directory '/root/freeipa/rpmbuild/BUILD/freeipa-4.13.0.dev202507301145+gitd8017371d-build/freeipa-4.13.0.dev202507301145+gitd8017371d/install/ui/build'
make[5]: *** [Makefile:558: all-recursive] Error 1
make[5]: Leaving directory '/root/freeipa/rpmbuild/BUILD/freeipa-4.13.0.dev202507301145+gitd8017371d-build/freeipa-4.13.0.dev202507301145+gitd8017371d/install/ui'
make[4]: *** [Makefile:499: all-recursive] Error 1
make[4]: Leaving directory '/root/freeipa/rpmbuild/BUILD/freeipa-4.13.0.dev202507301145+gitd8017371d-build/freeipa-4.13.0.dev202507301145+gitd8017371d/install'
make[3]: *** [Makefile:703: all-recursive] Error 1
make[3]: Leaving directory '/root/freeipa/rpmbuild/BUILD/freeipa-4.13.0.dev202507301145+gitd8017371d-build/freeipa-4.13.0.dev202507301145+gitd8017371d'
make[2]: *** [Makefile:599: all] Error 2
make[2]: Leaving directory '/root/freeipa/rpmbuild/BUILD/freeipa-4.13.0.dev202507301145+gitd8017371d-build/freeipa-4.13.0.dev202507301145+gitd8017371d'
error: Bad exit status from /var/tmp/rpm-tmp.MwZEeS (%build)
RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.MwZEeS (%build)
make[1]: *** [Makefile:1206: _rpms-body] Error 1
make[1]: Leaving directory '/root/freeipa'
make: *** [Makefile:1203: rpms] Error 2

We can stick to nodejs22 until nodejs24 becomes the default in Fedora.


Metadata Update from @frenaud:
- Custom field on_review adjusted to https://github.com/freeipa/freeipa/pull/7895

I saw this in the rawhide side-tag build for tomcat 10. i handled it with:

BuildRequires: nodejs(abi) == 127

master:

  • 52024ed7f394ac5eefebff60b53a2cd938ed7628 Spec file: use nodejs22 on fedora 41+

ipa-4-12:

  • 2863b585d2750cc71d6409da1848124583cabc13 Spec file: use nodejs22 on fedora 41+

Metadata Update from @frenaud:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

Metadata