If you will look closer on last build log https://kojipkgs.fedoraproject.org//packages/annobin/10.83/1.fc38/data/logs/x86_64/root.log you will find that it builds agains llvm/clang 14.0.x so you may have impression that everything is fine however annobin build fails on clang/llvnannobin 15.0.0 with [tkloczko@devel-g2v annobin-10.83]$ make Making all in doc make[1]: Entering directory '/home/tkloczko/rpmbuild/BUILD/annobin-10.83/doc' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/annobin-10.83/doc' Making all in gcc-plugin make[1]: Entering directory '/home/tkloczko/rpmbuild/BUILD/annobin-10.83/gcc-plugin' make all-am make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/annobin-10.83/gcc-plugin' make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/annobin-10.83/gcc-plugin' make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/annobin-10.83/gcc-plugin' Making all in clang-plugin make[1]: Entering directory '/home/tkloczko/rpmbuild/BUILD/annobin-10.83/clang-plugin' clang++ -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D_FORTIFY_SOURCE=2 -D_GLIBCXX_ASSERTIONS -shared -fPIC -Wall -O2 -flto -g -grecord-gcc-switches -Wl,--build-id=md5 -Wl,-z,now -I./.. -lLLVM annobin.cpp -o annobin-for-clang.so annobin.cpp:202:70: error: no member named 'Ascii' in 'clang::StringLiteral' clang::StringLiteral::Create (Context, text, clang::StringLiteral::Ascii, ~~~~~~~~~~~~~~~~~~~~~~^ 1 error generated. make[1]: *** [Makefile:33: annobin-for-clang.so] Error 1 make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/annobin-10.83/clang-plugin' Second thing is that autoreconf from autoconf 2.71 shows some warnings which would be good to clean + autoreconf -fiv autoreconf: export WARNINGS= autoreconf: Entering directory '.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I config autoreconf: configure.ac: tracing autoreconf: running: libtoolize --copy --force libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'config'. libtoolize: copying file 'config/ltmain.sh' libtoolize: putting macros in 'config'. libtoolize: copying file 'config/libtool.m4' libtoolize: copying file 'config/ltoptions.m4' libtoolize: copying file 'config/ltsugar.m4' libtoolize: copying file 'config/ltversion.m4' libtoolize: copying file 'config/lt~obsolete.m4' libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([config])' to configure.ac, libtoolize: and rerunning libtoolize and aclocal. autoreconf: configure.ac: not using Intltool autoreconf: configure.ac: not using Gtkdoc autoreconf: running: aclocal --force -I config autoreconf: running: /usr/bin/autoconf --force config/annocheck.m4:70: warning: The macro `AC_HELP_STRING' is obsolete. config/annocheck.m4:70: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... config/annocheck.m4:70: the top level configure.ac:10: warning: The macro `AC_CANONICAL_SYSTEM' is obsolete. configure.ac:10: You should run autoupdate. ./lib/autoconf/general.m4:2081: AC_CANONICAL_SYSTEM is expanded from... configure.ac:10: the top level configure.ac:57: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:57: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... config/libgomp.m4:8: GMP is expanded from... configure.ac:57: the top level configure.ac:60: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:60: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... config/annocheck.m4:10: BUILD_ANNOCHECK is expanded from... configure.ac:60: the top level configure.ac:60: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:60: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... config/libelf.m4:8: LIBELF is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... config/annocheck.m4:10: BUILD_ANNOCHECK is expanded from... configure.ac:60: the top level configure.ac:62: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:62: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... config/annocheck.m4:34: BUILD_CLANG_PLUGIN is expanded from... configure.ac:62: the top level configure.ac:64: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:64: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... config/annocheck.m4:43: BUILD_GCC_PLUGIN is expanded from... configure.ac:64: the top level configure.ac:66: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:66: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... config/annocheck.m4:52: BUILD_LLVM_PLUGIN is expanded from... configure.ac:66: the top level configure.ac:68: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:68: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... config/annocheck.m4:61: BUILD_DOCS is expanded from... configure.ac:68: the top level configure.ac:94: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:94: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... config/gcc-plugin.m4:7: GCC_PLUGIN is expanded from... configure.ac:94: the top level configure.ac:144: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:144: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... config/debuginfod.m4:8: DEBUGINFOD is expanded from... configure.ac:144: the top level configure.ac:146: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:146: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... config/disable-rpath.m4:5: DISABLE_RPATH is expanded from... configure.ac:146: the top level autoreconf: running: /usr/bin/autoheader --force autoreconf: running: automake --add-missing --copy --force-missing configure.ac:11: installing 'config/compile' configure.ac:18: installing 'config/missing' autoreconf: Leaving directory '.'
gentle ping :P
(In reply to Tomasz Kłoczko from comment #2) > gentle ping :P Sorry! I have asked the guy who wrote the code in question about how it should be fixed. (I am not a C++/Clang expert, so I do not know what should be done). I agree that the autoconf stuff does need cleaning up and I will get to it in my copious free time(tm). In case you did not know, annobin can now also be configured and built with meson + ninja, which is a much cleaner method. IMHO. Cheers Nick
No problem. If you want I can try to help with autoconf varnings.
(In reply to Tomasz Kłoczko from comment #4) > If you want I can try to help with autoconf varnings. Yes please - all help gratefully received.
@nick I've sent you a patch for the clang 15 error, let's see if that's enough.
Thanks Serge. That patch fixes the build problem. But it turns out that there was a second issue. LLVM-15 no longer supports the -flegacy-pass-manager option, so I had to fix the LLVM plugin test harness code as well. With that done however, annobin now builds, runs and passes its testsuites. Fixed in: annobin-10.84-1.fc38
As far as I can tell, annobin is building successfully against clang 15 on both f37 and f38, so this issue can probably be closed?
Agreed - closing.