2016-01-02, 02:20
Building latest kodi-head,
my build's failing at
checking config.log, the libssh check is
Starting to poke around, my distro's apparently stripped symbols
Digging in the kodi sources,
I see references to BOTH libssh & libssh2.
atm, I libssh won't build locally (https://www.libssh.org/archive/libssh/20...00000.html), but libssh2 does, with libssh2-specific sftp_tell64 symbols,
Applying this patch to source
allows configure to get past the ssh symbol error
but I'm still getting _other_ configure errors that're preventing me from completing make, so can't tell whether kodi builds with this libssh2 in place
Q: Why does kodi src refer to both libssh & libssh2? And is the sftp_tell64 what's wanted/needed?
Code:
git log | head
commit 4bac6f8c6a9fc41ec4b20dd5e0a3f9b64d3ad2dd
Merge: c852b64 78cfab5
Author: xxx <xxx>
Date: Fri Jan 1 22:33:54 2016 +0100
my build's failing at
Code:
...
checking for DRM... yes
checking for EGL... yes
checking for sftp_tell64 in -lssh... no
configure: error: == Could not find libssh. ==
checking config.log, the libssh check is
Code:
...
configure:28411: checking for sftp_tell64 in -lssh
configure:28436: /usr/bin/gcc-5 -o conftest -O2 -g -D_DEBUG -Wall ...
/usr/lib64/libssh.so: undefined reference to `CRYPTO_set_id_callback'
/usr/lib64/libssh.so: undefined reference to `DSA_generate_parameters'
collect2: error: ld returned 1 exit status
configure:28436: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "kodi"
| #define PACKAGE_TARNAME "kodi"
| #define PACKAGE_VERSION "16.9.701"
| #define PACKAGE_STRING "kodi 16.9.701"
...
| #define HAVE_X11 1
| /* end confdefs.h. */
|
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char sftp_tell64 ();
| int
| main ()
| {
| return sftp_tell64 ();
| ;
| return 0;
| }
configure:28445: result: no
configure:28455: error: == Could not find libssh. ==
...
Starting to poke around, my distro's apparently stripped symbols
Code:
nm /usr/lib64/libssh* | grep sftp_tell64
nm: /usr/lib64/libssh2.so: no symbols
nm: /usr/lib64/libssh2.so.1: no symbols
nm: /usr/lib64/libssh2.so.1.0.1: no symbols
nm: /usr/lib64/libssh.so: no symbols
nm: /usr/lib64/libssh.so.4: no symbols
nm: /usr/lib64/libssh.so.4.4.0: no symbols
nm: /usr/lib64/libssh_threads.so: no symbols
nm: /usr/lib64/libssh_threads.so.4: no symbols
nm: /usr/lib64/libssh_threads.so.4.4.0: no symbols
Digging in the kodi sources,
Code:
find . | grep libssh
./tools/depends/target/libssh2
./tools/depends/target/libssh2/Makefile
./tools/depends/target/libssh2/libdl.patch
./tools/depends/target/libssh
./tools/depends/target/libssh/ntohl.patch
./tools/depends/target/libssh/darwin.patch
./tools/depends/target/libssh/removelegacy.patch
./tools/depends/target/libssh/fix-gcc-5-compile.patch
./tools/depends/target/libssh/android.patch
./tools/depends/target/libssh/Makefile
./tools/depends/target/libssh/md5.patch
I see references to BOTH libssh & libssh2.
atm, I libssh won't build locally (https://www.libssh.org/archive/libssh/20...00000.html), but libssh2 does, with libssh2-specific sftp_tell64 symbols,
Code:
nm /usr/local/lib64/libssh2*so* | grep sftp_tell64
000000000001767a T libssh2_sftp_tell64
000000000001767a T libssh2_sftp_tell64
000000000001767a T libssh2_sftp_tell64
Applying this patch to source
Code:
--- configure.ac.ORIG 2016-01-01 12:09:23.777073577 -0800
+++ configure.ac 2016-01-01 15:44:15.647714859 -0800
@@ -1405,12 +1405,12 @@
USE_TOUCH_SKIN=0
fi
-# libssh
+# libssh2
if test "x$use_ssh" = "xno"; then
AC_MSG_NOTICE($ssh_disabled)
use_libssh="no"
else
- AC_CHECK_LIB([ssh], [sftp_tell64],, AC_MSG_ERROR($ssh_not_found))
+ AC_CHECK_LIB([ssh2], [libssh2_sftp_tell64],, AC_MSG_ERROR($ssh_not_found))
AC_DEFINE([HAVE_LIBSSH], [1], [Whether to use libSSH library.])
fi
allows configure to get past the ssh symbol error
Code:
...
checking for libssh2_sftp_tell64 in -lssh2... yes
...
but I'm still getting _other_ configure errors that're preventing me from completing make, so can't tell whether kodi builds with this libssh2 in place
Q: Why does kodi src refer to both libssh & libssh2? And is the sftp_tell64 what's wanted/needed?