Created attachment 741782 [details] Fixed ebuild with proper BDEPEND KeePassXC can't be compiled without libsodium installed first: ``` FAILED: src/CMakeFiles/keepassx_core.dir/keys/FileKey.cpp.o /usr/bin/x86_64-pc-linux-gnu-g++ -DKEEPASSX_BUILDING_CORE -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_DEPRECATED_WARNINGS -DQT_NO_EXCEPTIONS -DQT_STRICT_ITERATORS -DQT_SVG_LIB -DQT_WIDGETS_LIB -DWITH_APP_BUNDLE -Isrc/keepassx_core_autogen/include -I/var/tmp/portage/app-admin/keepassxc-2.6.6/work/keepassxc-2.6.6/src -Isrc -I/var/tmp/portage/app-admin/keepassxc-2.6.6/work/keepassxc-2.6.6/src/zxcvbn -I/usr/include/qt5/QtGui/5.15.2 -I/usr/include/qt5/QtGui/5.15.2/QtGui -I/usr/include/qt5/QtCore/5.15.2 -I/usr/include/qt5/QtCore/5.15.2/QtCore -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtSvg -isystem /usr/include/qt5/QtDBus -isystem /usr/include/qt5/QtConcurrent -isystem /usr/include/qt5/QtNetwork -march=native -O2 -pipe -fno-common -Wall -Wextra -Wundef -Wpointer-arith -Wno-long-long -Wformat=2 -Wmissing-format-attribute -fvisibility=hidden -fvisibility-inlines-hidden -fstack-protector-strong -fno-exceptions -fno-rtti -Wnon-virtual-dtor -Wold-style-cast -Woverloaded-virtual -Werror=format-security -Wcast-align -pie -fPIE -std=c++11 -fsized-deallocation -Wno-deprecated-declarations -fPIC -MD -MT src/CMakeFiles/keepassx_core.dir/keys/FileKey.cpp.o -MF src/CMakeFiles/keepassx_core.dir/keys/FileKey.cpp.o.d -o src/CMakeFiles/keepassx_core.dir/keys/FileKey.cpp.o -c /var/tmp/portage/app-admin/keepassxc-2.6.6/work/keepassxc-2.6.6/src/keys/FileKey.cpp /var/tmp/portage/app-admin/keepassxc-2.6.6/work/keepassxc-2.6.6/src/keys/FileKey.cpp:30:10: fatal error: sodium.h: No such file or directory 30 | #include <sodium.h> | ^~~~~~~~~~ compilation terminated. ``` I solved it locally by installing libsodium first: ``` emerge --oneshot dev-libs/libsodium ``` And then installing the keepassx.
BDEPEND is not the proper place to put libsodium dep into. I wonder why libsodium was not installed before keepassxc got emerged because libsodium is in RDEPEND which gets added to DEPEND in the ebuilds.
Hm. You're right, I have misinterpreted BDEPEND and DEPEND difference. :D So. I'm gonna retry from scratch: # emerge --deselect keepassxc && emerge --depclean >>> Unmerging (1 of 3) app-admin/keepassxc-2.6.6-r1... ... >>> Unmerging (3 of 3) dev-libs/libsodium-1.0.18_p20210617... # emerge app-admin/keepassxc These are the packages that would be merged, in order: [ebuild N ] dev-libs/libsodium-1.0.18_p20210617 USE="asm urandom -minimal -static-libs -verify-sig" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="aes sse4_1" [ebuild N ] app-admin/keepassxc-2.6.6 USE="network -autotype -browser -ccache -doc -keeshare -test -yubikey" Oh. This time it worked correctly. It compiled libsodium first. Probably it earlier it was caused by more atoms to be installed and my default setting of: EMERGE_DEFAULT_OPTS="--ask --jobs 4" Sorry. False alarm. All good! :D