Linux [kodi18] build + Openssl v110 fails @link : undef'd syms in CryptThreading.cpp
#1
I'm working on a build of kodi18 trunk,

Code:
    git log | head
        commit 9e368f27c912b62d97d9f934ca434bc9f5f684d8
        Merge: 4fea28c221 d59a3409a8
        Author: Garrett Brown <[email protected]>
        Date:   Sun Apr 2 13:47:33 2017 -0700

            Merge pull request #11925 from garbear/update-headers

            Copyright header update for games, joysticks and RetroPlayer

        commit 4fea28c2210a53df804dbf2ba1fda5454aa3a415

on linux64, + ffmpeg bumped to xbmc/3.2 branch, FMT 3.0.1-branch, & openssl 1.1.0e libs & headers

with my as-usual cmake config,

Code:
cmake .. \
...
  -DENABLE_OPENSSL=1 \
   -DOPENSSL_INCLUDE_DIR=/usr/local/openssl11/include \
   -DOPENSSL_CRYPTO_LIBRARY=/usr/local/openssl11/lib64/libcrypto.so \
   -DOPENSSL_SSL_LIBRARY=/usr/local/openssl11/lib64/libssl.so \
...

build makes it all the way through 'til link time, failing at

Code:
Scanning dependencies of target libkodi
gmake[2]: Leaving directory '/work/kodi18/kodi/build'
/usr/bin/gmake -f CMakeFiles/libkodi.dir/build.make CMakeFiles/libkodi.dir/build
gmake[2]: Entering directory '/work/kodi18/kodi/build'
[100%] Linking CXX static library libkodi.a
/usr/bin/cmake -P CMakeFiles/libkodi.dir/cmake_clean_target.cmake
/usr/bin/cmake -E cmake_link_script CMakeFiles/libkodi.dir/link.txt --verbose=1
/usr/bin/ar qc libkodi.a  CMakeFiles/compileinfo.dir/build/xbmc/CompileInfo.cpp.o
/usr/bin/ranlib libkodi.a
gmake[2]: Leaving directory '/work/kodi18/kodi/build'
[100%] Built target libkodi
/usr/bin/gmake -f CMakeFiles/kodi.dir/build.make CMakeFiles/kodi.dir/depend
gmake[2]: Entering directory '/work/kodi18/kodi/build'
cd /work/kodi18/kodi/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /work/kodi18/kodi /work/kodi18/kodi /work/kodi18/kodi/build /work/kodi18/kodi/build /work/kodi18/kodi/build/CMakeFiles/kodi.dir/DependInfo.cmake --color=
Dependee "/work/kodi18/kodi/build/CMakeFiles/kodi.dir/DependInfo.cmake" is newer than depender "/work/kodi18/kodi/build/CMakeFiles/kodi.dir/depend.internal".
Dependee "/work/kodi18/kodi/build/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/work/kodi18/kodi/build/CMakeFiles/kodi.dir/depend.internal".
Scanning dependencies of target kodi
gmake[2]: Leaving directory '/work/kodi18/kodi/build'
/usr/bin/gmake -f CMakeFiles/kodi.dir/build.make CMakeFiles/kodi.dir/build
gmake[2]: Entering directory '/work/kodi18/kodi/build'
[100%] Building CXX object CMakeFiles/kodi.dir/xbmc/platform/posix/main.cpp.o
/usr/bin/g++   -DNPT_CONFIG_ENABLE_LOGGING -Dkodi_EXPORTS -I/work/kodi18/kodi -I/work/kodi18/kodi/lib -I/work/kodi18/kodi/lib/gtest/include -I/work/kodi18/kodi/xbmc -I/work/kodi18/kodi/xbmc/linux -I/work/kodi18/kodi/xbmc/cores/VideoPlayer -I/work/kodi18/kodi/build/build -I/work/kodi18/kodi/build/build/cpluff/include -I/work/kodi18/kodi/build/build/include -I/usr/local/include -I/work/kodi18/kodi/build/build/libdvd/include -I/usr/include/lzo -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/local/mariadb/include -I/usr/include/python2.7 -I/usr/include/libxml2 -I/usr/include/libdrm -I/work/kodi18/kodi/lib/libUPnP -I/work/kodi18/kodi/lib/libUPnP/Platinum/Source/Core -I/work/kodi18/kodi/lib/libUPnP/Platinum/Source/Platinum -I/work/kodi18/kodi/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/work/kodi18/kodi/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/work/kodi18/kodi/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/work/kodi18/kodi/lib/libUPnP/Platinum/Source/Extras -I/work/kodi18/kodi/lib/libUPnP/Neptune/Source/Core -I/work/kodi18/kodi/lib/libUPnP/Neptune/Source/System/Posix  -O3 -Wall -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fmessage-length=0 -grecord-gcc-switches -march=native -mtune=native -std=c++11 -I/usr/include/freetype2 -I/usr/local/include -O3 -DNDEBUG -s   -D_LINUX -DTARGET_POSIX -DTARGET_LINUX -DHAVE_SSE=1 -DHAVE_SSE2=1 -DHAVE_SSE3=1 -D__STDC_CONSTANT_MACROS -D_FILE_DEFINED -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_STD__U16_STRING=1 -DHAVE_STD__U32_STRING=1 -DHAVE_CHAR16_T=1 -DHAVE_CHAR32_T=1 -DHAVE_STDINT_H=1 -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_INTTYPES_H=1 -DFFMPEG_VER_SHA=\"release/3.2-xbmc\" -DUSE_STATIC_FFMPEG=1 -I/usr/include/fribidi -DHAVE_ALSA=1 -DUSE_ALSA=1 -DHAVE_DBUS=1 -DHAVE_LCMS2=1 -DHAVE_LIBMICROHTTPD=1 -DHAVE_MYSQL=1 -DHAS_PYTHON=1 -DHAVE_LIBSSH=1 -DHAVE_LIBUDEV=1 -DHAVE_LIBVA=1 -DHAVE_LIBVDPAU=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBCEC=1 -DHAVE_LIBNFS=1 -DHAVE_OPENSSL=1 -DUSE_UPNP=1 -DHAVE_XBMC_NONFREE=1 -DHAS_DVD_DRIVE -DLIRC_DEVICE=\"/var/run/lirc/lircd\" -DHAVE_LIRC=1 -DHAVE_LIBGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_LIBEGL=1 -DBIN_INSTALL_PATH=\"/usr/local/kodi/lib64/kodi\" -DINSTALL_PATH=\"/usr/local/kodi/share/kodi\" -std=c++11 -o CMakeFiles/kodi.dir/xbmc/platform/posix/main.cpp.o -c /work/kodi18/kodi/xbmc/platform/posix/main.cpp
[100%] Linking CXX executable kodi.bin
/usr/bin/cmake -E cmake_link_script CMakeFiles/kodi.dir/link.txt --verbose=1
/work/kodi18/kodi/build/build/ffmpeg-link-wrapper /usr/bin/g++  -O3 -Wall -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fmessage-length=0 -grecord-gcc-switches -march=native -mtune=native -std=c++11 -I/usr/include/freetype2 -I/usr/local/include -O3 -DNDEBUG -s  -L/usr/local/lib64 -Wl,-rpath,/usr/local/lib64 -fuse-ld=gold -Wl,--export-dynamic CMakeFiles/kodi.dir/xbmc/platform/posix/main.cpp.o -o kodi.bin -Wl,-rpath,/usr/local/lib64:/usr/local/mariadb/lib64:/usr/local/openssl11/lib64: -rdynamic -Wl,--whole-archive build/network/httprequesthandler/python/network_httprequesthandlers_python.a build/network/httprequesthandler/network_httprequesthandlers.a build/network/upnp/network_upnp.a build/upnp/libupnp.a build/build/swig/libpython_binding.a build/interfaces/python/python_interface.a build/interfaces/legacy/wsgi/legacy_interface_wsgi.a build/interfaces/legacy/legacy_interface.a build/rendering/gl/rendering_gl.a build/unrarxlib/libunrarxlib.a build/cdrip/cdrip.a build/posix/platform_posix.a build/windowing/X11/windowing_X11.a build/utils_posix/utils_posix.a build/filesystem/posix/filesystem_posix.a build/storage/linux/storage_linux.a build/powermanagement/linux/powermanagement_linux.a build/peripherals/bus/linux/peripherals_bus_linux.a build/network/linux/network_linux.a build/input/touch/generic/input_touch_generic.a build/input/touch/input_touch.a build/input/linux/input_linux.a build/linuxsupport/linuxsupport.a build/cores/VideoPlayer/videorenderers/hwdec/videorenderers_hwdec.a build/cores/VideoPlayer/videorenderers/shaders/videoshaders.a build/cores/VideoPlayer/videorenderers/videorenderers.a build/cores/VideoPlayer/process/process.a build/cores/VideoPlayer/subtitles/dvdsubtitles.a build/cores/VideoPlayer/inputstreams/dvdinputstreams.a build/cores/VideoPlayer/demuxers/dvddemuxers.a build/cores/VideoPlayer/codecs/video/dvdvideocodecs.a build/cores/VideoPlayer/codecs/overlay/dvdoverlaycodecs.a build/cores/VideoPlayer/codecs/audio/dvdaudiocodecs.a build/cores/VideoPlayer/codecs/dvdcodecs.a build/cores/VideoPlayer/VideoPlayer.a build/video/windows/video_windows.a build/video/jobs/video_jobs.a build/video/dialogs/video_dialogs.a build/video/video.a build/windows/windows.a build/windowing/windowing.a build/view/view.a build/utils/utils.a build/threads/threads.a build/storage/storage.a build/rendering/rendering.a build/programs/programs.a build/powermanagement/powermanagement.a build/playlists/playlists.a build/platform/platform_common.a build/pictures/pictures.a build/messagingHelpers/messagingHelpers.a build/messaging/messaging.a build/media/media.a build/listproviders/listproviders.a build/input/mouse/generic/input_mouse_generic.a build/input/mouse/input_mouse.a build/input/keyboard/generic/input_keyboard_generic.a build/input/keyboard/input_keyboard.a build/input/joysticks/generic/input_joystick_generic.a build/input/joysticks/dialogs/input_joystick_dialogs.a build/input/joysticks/input_joystick.a build/input/input.a build/guilib/guilib.a build/epg/epg.a build/dialogs/dialogs.a build/dbwrappers/dbwrappers.a build/commons/commons.a build/addonCallbacks_PVR/addonInterface_PVR.a build/addonCallbacks_Peripheral/addonInterface_Peripheral.a build/addonCallbacks_InputStream/addonInterface_InputStream.a build/addonCallbacks_GUI/addonInterface_GUI.a build/addonCallbacks_Game/addonCallbacks_Game.a build/addonCallbacks_Codec/addonInterface_Codec.a build/addonCallbacks_AudioEngine/addonInterface_AudioEngine.a build/addonCallbacks_AudioDSP/addonInterface_AudioDSP.a build/addonCallbacks_Addon/addonInterface_Addon.a build/addonsBinaryInterfaces/addonsBinaryInterfaces.a build/addons/addons.a build/xbmc/xbmc.a build/settings/windows/settings_windows.a build/settings/lib/settings_lib.a build/settings/dialogs/settings_dialogs.a build/settings/settings.a build/pvr/windows/pvr_windows.a build/pvr/timers/pvr_timers.a build/pvr/recordings/pvr_recordings.a build/pvr/dialogs/pvr_dialogs.a build/pvr/channels/pvr_channels.a build/pvr/addons/pvr_addons.a build/pvr/pvr.a build/profiles/windows/profiles_windows.a build/profiles/dialogs/profiles_dialogs.a build/profiles/profiles.a build/peripherals/dialogs/peripherals_dialogs.a build/peripherals/devices/peripherals_devices.a build/peripherals/bus/virtual/peripheral_bus_virtual.a build/peripherals/bus/peripherals_bus.a build/peripherals/addons/peripherals_addons.a build/peripherals/peripherals.a build/network/websocket/network_websockets.a build/network/network.a build/music/windows/music_windows.a build/music/tags/music_tags.a build/music/infoscanner/music_infoscanner.a build/music/dialogs/music_dialogs.a build/music/music.a build/interfaces/json-rpc/jsonrpc_interface.a build/interfaces/info/info_interface.a build/interfaces/generic/generic_interface.a build/interfaces/builtins/interfaces_builtins.a build/interfaces/interfaces.a build/games/windows/gameswindows.a build/games/tags/gametags.a build/games/ports/gameports.a build/games/dialogs/gamedialogs.a build/games/controllers/windows/games_controller_windows.a build/games/controllers/guicontrols/games_controller_guicontrols.a build/games/controllers/dialogs/games_controller_dialogs.a build/games/controllers/games_controller.a build/games/addons/savestates/gamesavestates.a build/games/addons/playback/gameplayback.a build/games/addons/gameaddons.a build/games/games.a build/filesystem/musicdatabase/musicdatabasedirectory.a build/filesystem/videodatabase/videodatabasedirectory.a build/filesystem/filesystem.a build/kissfft/kissfft.a build/events/windows/events_windows.a build/events/events.a build/cores/RetroPlayer/retroplayer.a build/cores/playercorefactory/playercorefactory.a build/cores/paplayer/paplayer.a build/cores/externalplayer/externalplayer.a build/cores/dll-loader/exports/util/exports_utils.a build/cores/dll-loader/exports/dllexports.a build/cores/dll-loader/dllloader.a build/cores/audioengine/audioengine.a build/cores/cores.a -Wl,--no-whole-archive libkodi.a -lpthread -lcdio build/lib/libcrossguid.a -luuid /usr/local/lib64/libfmt.so -lfreetype -lfribidi build/libdvd/lib/libdvdnav.a build/libdvd/lib/libdvdread.a build/libdvd/lib/libdvdcss.a -llzo2 /usr/local/lib64/libpcrecpp.so /usr/local/lib64/libpcre.so -lsqlite3 -ltag -ltinyxml -lz -lasound -lbluetooth -lcap -ldbus-1 -llcms2 /usr/local/lib64/libmicrohttpd.so -lmicrohttpd -lgcrypt -ldl -lgpg-error -lgnutls -lz -lp11-kit -lgmp -lhogweed -lgmp -lnettle -ltasn1 -lp11-kit -lz /usr/local/mariadb/lib64/libmariadb.so -lpython2.7 -lpthread -ldl -lutil -lpython2.7 /usr/local/lib64/libssh2.so -ludev -lva -lva-x11 -lva-drm /usr/local/lib64/libvdpau.so -lxslt -lxml2 /usr/local/openssl11/lib64/libssl.so /usr/local/openssl11/lib64/libcrypto.so -lGL -lGLU -lX11 -lXext -lXrandr -ldrm -lEGL build/network/httprequesthandler/python/network_httprequesthandlers_python.a build/network/httprequesthandler/network_httprequesthandlers.a build/network/upnp/network_upnp.a build/build/swig/libpython_binding.a build/interfaces/python/python_interface.a build/interfaces/legacy/wsgi/legacy_interface_wsgi.a build/interfaces/legacy/legacy_interface.a build/rendering/gl/rendering_gl.a build/unrarxlib/libunrarxlib.a build/cdrip/cdrip.a build/posix/platform_posix.a build/windowing/X11/windowing_X11.a build/utils_posix/utils_posix.a build/filesystem/posix/filesystem_posix.a build/storage/linux/storage_linux.a build/powermanagement/linux/powermanagement_linux.a build/peripherals/bus/linux/peripherals_bus_linux.a build/network/linux/network_linux.a build/input/touch/generic/input_touch_generic.a build/input/touch/input_touch.a build/input/linux/input_linux.a build/linuxsupport/linuxsupport.a build/cores/VideoPlayer/videorenderers/hwdec/videorenderers_hwdec.a build/cores/VideoPlayer/videorenderers/shaders/videoshaders.a build/cores/VideoPlayer/videorenderers/videorenderers.a build/cores/VideoPlayer/process/process.a build/cores/VideoPlayer/subtitles/dvdsubtitles.a build/cores/VideoPlayer/inputstreams/dvdinputstreams.a build/cores/VideoPlayer/demuxers/dvddemuxers.a build/cores/VideoPlayer/codecs/video/dvdvideocodecs.a build/cores/VideoPlayer/codecs/overlay/dvdoverlaycodecs.a build/cores/VideoPlayer/codecs/audio/dvdaudiocodecs.a build/cores/VideoPlayer/codecs/dvdcodecs.a build/cores/VideoPlayer/VideoPlayer.a build/video/windows/video_windows.a build/video/jobs/video_jobs.a build/video/dialogs/video_dialogs.a build/video/video.a build/windows/windows.a build/windowing/windowing.a build/view/view.a build/utils/utils.a build/threads/threads.a build/storage/storage.a build/rendering/rendering.a build/programs/programs.a build/powermanagement/powermanagement.a build/playlists/playlists.a build/platform/platform_common.a build/pictures/pictures.a build/messagingHelpers/messagingHelpers.a build/messaging/messaging.a build/media/media.a build/listproviders/listproviders.a build/input/mouse/generic/input_mouse_generic.a build/input/mouse/input_mouse.a build/input/keyboard/generic/input_keyboard_generic.a build/input/keyboard/input_keyboard.a build/input/joysticks/generic/input_joystick_generic.a build/input/joysticks/dialogs/input_joystick_dialogs.a build/input/joysticks/input_joystick.a build/input/input.a build/guilib/guilib.a build/epg/epg.a build/dialogs/dialogs.a build/dbwrappers/dbwrappers.a build/commons/commons.a build/addonCallbacks_PVR/addonInterface_PVR.a build/addonCallbacks_Peripheral/addonInterface_Peripheral.a build/addonCallbacks_InputStream/addonInterface_InputStream.a build/addonCallbacks_GUI/addonInterface_GUI.a build/addonCallbacks_Game/addonCallbacks_Game.a build/addonCallbacks_Codec/addonInterface_Codec.a build/addonCallbacks_AudioEngine/addonInterface_AudioEngine.a build/addonCallbacks_AudioDSP/addonInterface_AudioDSP.a build/addonCallbacks_Addon/addonInterface_Addon.a build/addonsBinaryInterfaces/addonsBinaryInterfaces.a build/addons/addons.a build/xbmc/xbmc.a build/settings/windows/settings_windows.a build/settings/lib/settings_lib.a build/settings/dialogs/settings_dialogs.a build/settings/settings.a build/pvr/windows/pvr_windows.a build/pvr/timers/pvr_timers.a build/pvr/recordings/pvr_recordings.a build/pvr/dialogs/pvr_dialogs.a build/pvr/channels/pvr_channels.a build/pvr/addons/pvr_addons.a build/pvr/pvr.a build/profiles/windows/profiles_windows.a build/profiles/dialogs/profiles_dialogs.a build/profiles/profiles.a build/peripherals/dialogs/peripherals_dialogs.a build/peripherals/devices/peripherals_devices.a build/peripherals/bus/virtual/peripheral_bus_virtual.a build/peripherals/bus/peripherals_bus.a build/peripherals/addons/peripherals_addons.a build/peripherals/peripherals.a build/network/websocket/network_websockets.a build/network/network.a build/music/windows/music_windows.a build/music/tags/music_tags.a build/music/infoscanner/music_infoscanner.a build/music/dialogs/music_dialogs.a build/music/music.a build/interfaces/json-rpc/jsonrpc_interface.a build/interfaces/info/info_interface.a build/interfaces/generic/generic_interface.a build/interfaces/builtins/interfaces_builtins.a build/interfaces/interfaces.a build/games/windows/gameswindows.a build/games/tags/gametags.a build/games/ports/gameports.a build/games/dialogs/gamedialogs.a build/games/controllers/windows/games_controller_windows.a build/games/controllers/guicontrols/games_controller_guicontrols.a build/games/controllers/dialogs/games_controller_dialogs.a build/games/controllers/games_controller.a build/games/addons/savestates/gamesavestates.a build/games/addons/playback/gameplayback.a build/games/addons/gameaddons.a build/games/games.a build/filesystem/musicdatabase/musicdatabasedirectory.a build/filesystem/videodatabase/videodatabasedirectory.a build/filesystem/filesystem.a build/upnp/libupnp.a build/kissfft/kissfft.a build/events/windows/events_windows.a build/events/events.a build/cores/RetroPlayer/retroplayer.a build/cores/playercorefactory/playercorefactory.a build/cores/paplayer/paplayer.a build/cores/externalplayer/externalplayer.a build/cores/dll-loader/exports/util/exports_utils.a build/cores/dll-loader/exports/dllexports.a build/cores/dll-loader/dllloader.a build/cores/audioengine/audioengine.a build/cores/cores.a -lgpg-error -lgnutls -lz -lp11-kit -lgmp -lhogweed -lnettle -ltasn1 /usr/local/mariadb/lib64/libmariadb.so -lpython2.7 -lpthread -lutil -lpython2.7 /usr/local/lib64/libssh2.so -ludev -lva -lva-x11 -lva-drm /usr/local/lib64/libvdpau.so -lxslt -lxml2 /usr/local/openssl11/lib64/libssl.so /usr/local/openssl11/lib64/libcrypto.so -lGL -lGLU -lX11 -lXext -lXrandr -ldrm -lEGL
build/utils/utils.a(CryptThreading.cpp.o):CryptThreading.cpp:function lock_callback(int, int, char const*, int): error: undefined reference to 'CRYPTO_num_locks'
build/utils/utils.a(CryptThreading.cpp.o):CryptThreading.cpp:function lock_callback(int, int, char const*, int): error: undefined reference to 'CRYPTO_set_id_callback'
build/utils/utils.a(CryptThreading.cpp.o):CryptThreading.cpp:function lock_callback(int, int, char const*, int): error: undefined reference to 'CRYPTO_set_locking_callback'
build/utils/utils.a(CryptThreading.cpp.o):CryptThreading.cpp:function lock_callback(int, int, char const*, int): error: undefined reference to 'CRYPTO_num_locks'
build/utils/utils.a(CryptThreading.cpp.o):CryptThreading.cpp:function lock_callback(int, int, char const*, int): error: undefined reference to 'CRYPTO_set_id_callback'
build/utils/utils.a(CryptThreading.cpp.o):CryptThreading.cpp:function lock_callback(int, int, char const*, int): error: undefined reference to 'CRYPTO_set_locking_callback'
build/utils/utils.a(CryptThreading.cpp.o):CryptThreading.cpp:function CryptThreadingInitializer::CryptThreadingInitializer(): error: undefined reference to 'CRYPTO_num_locks'
build/utils/utils.a(CryptThreading.cpp.o):CryptThreading.cpp:function CryptThreadingInitializer::CryptThreadingInitializer(): error: undefined reference to 'CRYPTO_set_id_callback'
build/utils/utils.a(CryptThreading.cpp.o):CryptThreading.cpp:function CryptThreadingInitializer::CryptThreadingInitializer(): error: undefined reference to 'CRYPTO_set_locking_callback'
build/utils/utils.a(CryptThreading.cpp.o):CryptThreading.cpp:function CryptThreadingInitializer::~CryptThreadingInitializer(): error: undefined reference to 'CRYPTO_set_locking_callback'
build/utils/utils.a(CryptThreading.cpp.o):CryptThreading.cpp:function xbmcutil::GlobalsSingleton<CryptThreadingInitializer>::getInstance(): error: undefined reference to 'CRYPTO_num_locks'
build/utils/utils.a(CryptThreading.cpp.o):CryptThreading.cpp:function xbmcutil::GlobalsSingleton<CryptThreadingInitializer>::getInstance(): error: undefined reference to 'CRYPTO_set_id_callback'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::~CSFTPSession(): error: undefined reference to 'sftp_free'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::~CSFTPSession(): error: undefined reference to 'ssh_disconnect'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::~CSFTPSession(): error: undefined reference to 'sftp_free'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::~CSFTPSession(): error: undefined reference to 'ssh_disconnect'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function XFILE::CSFTPFile::Read(void*, unsigned long): error: undefined reference to 'sftp_read'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function XFILE::CSFTPFile::GetPosition(): error: undefined reference to 'sftp_tell64'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function XFILE::CSFTPFile::~CSFTPFile(): error: undefined reference to 'sftp_close'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function XFILE::CSFTPFile::Close(): error: undefined reference to 'sftp_close'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function XFILE::CSFTPFile::~CSFTPFile(): error: undefined reference to 'sftp_close'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function XFILE::CSFTPFile::Stat(stat64*): error: undefined reference to 'sftp_stat'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function XFILE::CSFTPFile::Stat(stat64*): error: undefined reference to 'sftp_attributes_free'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function XFILE::CSFTPFile::GetLength(): error: undefined reference to 'sftp_stat'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function XFILE::CSFTPFile::GetLength(): error: undefined reference to 'sftp_attributes_free'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CreateFileHandle(std::string const&): error: undefined reference to 'sftp_open'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CreateFileHandle(std::string const&): error: undefined reference to 'sftp_file_set_blocking'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CloseFileHandle(sftp_file_struct*): error: undefined reference to 'sftp_close'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::DirectoryExists(char const*): error: undefined reference to 'sftp_stat'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::DirectoryExists(char const*): error: undefined reference to 'sftp_attributes_free'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::FileExists(char const*): error: undefined reference to 'sftp_stat'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::FileExists(char const*): error: undefined reference to 'sftp_attributes_free'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function XFILE::CSFTPFile::Seek(long, int): error: undefined reference to 'sftp_seek64'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function XFILE::CSFTPFile::Seek(long, int): error: undefined reference to 'sftp_tell64'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function XFILE::CSFTPFile::Seek(long, int): error: undefined reference to 'sftp_tell64'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::Seek(sftp_file_struct*, unsigned long): error: undefined reference to 'sftp_seek64'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::Read(sftp_file_struct*, void*, unsigned long): error: undefined reference to 'sftp_read'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::GetPosition(sftp_file_struct*): error: undefined reference to 'sftp_tell64'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::VerifyKnownHost(ssh_session_struct*): error: undefined reference to 'ssh_is_server_known'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::VerifyKnownHost(ssh_session_struct*): error: undefined reference to 'ssh_write_knownhost'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::VerifyKnownHost(ssh_session_struct*): error: undefined reference to 'ssh_get_error'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_new'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_options_set'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_options_set'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_options_set'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_options_set'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_connect'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_userauth_none'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_userauth_list'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_get_error'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'sftp_free'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_disconnect'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_userauth_publickey_auto'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_userauth_password'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'sftp_new'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'sftp_init'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_get_error'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::CSFTPSession(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_get_error'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::Connect(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_new'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::Connect(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_connect'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::Connect(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_userauth_none'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::Connect(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_userauth_list'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::Connect(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_userauth_publickey_auto'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::Connect(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'ssh_userauth_password'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::Connect(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'sftp_new'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::Connect(std::string const&, unsigned int, std::string const&, std::string const&): error: undefined reference to 'sftp_init'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::Disconnect(): error: undefined reference to 'sftp_free'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::Disconnect(): error: undefined reference to 'ssh_disconnect'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::GetDirectory(std::string const&, std::string const&, CFileItemList&): error: undefined reference to 'sftp_opendir'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::GetDirectory(std::string const&, std::string const&, CFileItemList&): error: undefined reference to 'sftp_dir_eof'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::GetDirectory(std::string const&, std::string const&, CFileItemList&): error: undefined reference to 'sftp_readdir'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::GetDirectory(std::string const&, std::string const&, CFileItemList&): error: undefined reference to 'sftp_closedir'
build/filesystem/filesystem.a(SFTPFile.cpp.o):SFTPFile.cpp:function CSFTPSession::GetDirectory(std::string const&, std::string const&, CFileItemList&): error: undefined reference to 'sftp_get_error'
collect2: error: ld returned 1 exit status
CMakeFiles/kodi.dir/build.make:436: recipe for target 'kodi.bin' failed
gmake[2]: *** [kodi.bin] Error 1
gmake[2]: Leaving directory '/work/kodi18/kodi/build'
CMakeFiles/Makefile2:540: recipe for target 'CMakeFiles/kodi.dir/all' failed
gmake[1]: *** [CMakeFiles/kodi.dir/all] Error 2
gmake[1]: Leaving directory '/work/kodi18/kodi/build'
Makefile:141: recipe for target 'all' failed
gmake: *** [all] Error 2


The "1st culprit", above, is

Code:
build/utils/utils.a(CryptThreading.cpp.o):CryptThreading.cpp:function lock_callback(int, int, char const*, int): error: undefined reference to 'CRYPTO_num_locks'

looking in ./xbmc/utils/CryptThreading.cpp

Code:
70    CryptThreadingInitializer::CryptThreadingInitializer()
    {
      bool attemptedToSetSSLMTHook = false;
    #if defined(HAVE_OPENSSL) && OPENSSL_VERSION_NUMBER < 0x10100000L
      // set up OpenSSL
!!      numlocks = CRYPTO_num_locks();
      CRYPTO_set_id_callback(thread_id);
      CRYPTO_set_locking_callback(lock_callback);
      attemptedToSetSSLMTHook = true;
    #else
      numlocks = 1;
    #endif

that symbol's used only in the case of

Code:
#if defined(HAVE_OPENSSL) && OPENSSL_VERSION_NUMBER < 0x10100000L


Since, I *have* openssl, and its real version is >= 0x10100000L, something's clearly amiss.

What I'm having trouble with atm is finding where these flags are being improperly set -- or, more generallly, why these symbols are being referenced in the OpenSSL api >= 1.1.0 case.

Have I missed a needed config? Or is there a bug here?
Reply

Logout Mark Read Team Forum Stats Members Help
[kodi18] build + Openssl v110 fails @link : undef'd syms in CryptThreading.cpp0