first update seems to have worked, but after an `emerge --depclean`, `ldd /usr/lib64/kodi/kodi.bin` gives me: [...] libmysqlclient.so.18 => not found [...] and when trying to reinstall the package, I get: [...] -- Found MicroHttpd: /usr/lib/libmicrohttpd.so (found version "0.9.59") CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message): Could NOT find MySqlClient (missing: MYSQLCLIENT_LIBRARY MYSQLCLIENT_INCLUDE_DIR) Call Stack (most recent call first): /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE) modules/FindMySqlClient.cmake:42 (find_package_handle_standard_args) scripts/common/Macros.cmake:399 (find_package) CMakeLists.txt:144 (core_optional_dep)
Can you please post your builds log? I'm curious to learn what use flags are being used fro media-tv/kodi Also, do you have either of dev-db/mysql-connector-c or dev-db/mariadb-connector-c installed (if so, which)?
I've used USE="mysql mariadb", therefore dev-db/mariadb-connector-c is/was installed. After installing "dev-db/mysql-connector-c" compilation succeeded (did not need full mariadb). The problem are the hardcoded paths here: https://github.com/xbmc/xbmc/blob/Krypton/project/cmake/modules/FindMySqlClient.cmake#L24 For mariadb this should be "mariadb/mysql.h".
Could you please test this patch https://github.com/xbmc/xbmc/commit/db0a931f3dd2ed6012d1c7f6bd5ca94b86bde860.patch and see if it resolves the compatbility problem with dev-db/mariadb-connector-c ?
No, it doesn't. While it can now find the include directory, it fails with the library: CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message): Could NOT find MySqlClient (missing: MYSQLCLIENT_LIBRARY) Call Stack (most recent call first): /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE) modules/FindMySqlClient.cmake:42 (find_package_handle_standard_args) scripts/common/Macros.cmake:399 (find_package) CMakeLists.txt:144 (core_optional_dep) From here: https://github.com/xbmc/xbmc/blob/7e52c1d94d0cbc3f8ace57b1fc74ae1582c5a869/project/cmake/modules/FindMySqlClient.cmake#L25 ... the library is named: /usr/lib64/libmariadb.so.3 btw, the problem with that patch is that it will pick up first mysql-connector-c if that is installed. Maybe better backport from the next kodi version instead, where it is solved properly? https://github.com/xbmc/xbmc/blob/master/CMakeLists.txt#L178 https://github.com/xbmc/xbmc/blob/master/cmake/modules/FindMariaDBClient.cmake
Backporting this won't be a lot of fun, Kodi build system changes a lot between versions 17 and 18. I'm tempted to just removed mariadb support from Kodi 17. BTW, as you said, this should work well with Kodi 18, so you can try that version too.
Can you please try again but with the "mysqlcompat" use flag set on dev-db/mariadb-connector-c? I suspect media-tv/kodi-17.6-r5 will then work fine.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99380603e8cb5ff015392163ea23e78a87b6e04f commit 99380603e8cb5ff015392163ea23e78a87b6e04f Author: Craig Andrews <candrews@gentoo.org> AuthorDate: 2018-10-09 18:21:07 +0000 Commit: Craig Andrews <candrews@gentoo.org> CommitDate: 2018-10-09 20:50:23 +0000 media-tv/kodi: Consistency of mysql/mariadb use flags, fix mariadb Bug: https://bugs.gentoo.org/667918 Closes: https://bugs.gentoo.org/667750 Signed-off-by: Craig Andrews <candrews@gentoo.org> Package-Manager: Portage-2.3.50, Repoman-2.3.11 media-tv/kodi/kodi-17.6-r6.ebuild | 295 ++++++++++++++++++++++++++++++++++++++ media-tv/kodi/kodi-17.6.ebuild | 2 +- 2 files changed, 296 insertions(+), 1 deletion(-)