getting a build error:
[ 40%] Building CXX object CMakeFiles/folly_base.dir/folly/experimental/symbolizer/DwarfUtil.cpp.o
/distro/local/repository/folly/src/folly-2022.04.18.00/folly/experimental/symbolizer/DwarfUtil.cpp: In function ‘bool folly::symbolizer::{anonymous}::findCompiliationOffset(folly::StringPiece, uint64_t, folly::symbolizer::CompilationUnit&)’:
/distro/local/repository/folly/src/folly-2022.04.18.00/folly/experimental/symbolizer/DwarfUtil.cpp:227:18: error: ‘DW_SECT_INFO’ was not declared in this scope
227 | if (index == DW_SECT_INFO) {
| ^~~~~~~~~~~~
/distro/local/repository/folly/src/folly-2022.04.18.00/folly/experimental/symbolizer/DwarfUtil.cpp:229:25: error: ‘DW_SECT_ABBREV’ was not declared in this scope
229 | } else if (index == DW_SECT_ABBREV) {
| ^~~~~~~~~~~~~~
/distro/local/repository/folly/src/folly-2022.04.18.00/folly/experimental/symbolizer/DwarfUtil.cpp:231:25: error: ‘DW_SECT_STR_OFFSETS’ was not declared in this scope
231 | } else if (index == DW_SECT_STR_OFFSETS) {
| ^~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/folly_base.dir/build.make:1784: CMakeFiles/folly_base.dir/folly/experimental/symbolizer/DwarfUtil.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:145: CMakeFiles/folly_base.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
as far as I can tell, the cmake FindLibDwarf.cmake is finding the wrong path to dwarf.h - there are multiples:
/usr/include/lldb/Core/dwarf.h
/usr/include/libdwarf/libdwarf-0/dwarf.h
/usr/include/dwarf.h
the one we want is /usr/include/libdwarf/libdwarf-0/dwarf.h
Pinned Comments
carsme commented on 2023-12-07 04:02 (UTC)
BREAKING CHANGE: This package now builds shared objects:
instead of the static libraries:
Downstream packages must move
folly
from themakedepends
todepends
array to stay functional.We are doing this change since dynamic rather than static linking between packages is more in line with Arch Linux packaging practices (or just Linux packaging practices in general).