Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HarfBuzz configure script fails if gtkdocize is not available #16567

Closed
boegel opened this issue Nov 7, 2022 · 7 comments · Fixed by #16570
Closed

HarfBuzz configure script fails if gtkdocize is not available #16567

boegel opened this issue Nov 7, 2022 · 7 comments · Fixed by #16570
Labels
EESSI Related to EESSI project problem report
Milestone

Comments

@boegel
Copy link
Member

boegel commented Nov 7, 2022

When installing HarfBuzz-2.8.1-GCCcore-10.3.0.eb with --filter-deps=Autoconf,Automake,Autotools, I'm seeing this:

autoreconf-2.71: configure.ac: not using Intltool
autoreconf-2.71: running: gtkdocize --copy
Can't exec "gtkdocize": No such file or directory at /cvmfs/pilot.eessi-hpc.org/versions/2021.12/compat/linux/x86_64/usr/share/autoconf-2.71/Autom4te/FileUtils.pm line 294.
autoreconf-2.71: error: gtkdocize failed with exit status: 2

It seems there's a change in Autoconf 2.71 that's triggering this problem, it's blindly trying to run gtkdocize without actually checking if it's available?!

Similar problem with cairo: spack/spack#23964

@boegel boegel changed the title HarfBuzz configure fails be HarfBuzz configure script fails if gtkdocize is not available Nov 7, 2022
@boegel boegel added this to the 4.x milestone Nov 7, 2022
@boegel
Copy link
Member Author

boegel commented Nov 7, 2022

@branfosj
Copy link
Member

branfosj commented Nov 7, 2022

In my output (without the --filter-deps) I see (I've removed the long paths from this output):

== 2021-11-02 16:55:53,242 run.py:582 INFO cmd "./autogen.sh &&  ./configure --prefix=/rds/bear-apps/2021a/EL8-ice/software/HarfBuzz/2.8.1-GCCcore-10.3.0 --enable-introspection=yes --with-gobject=yes --enable-static --enable-shared --with-cairo " exited with exit code 0 and output:
checking for pkg-config... /rds/bear-apps/2021a/EL8-ice/software/pkg-config/0.29.2-GCCcore-10.3.0/bin/pkg-config
checking for libtoolize... which: no glibtoolize in ...
/rds/bear-apps/2021a/EL8-ice/software/libtool/2.4.6-GCCcore-10.3.0/bin/libtoolize
checking for gtkdocize... which: no gtkdocize in ...
*** No gtkdocize (gtk-doc) found, skipping documentation ***
checking for autoreconf... /rds/bear-apps/2021a/EL8-ice/software/Autoconf/2.71-GCCcore-10.3.0/bin/autoreconf
running autoreconf --force --install --verbose
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: aclocal --force -I m4
autoreconf: running: /rds/bear-apps/2021a/EL8-ice/software/Autoconf/2.71-GCCcore-10.3.0/bin/autoconf --force

@boegel
Copy link
Member Author

boegel commented Nov 7, 2022

@branfosj So with the vanilla Autoconf 2.71 there's no problem... :-/

@branfosj
Copy link
Member

branfosj commented Nov 7, 2022

This is the autogen.sh script it is running and where the `gtkdocize check is made: https://github.com/harfbuzz/harfbuzz/blob/main/autogen.sh

printf "checking for gtkdocize... "
if which gtkdocize ; then
	gtkdocize --copy || exit 1
else
	echo "*** No gtkdocize (gtk-doc) found, skipping documentation ***"
	echo "EXTRA_DIST = " > gtk-doc.make
fi

@boegel
Copy link
Member Author

boegel commented Nov 7, 2022

That's... interesting. Because here's the more complete output I'm seeing, where both the "No gtkdocize" output is there, yet it's still trying to run gtkdocize --copy:

checking for gtkdocize... which: no gtkdocize in (<...long $PATH value omitted...>)
*** No gtkdocize (gtk-doc) found, skipping documentation ***
checking for autoreconf... /cvmfs/pilot.eessi-hpc.org/versions/2021.12/compat/linux/x86_64/usr/bin/autoreconf
running autoreconf --force --install --verbose
autoreconf-2.71: export WARNINGS=
autoreconf-2.71: Entering directory '.'
autoreconf-2.71: configure.ac: not using Gettext
autoreconf-2.71: running: aclocal --force -I m4
autoreconf-2.71: configure.ac: tracing
autoreconf-2.71: running: libtoolize --copy --force
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
autoreconf-2.71: configure.ac: not using Intltool
autoreconf-2.71: running: gtkdocize --copy
Can't exec "gtkdocize": No such file or directory at /cvmfs/pilot.eessi-hpc.org/versions/2021.12/compat/linux/x86_64/usr/share/autoconf-2.71/Autom4te/FileUtils.pm line 294.
autoreconf-2.71: error: gtkdocize failed with exit status: 2

@boegel
Copy link
Member Author

boegel commented Nov 7, 2022

Quick (and dirty) workaround that works is to use this in the HarfBuzz easyconfig:

preconfigopts = "GTKDOCIZE=echo ./autogen.sh && "

@boegel boegel added the EESSI Related to EESSI project label Nov 7, 2022
boegel added a commit to boegel/easybuild-easyconfigs that referenced this issue Nov 7, 2022
@boegel
Copy link
Member Author

boegel commented Nov 7, 2022

fixed in #16570

ocaisa added a commit that referenced this issue Nov 15, 2022
define $GTKDOCIZE as 'echo' before generating configure script for recent HarfBuzz versions (fixes #16567)
@boegel boegel modified the milestones: 4.x, next release (4.7.0) Nov 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
EESSI Related to EESSI project problem report
Projects
None yet
2 participants