LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   kodi 15.1 relies on gnutls.so.28 instead of gnutls.so.30 (https://www.linuxquestions.org/questions/slackware-14/kodi-15-1-relies-on-gnutls-so-28-instead-of-gnutls-so-30-a-4175553075/)

1337_powerslacker 09-09-2015 05:46 PM

kodi 15.1 relies on gnutls.so.28 instead of gnutls.so.30
 
I saw that the kodi Slackbuild had been updated to the new version. So I tried to compile the software, only to find out that it has a hard reliance on gnutls.so.28. Is there any way to make this package hard link instead to gnutls.so.30? I am at a loss here. Any help would be greatly appreciated. Thanks.

Regards,

Matt

55020 09-09-2015 06:56 PM

Quote:

Originally Posted by mattallmill (Post 5418245)
it has a hard reliance on gnutls.so.28.

It's not kodi (which builds ok here on -current). Simply, you need to rebuild one or more of kodi's dependencies to pick up -current's new gnutls. Unfortunately there are a lot of dependencies and no clues about which ones need to be rebuilt. That might not be the end of your problems either, because one of kodi's optional dependencies (libcec) won't build in -current at the moment.

This happens all the time with -current. When packages are updated, other packages break and you need to rebuild. You run -current so you can help stabilise it for 14.2, right? So please "don't bring us problems, bring us solutions".

jefro 09-09-2015 07:01 PM

I'm totally newb somedays so maybe I'm not thinking this fully. What would happen if you adjust your make file direct to the version you have?

55020 09-09-2015 07:08 PM

Quote:

Originally Posted by jefro (Post 5418266)
What would happen if you adjust your make file direct to the version you have?

That's "not even wrong". Do you know what a configure script does? That. And kodi has one. And it works.

chris.willing 09-09-2015 08:20 PM

Quote:

Originally Posted by 55020 (Post 5418264)
one of kodi's optional dependencies (libcec) won't build in -current at the moment.

It builds OK on -current here. It (libcec) has a recent additional dependency on "platform" that may cause problems if not present.

chris

55020 09-10-2015 03:45 AM

Re. libcec:
Quote:

Originally Posted by chris.willing (Post 5418289)
It builds OK on -current here.

Well I don't know how you are doing that, because the libcec problem is a known issue in 3.0.1 with a specific solution. Possibly your git package is not fully up to date in -current.

The issue: 112 for Mac and 115 for Gentoo on github, https://aur.archlinux.org/packages/kodi-devel-libcec/ for Arch, many more reports elsewhere

The solution: https://github.com/Pulse-Eight/libcec/commit/2f32a9debc1f148b5dfcfc463480f1432bb71725

chris.willing 09-10-2015 06:55 AM

Quote:

Originally Posted by 55020 (Post 5418403)
Re. libcec:


Well I don't know how you are doing that, because the libcec problem is a known issue in 3.0.1 with a specific solution. Possibly your git package is not fully up to date in -current.

The issue: 112 for Mac and 115 for Gentoo on github, https://aur.archlinux.org/packages/kodi-devel-libcec/ for Arch, many more reports elsewhere

The solution: https://github.com/Pulse-Eight/libcec/commit/2f32a9debc1f148b5dfcfc463480f1432bb71725

Well I just rebuilt 3 times to make sure - using the SBo script (but on -current, not 14.1) with libcec-3.0.1. A difference I see with issue 115 (Gentoo output) and the problem on Arch is that they both mention not being in a git repo - also the fix does something depending on whether .git is found or not. I'm just using the standard 3.0.1 tarball which also has no .git directory, yet that is not mentioned at all my build output which just continues to completion. Other differences I see that may or may not be significant: the Gentoo guy is using python 3, also configuring cmake with -DHAVE_EXYNOS_API=1 (something to do with Samsung phones, I believe).

The only problem I had was on my first attempt when I hadn't noticed the new dependency on the "platform" package. After I dealt with that, libcec was no problem.

chris

ponce 09-10-2015 07:34 AM

FYI, I just tried too on slackware64-current with lockdev and platform installed and it seems I also need that patch to build libcec (log when the patch is not used).

chris.willing 09-10-2015 08:25 AM

Quote:

Originally Posted by ponce (Post 5418458)
FYI, I just tried too on slackware64-current with lockdev and platform installed and it seems I also need that patch to build libcec (log when the patch is not used).

I found the reason I wasn't seeing the problem. I do my building in "throw away" LXC containers which initially contain only a minimal Slackware installation. Whatever other packages might be needed are installed prior build time - git wasn't one of those packages. However when I add git to the list of packages to be installed before building, I also see the same issue.

chris

BratPit 09-10-2015 12:35 PM

Quote:

Originally Posted by mattallmill (Post 5418245)
I saw that the kodi Slackbuild had been updated to the new version. So I tried to compile the software, only to find out that it has a hard reliance on gnutls.so.28. Is there any way to make this package hard link instead to gnutls.so.30? I am at a loss here. Any help would be greatly appreciated. Thanks.

Regards,

Matt

Compile on current OK.
Internal FFmpeg depend on gnutls, but this do not bother compilation process.

escaflown 09-26-2015 02:28 PM

FYI: compiling Kodi 15.1 on -current didn't work for me also with the slackbuild. To get it going, I had to add -latomic to the SLKCFLAGS.

dugan 09-26-2015 02:31 PM

What mattallmill probably needed to do was rebuild ffmpeg, then build kodi.

It was probably ffmpeg that was linked against gnutls 0.28.

This would likely have been clear if mattamil had posted the compilation error.

1337_powerslacker 09-27-2015 08:44 AM

Quote:

Originally Posted by dugan (Post 5426036)
What mattallmill probably needed to do was rebuild ffmpeg, then build kodi.

It was probably ffmpeg that was linked against gnutls 0.28.

This would likely have been clear if mattamil had posted the compilation error.

I did as you suggested, dugan, and rebuilt ffmpeg, then attempted to build kodi. I got the same error. Posted is the error I got:

Code:

/usr/lib64/gcc/x86_64-slackware-linux/4.9.3/../../../../x86_64-slackware-linux/bin/ld: warning: libgnutls.so.28, needed by /usr/lib64/libauthkrb5-samba4.so, not found (try using -rpath or -rpath-link)
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_crt_sign@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_dh_params_deinit@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_transport_set_push_function@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_crt_set_subject_key_id@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_transport_set_ptr@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_record_recv@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_crt_get_key_id@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_deinit@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_crt_set_key_purpose_oid@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_dh_params_generate2@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_global_deinit@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_handshake@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_certificate_set_x509_key_file@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_certificate_set_x509_trust_file@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_privkey_deinit@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_certificate_set_x509_crl_file@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_certificate_set_dh_params@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_record_check_pending@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_crt_set_dn_by_oid@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_crt_export@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_certificate_allocate_credentials@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_certificate_server_set_request@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_privkey_generate@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_init@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_crt_set_activation_time@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_record_send@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_transport_set_pull_function@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_dh_params_import_pkcs3@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_bye@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_record_get_direction@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_privkey_init@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_certificate_free_credentials@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_crt_set_version@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_strerror@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_credentials_set@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_dh_params_init@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_crt_set_serial@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_crt_set_ca_status@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_crt_deinit@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_dh_set_prime_bits@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_certificate_type_set_priority@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_error_is_fatal@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_crt_init@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_privkey_export@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_crt_set_key@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_set_default_priority@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_global_init@GNUTLS_1_4'
/usr/lib64/libauthkrb5-samba4.so: undefined reference to `gnutls_x509_crt_set_expiration_time@GNUTLS_1_4'

Looking again at the error, it seems abundantly clear that I was probably looking at the wrong place for the source of the dependency error. It looks like samba will need a rebuild (I have 4.2.1, so in all likelihood, an upgrade will be in order). I am in the process of building now; I'll keep you posted as to the overall success of this endeavor.

ponce 09-27-2015 08:51 AM

/usr/lib64/libauthkrb5-samba4.so is not in any Slackware package (it doesn't have support for krb5).
I think your problem is that you are using current and built yourself/installed some prebuilt packages from a third party repository, but these were built before the gnutls upgrade in current: samba might not be the only one that needs to be rebuilt.

1337_powerslacker 09-27-2015 09:18 AM

Quote:

Originally Posted by ponce (Post 5426315)
/usr/lib64/libauthkrb5-samba4.so is not in any Slackware package (it doesn't have support for krb5).
I think your problem is that you are using current and built yourself/installed some prebuilt packages from a third party repository, but these were built before the gnutls upgrade in current: samba might not be the only one that needs to be rebuilt.

Before downloading the latest source for samba, I took care to search for the file in samba's package, and pico led me straight to the file in question. Its presence leads me to wonder whether it incorporated krb5 support sometime earlier. Anyway, I successfully built samba-4.3.0, did an upgradepkg, and am currently building kodi. We'll see what happens this time.

EDIT: I posted this shortly before compilation finished (successfully, I might add!) So, in retrospect, it appears that samba was the culprit, and that, at the very least, a rebuild of samba would be necessary.


All times are GMT -5. The time now is 05:50 PM.