Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Jul 2020 22:54:08 -0500
From:      Scott Allendorf <scott-allendorf@uiowa.edu>
To:        multimedia@FreeBSD.org
Subject:   net/liveMedia does not build on 11-STABLE in presence of security/openssl
Message-ID:  <cb3d499d-3dc3-2bbf-0093-2bab18cc4cf8@uiowa.edu>

index | next in thread | raw e-mail

[-- Attachment #1 --]
TL;DR: The net/liveMedia port does not appear to pick up the proper 
includes when building on 11-STABLE when security/openssl is installed.

I have an 11-STABLE system where security/openssl has been made the 
default (now required by QT) via the following in /etc/make.conf:

	DEFAULT_VERSIONS+=      ssl=openssl

When attempting to build net/liveMedia, it fails with:

========================================================================
env MAKE_JOBS_UNSAFE=yes make all

...

c++ -otestMP3Streamer -L.  -Wl,-rpath,/usr/local/lib 
-fstack-protector-strong  testMP3Streamer.o 
../liveMedia/libliveMedia.so.16.0.1 ../groupsock/libgroupsock.so.1.0.1 
../BasicUsageEnvironment/libBasicUsageEnvironment.so.0.0.1 
../UsageEnvironment/libUsageEnvironment.so.1.0.0 -L/usr/local/lib -lssl 
-lcrypto
../liveMedia/libliveMedia.so.16.0.1: undefined reference to 
`SSLv23_client_method'
../liveMedia/libliveMedia.so.16.0.1: undefined reference to 
`SSL_library_init'
../liveMedia/libliveMedia.so.16.0.1: undefined reference to 
`EVP_MD_CTX_destroy'
../liveMedia/libliveMedia.so.16.0.1: undefined reference to 
`EVP_MD_CTX_create'
c++: error: linker command failed with exit code 1 (use -v to see 
invocation)
gmake[2]: *** [Makefile:133: testMP3Streamer] Error 1
gmake[2]: Leaving directory '/usr/ports/net/liveMedia/work/live/testProgs'
gmake[1]: *** [Makefile:67: all] Error 2
gmake[1]: Leaving directory '/usr/ports/net/liveMedia/work/live'
*** Error code 1

Stop.
make: stopped in /usr/ports/net/liveMedia
========================================================================

It is correctly attempting to link against the openssl port libraries, 
but does not appear to have used the port headers while compiling. 
Those four references have been deprecated by modern versions of openssl 
and the port header files #define these functions to their modern 
equivalents:

========================================================================
root@sallendorf:/usr/ports/net/liveMedia # egrep 
'SSLv23_client_method|SSL_library_init|EVP_MD_CTX_destroy|EVP_MD_CTX_create' 
/usr/local/include/openssl/*
/usr/local/include/openssl/evp.h:# define EVP_MD_CTX_create() 
EVP_MD_CTX_new()
/usr/local/include/openssl/evp.h:# define EVP_MD_CTX_destroy(ctx) 
EVP_MD_CTX_free((ctx))

...

/usr/local/include/openssl/ssl.h:#define SSLv23_client_method 
TLS_client_method
/usr/local/include/openssl/ssl.h:#  define SSL_library_init() 
OPENSSL_init_ssl(0, NULL)
========================================================================

If I coerce the build to use the headers from the port, the build 
succeeds.  My workaround was to add the following into /etc/make.conf:

========================================================================
.if ${.CURDIR:M*/net/liveMedia*}
         CFLAGS+=        -I${OPENSSLINC}
.endif
========================================================================

Please let me know if I can provide any additional information and thank 
you for all of your efforts with FreeBSD.

Cheers,

Scott

-- 
Scott C. Allendorf                     Email:  scott-allendorf@uiowa.edu
Senior Systems Administrator           Office:         303A MacLean Hall
CLAS Linux Group                       Voice:             (319) 335-0003
The University of Iowa                 FAX:               (319) 335-3668
Iowa City, Iowa  52242-1419            ICBM:  41 39 37.8 N  91 32 11.5 W


[-- Attachment #2 --]
0	*H
010
	`He0	*H
80 0wjcmO0
	*H
010	UGB10UGreater Manchester10USalford10U
Sectigo Limited1>0<U5Sectigo RSA Client Authentication and Secure Email CA0
200224000000Z
230223235959Z0*1(0&	*H
	scott-allendorf@uiowa.edu0"0
	*H
0
ԛ,12߲i}kڜ<ݠZmxawG3ٶDs4,ʺ+A&8nL-*T(%%Vy$PtUT/o%,ܖɼ0TZ/-3B<HvV#͉D+VMikM&bl2Le*+oAzwQ+3?50qՂ8;V&L!{[adx#	$:
? WR*彽;HLtmGH_00U#0	ڔ_+ߨB0U!ږW~
0U0U00U%0++0@U 90705+10%0#+https://sectigo.com/CPS0ZUS0Q0OMKIhttp://crl.sectigo.com/SectigoRSAClientAuthenticationandSecureEmailCA.crl0+~0|0U+0Ihttp://crt.sectigo.com/SectigoRSAClientAuthenticationandSecureEmailCA.crt0#+0http://ocsp.sectigo.com0$U0scott-allendorf@uiowa.edu0
	*H
Ny1	иЬ$|jV\Ҕ&zԲIv"mQ%14,>Scʭ087c9D<|HFR3
)XA1l̓ ld_K}Ao~{CߗҜ;J8q^vY>Œ}:x
tZsxG4/.{lKAF~6H?@[Bo{6cQ00M,;	Ł-:+O0
	*H
010	UUS10U
New Jersey10UJersey City10U
The USERTRUST Network1.0,U%USERTrust RSA Certification Authority0
181102000000Z
301231235959Z010	UGB10UGreater Manchester10USalford10U
Sectigo Limited1>0<U5Sectigo RSA Client Authentication and Secure Email CA0"0
	*H
0
<
AF;ڒ+N&)**͜P?m.gJLu"%^HJBJ2*MŚ3|qCf^/ԾMS<5AFaTQ$7u7͈(l:=ϋnty!5{ş>q[ҡV":1Av9UF~1˥RDOt=rseA)7lnvϐSd0`0U#0SyZ+JT؛f0U	ڔ_+ߨB0U0U00U%0++0U 
00U 0PUI0G0ECA?http://crl.usertrust.com/USERTrustRSACertificationAuthority.crl0v+j0h0?+03http://crt.usertrust.com/USERTrustRSAAddTrustCA.crt0%+0http://ocsp.usertrust.com0
	*H
ADu9ގm2qhz8㱽1ゴ~!anIB<YT
?iD
Fb6]6o3tĠh:U
!S y=\,i/_	~,ƖcIJ41*[T|)MdP_)IkdPo}y
ِ49	$*6UTC{8^]EuzSp4xwMire}sYHOl03]P;g'NYs+">Z][)r-6F^y-3d

d6|nkOKՈ3 l@9l6f?<tHfYWzF<4E!Vu+9X/15e")Jpj&כ:'3KEZP7#~x8Ǜt@Rg-mƐyB4Z9a72ΦIa7~-"׀o&ɳ6'15010010	UGB10UGreater Manchester10USalford10U
Sectigo Limited1>0<U5Sectigo RSA Client Authentication and Secure Email CAwjcmO0
	`HeY0	*H
	1	*H
0	*H
	1
200714035408Z0/	*H
	1" {HS:e(ki(7]y>r!0l	*H
	1_0]0	`He*0	`He0
*H
0*H
0
*H
@0+0
*H
(0	+710010	UGB10UGreater Manchester10USalford10U
Sectigo Limited1>0<U5Sectigo RSA Client Authentication and Secure Email CAwjcmO0*H
	1010	UGB10UGreater Manchester10USalford10U
Sectigo Limited1>0<U5Sectigo RSA Client Authentication and Secure Email CAwjcmO0
	*H
mKgVѰ=709aAͭɲ~m6ZF%!QUQsf Y҆6DŽ|L5E0AMKۃQ'9)Hl˘)J2Յ~X F.P1`EHx
¾/Im~AٶAY(:㨌:oj6zMckM(qh`KTa&l;vL11lI9
k}{~x@Zַ(K
help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?cb3d499d-3dc3-2bbf-0093-2bab18cc4cf8>