Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 815246 - app-admin/keepassxc-2.6.6 - add missing libsodium BDEPEND
Summary: app-admin/keepassxc-2.6.6 - add missing libsodium BDEPEND
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Lars Wendler (Polynomial-C) (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-09-28 16:55 UTC by Alexey Zapparov
Modified: 2021-09-29 15:31 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Fixed ebuild with proper BDEPEND (keepassxc-2.6.6-r1.ebuild,2.36 KB, text/plain)
2021-09-28 16:55 UTC, Alexey Zapparov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Zapparov 2021-09-28 16:55:58 UTC
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.
Comment 1 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2021-09-28 17:47:56 UTC
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.
Comment 2 Alexey Zapparov 2021-09-29 15:31:03 UTC
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