amarok/git build ignores cmake-specified & configure-found SSL lib path; binary linked to incorrect libs

darx at sent.com darx at sent.com
Wed Feb 13 16:14:05 UTC 2013


i'm building amarok/git

	git log 

		git branch -a | grep \*
			* master

		git log | head -n 1 | grep commit
			commit 31f75878b6658b5c29fa681a1dc61454b35e502f

configuring with

	cmake \
	 -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=debugfull
	 -DKDE4_BUILD_TESTS=OFF \
	  -DCMAKE_SKIP_BUILD_RPATH=0 \
	  -DCMAKE_BUILD_WITH_INSTALL_RPATH=1 \
	  -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=1 \
	 -DWITH_OpenSSL=1 \
	  -DOPENSSL_CRYPTO_LIBRARY=/usr/local/ssl/lib64/libcrypto.so \
	  -DOPENSSL_INCLUDE_DIR=/usr/local/ssl/include \
	  -DOPENSSL_SSL_LIBRARY=/usr/local/ssl/lib64/libssl.so \
	 /usr/local/src/kde/src/amarok

noting the specifically rpath-targeted SSL libs/includes

	pkg-config openssl --libs --cflags
		-I/usr/local/ssl/include  -L/usr/local/ssl/lib64 -lssl
		-lcrypto  

configure output identifies the correct libs

	...
	-- Found OpenSSL:
	/usr/local/ssl/lib64/libssl.so;/usr/local/ssl/lib64/libcrypto.so
	(found version "1.0.1e") 
	...
	-----------------------------------------------------------------------------
	-- The following external packages were located on your system.
	-- This installation will have the extra features provided by
	these packages.
	-----------------------------------------------------------------------------
	...
	   * openssl or libgcrypt - OpenSSL or GNU Libgcrypt provides
	   cryptographic functions required by mp3tunes.
	...

after a successful

	make

the binary's incorrectly linked to incorrect ssl lib paths,

	ldd src/amarok | egrep -i "ssl|crypto"
	        libssl.so.1.0.0 => /lib64/libssl.so.1.0.0
	        (0x00007fcb47fe2000)
	        libcrypto.so.1.0.0 => /lib64/libcrypto.so.1.0.0
	        (0x00007fcb47c0f000)

ignoring the as-specified rpath, and lib & include paths for openssl

how do we get the linker to use the SSL paths it's given and finds?

- darx


More information about the Amarok-devel mailing list