Fails to build due to macro redefinition in libdwarf
v2.2.0 fails to build due to PACKAGE_VERSION being redefined in libdwarf, v2.1.0 builds fine
[main] Building folder: /home/user/test/build test
[build] Starting build
[proc] Executing command: /usr/bin/cmake --build /home/user/test/build --config RelWithDebInfo --target test --
[build] [13/21 4% :: 0.068] Building C object _deps/libdwarf-build/src/lib/libdwarf/CMakeFiles/dwarf.dir/dwarf_util.c.o
[build] FAILED: _deps/libdwarf-build/src/lib/libdwarf/CMakeFiles/dwarf.dir/dwarf_util.c.o
[build] /usr/bin/gcc-14 -DLIBDWARF_STATIC -DPIC -DSPDLOG_ACTIVE_LEVEL=SPDLOG_LEVEL_TRACE -I/home/user/test/build/_deps/libdwarf-build -I/home/user/test/build/_deps/libdwarf-src/src/lib/libdwarf -I/home/user/test/build/_deps/zstd-src/lib -isystem /home/user/test/build/_deps/zstd-src/build/cmake/../../lib -O2 -g -DNDEBUG -fPIC -MD -MT _deps/libdwarf-build/src/lib/libdwarf/CMakeFiles/dwarf.dir/dwarf_util.c.o -MF _deps/libdwarf-build/src/lib/libdwarf/CMakeFiles/dwarf.dir/dwarf_util.c.o.d -o _deps/libdwarf-build/src/lib/libdwarf/CMakeFiles/dwarf.dir/dwarf_util.c.o -c /home/user/test/build/_deps/libdwarf-src/src/lib/libdwarf/dwarf_util.c
[build] In file included from /home/user/test/build/_deps/libdwarf-src/src/lib/libdwarf/dwarf_util.c:32:
[build] /home/user/test/build/_deps/libdwarf-build/config.h:91:9: warning: "PACKAGE_VERSION" redefined
[build] 91 | #define PACKAGE_VERSION 6.0.1
[build] | ^~~~~~~~~~~~~~~
[build] /home/user/test/build/_deps/libdwarf-build/config.h:61:9: note: this is the location of the previous definition
[build] 61 | #define PACKAGE_VERSION "2.0.0"
[build] | ^~~~~~~~~~~~~~~
[build] /home/user/test/build/_deps/libdwarf-src/src/lib/libdwarf/dwarf_util.c: In function ‘dwarf_package_version’:
[build] /home/user/test/build/_deps/libdwarf-build/config.h:91:25: error: too many decimal points in number
[build] 91 | #define PACKAGE_VERSION 6.0.1
[build] | ^~~~~
[build] /home/user/test/build/_deps/libdwarf-src/src/lib/libdwarf/dwarf_util.c:72:12: note: in expansion of macro ‘PACKAGE_VERSION’
[build] 72 | return PACKAGE_VERSION;
[build] | ^~~~~~~~~~~~~~~
[build] [13/21 9% :: 1.902] Building CXX object alp_external/libassert/CMakeFiles/libassert-lib.dir/src/platform.cpp.o
[build] [13/21 19% :: 2.502] Building CXX object alp_external/libassert/CMakeFiles/libassert-lib.dir/src/printing.cpp.o
[build] [13/21 23% :: 2.795] Building CXX object alp_external/libassert/CMakeFiles/libassert-lib.dir/src/tokenizer.cpp.o
[build] [13/21 28% :: 3.065] Building CXX object alp_external/libassert/CMakeFiles/libassert-lib.dir/src/stringification.cpp.o
[build] [13/21 33% :: 3.257] Building CXX object alp_external/libassert/CMakeFiles/libassert-lib.dir/src/paths.cpp.o
[build] [13/21 38% :: 3.407] Building CXX object alp_external/libassert/CMakeFiles/libassert-lib.dir/src/utils.cpp.o
[build] [13/21 42% :: 4.925] Building CXX object alp_external/libassert/CMakeFiles/libassert-lib.dir/src/assert.cpp.o
[build] [13/21 52% :: 9.103] Building CXX object alp_external/libassert/CMakeFiles/libassert-lib.dir/src/analysis.cpp.o
Hi, this looks like a libdwarf issue but also I can't seem to reproduce it. What version of libdwarf are you using? Do you have steps I can follow to reproduce?
I am using whatever version libassert pulls in by default
I can't seem to reproduce on tag v2.2.0. What cmake version are you using? Is there any more information you can provide that might help me reproduce?
I am using a custom FetchContent alternative called alp_add_git_repository as such:
alp_add_git_repository(libassert URL https://github.com/jeremy-rifkin/libassert.git COMMITISH v2.1.0)
Thanks for the additional information! I tried reproducing with alp_add_git_repository but unfortunately I was unable to do so.
That's interesting, I assume you only included libassert?
Yes indeed
Since this is an upstream issue I think the best course of action here is to report to wherever alp_add_git_repository comes from, I don't think this is an issue with libdwarf.