libassert icon indicating copy to clipboard operation
libassert copied to clipboard

Fails to build due to macro redefinition in libdwarf

Open OpenByteDev opened this issue 7 months ago • 8 comments

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

OpenByteDev avatar Jul 02 '25 14:07 OpenByteDev

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?

jeremy-rifkin avatar Jul 02 '25 17:07 jeremy-rifkin

I am using whatever version libassert pulls in by default

OpenByteDev avatar Jul 07 '25 09:07 OpenByteDev

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?

jeremy-rifkin avatar Jul 13 '25 05:07 jeremy-rifkin

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)

OpenByteDev avatar Jul 13 '25 08:07 OpenByteDev

Thanks for the additional information! I tried reproducing with alp_add_git_repository but unfortunately I was unable to do so.

jeremy-rifkin avatar Jul 13 '25 21:07 jeremy-rifkin

That's interesting, I assume you only included libassert?

OpenByteDev avatar Jul 14 '25 21:07 OpenByteDev

Yes indeed

jeremy-rifkin avatar Jul 14 '25 21:07 jeremy-rifkin

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.

jeremy-rifkin avatar Jul 16 '25 18:07 jeremy-rifkin