Bug 180283

Summary: [patch update] multimedia/rtmpdump shared lib issue...
Product: Ports & Packages Reporter: Kurt Jaeger <fbsd-ports>
Component: Individual Port(s)Assignee: Hiroki Sato <hrs>
Status: Closed FIXED    
Severity: Affects Only Me CC: hrs
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description Kurt Jaeger 2013-07-04 19:50:00 UTC
While building rtmpdump, the librtmp.so shared lib is build and
linked with /usr/lib/libssl.so.6, even if rtmpdump is build and
linked against /usr/local/lib/libssl.so.8 (same with libcrypto).

Example:

/usr/local/bin/ld: warning: libssl.so.6, needed by librtmp/librtmp.so, may confl
ict with libssl.so.8

Here is the full build log:

------------

# make
===>  License GPLv2 accepted by the user
===> Fetching all distfiles required by rtmpdump-2.4_1 for building
===>  Extracting for rtmpdump-2.4_1
=> SHA256 Checksum OK for rtmpdump-2.4.tar.gz.
===>  Patching for rtmpdump-2.4_1
===>  Applying FreeBSD patches for rtmpdump-2.4_1
===>   rtmpdump-2.4_1 depends on file: /usr/local/lib/libcrypto.so.8 - found
===>   rtmpdump-2.4_1 depends on executable: pkgconf - found
===>  Configuring for rtmpdump-2.4_1
===>  Building for rtmpdump-2.4_1
clang -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL  -O2 -fPIC -c rtmp.c
clang -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL  -O2 -fPIC -c log.c
clang -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL  -O2 -fPIC -c amf.c
In file included from amf.c:33:
[1m./bytes.h:74:2: [0m[0;1;35mwarning: [0m[1m"Float word order not defined, assuming the same as
      byte order!" [-W#warnings][0m
#warning "Float word order not defined, assuming the same as byte order!"
[0;1;32m ^
[0m1 warning generated.
clang -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL  -O2 -fPIC -c hashswf.c
clang -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL  -O2 -fPIC -c parseurl.c
ar rs librtmp.a rtmp.o log.o amf.o hashswf.o parseurl.o
ar: creating librtmp.a
clang -shared -Wl,-soname,librtmp.so.0  -o librtmp.so.0  rtmp.o log.o amf.o hashswf.o parseurl.o -lssl -lcrypto -lz 
ln -sf librtmp.so.0 librtmp.so
clang -O2 -pipe  -I/usr/local/include -fno-strict-aliasing  -DRTMPDUMP_VERSION=\"v2.4\"   -c rtmpdump.c
[1mrtmpdump.c:334:23: [0m[0;1;35mwarning: [0m[1mcomparison of unsigned expression < 0 is always
      false [-Wtautological-compare][0m
      if (prevTagSize < 0 || prevTagSize > size - 4 - 13)
[0;1;32m          ~~~~~~~~~~~ ^ ~
[0m[1mrtmpdump.c:397:14: [0m[0;1;35mwarning: [0m[1mcomparison of unsigned expression < 0 is always
      false [-Wtautological-compare][0m
  if (*dSeek < 0)
[0;1;32m      ~~~~~~ ^ ~
[0m2 warnings generated.
clang  -Wl,-rpath=/usr/local/lib -L/usr/local/lib -o rtmpdump rtmpdump.o -Llibrtmp -lrtmp -lssl -lcrypto -lz  
/usr/local/bin/ld: warning: libssl.so.6, needed by librtmp/librtmp.so, may conflict with libssl.so.8
/usr/local/bin/ld: warning: libcrypto.so.6, needed by librtmp/librtmp.so, may conflict with libcrypto.so.8
clang -O2 -pipe  -I/usr/local/include -fno-strict-aliasing  -DRTMPDUMP_VERSION=\"v2.4\"   -c rtmpgw.c
clang -O2 -pipe  -I/usr/local/include -fno-strict-aliasing  -DRTMPDUMP_VERSION=\"v2.4\"   -c thread.c
clang  -Wl,-rpath=/usr/local/lib -L/usr/local/lib -o rtmpgw rtmpgw.o thread.o -pthread -Llibrtmp -lrtmp -lssl -lcrypto -lz  
/usr/local/bin/ld: warning: libssl.so.6, needed by librtmp/librtmp.so, may conflict with libssl.so.8
/usr/local/bin/ld: warning: libcrypto.so.6, needed by librtmp/librtmp.so, may conflict with libcrypto.so.8
clang -O2 -pipe  -I/usr/local/include -fno-strict-aliasing  -DRTMPDUMP_VERSION=\"v2.4\"   -c rtmpsrv.c
clang  -Wl,-rpath=/usr/local/lib -L/usr/local/lib -o rtmpsrv rtmpsrv.o thread.o -pthread -Llibrtmp -lrtmp -lssl -lcrypto -lz  
/usr/local/bin/ld: warning: libssl.so.6, needed by librtmp/librtmp.so, may conflict with libssl.so.8
/usr/local/bin/ld: warning: libcrypto.so.6, needed by librtmp/librtmp.so, may conflict with libcrypto.so.8
clang -O2 -pipe  -I/usr/local/include -fno-strict-aliasing  -DRTMPDUMP_VERSION=\"v2.4\"   -c rtmpsuck.c
clang  -Wl,-rpath=/usr/local/lib -L/usr/local/lib -o rtmpsuck rtmpsuck.o thread.o -pthread -Llibrtmp -lrtmp -lssl -lcrypto -lz  
/usr/local/bin/ld: warning: libssl.so.6, needed by librtmp/librtmp.so, may conflict with libssl.so.8
/usr/local/bin/ld: warning: libcrypto.so.6, needed by librtmp/librtmp.so, may conflict with libcrypto.so.8
---------

Fix: Using this fix, it should build in both cases (with ports openssl or
without) with the correct shared lib and no warnings.
How-To-Repeat: 	see above
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-07-04 19:50:09 UTC
Responsible Changed
From-To: freebsd-ports-bugs->hrs

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Hiroki Sato freebsd_committer freebsd_triage 2013-07-05 03:42:46 UTC
State Changed
From-To: open->closed

Committed a fix.  Please try the latest ports tree and let me know 
if the problem still persists.  Thank you for your report.
Comment 3 dfilter service freebsd_committer freebsd_triage 2013-07-05 03:42:48 UTC
Author: hrs
Date: Fri Jul  5 02:42:35 2013
New Revision: 322301
URL: http://svnweb.freebsd.org/changeset/ports/322301

Log:
  Fix inconsistent library dependency when OpenSSL is installed
  from the Ports Collection.
  
  PR:	ports/180283

Modified:
  head/multimedia/rtmpdump/Makefile
  head/multimedia/rtmpdump/files/patch-librtmp-Makefile

Modified: head/multimedia/rtmpdump/Makefile
==============================================================================
--- head/multimedia/rtmpdump/Makefile	Thu Jul  4 23:34:32 2013	(r322300)
+++ head/multimedia/rtmpdump/Makefile	Fri Jul  5 02:42:35 2013	(r322301)
@@ -1,12 +1,8 @@
-# Ports collection makefile for:	rtmpdump
-# Date created:				March 15, 2010
-# Whom:					hrs
-#
 # $FreeBSD$
 
 PORTNAME=	rtmpdump
 PORTVERSION=	2.4
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	multimedia net
 MASTER_SITES=	http://rtmpdump.mplayerhq.hu/download/
 
@@ -14,7 +10,6 @@ MAINTAINER=	hrs@FreeBSD.org
 COMMENT=	A tool to download RTMP streams
 
 LICENSE=	GPLv2
-LICENSE_FILE=	${WRKSRC}/COPYING
 
 USE_GNOME=	pkgconfig
 USE_LDCONFIG=	yes
@@ -28,6 +23,8 @@ MAN1=		rtmpdump.1
 MAN3=		librtmp.3
 MAN8=		rtmpgw.8
 
+OPTIONS_DEFINE=	DOCS
+
 .include <bsd.port.pre.mk>
 
 .if ${OSVERSION} < 700000
@@ -39,8 +36,8 @@ CFLAGS+=	-I${OPENSSLINC}
 LDFLAGS+=	-L${OPENSSLLIB}
 .endif
 
+.if ${PORT_OPTIONS:MDOCS}
 post-install:
-.if !defined(NOPORTDOCS)
 	@${MKDIR} ${DOCSDIR}
 	cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}
 .endif

Modified: head/multimedia/rtmpdump/files/patch-librtmp-Makefile
==============================================================================
--- head/multimedia/rtmpdump/files/patch-librtmp-Makefile	Thu Jul  4 23:34:32 2013	(r322300)
+++ head/multimedia/rtmpdump/files/patch-librtmp-Makefile	Fri Jul  5 02:42:35 2013	(r322301)
@@ -1,5 +1,5 @@
 --- librtmp/Makefile.orig	2011-07-12 09:24:33.000000000 +0900
-+++ librtmp/Makefile	2012-01-20 10:06:27.000000000 +0900
++++ librtmp/Makefile	2013-07-05 11:19:02.000000000 +0900
 @@ -1,19 +1,21 @@
  VERSION=v2.4
  
@@ -26,7 +26,7 @@
  
  SYS=posix
  CRYPTO=OPENSSL
-@@ -23,7 +25,7 @@
+@@ -23,13 +25,13 @@
  DEF_GNUTLS=-DUSE_GNUTLS
  DEF_=-DNO_CRYPTO
  REQ_GNUTLS=gnutls
@@ -35,6 +35,13 @@
  LIBZ=-lz
  LIBS_posix=
  LIBS_darwin=
+ LIBS_mingw=-lws2_32 -lwinmm -lgdi32
+ LIB_GNUTLS=-lgnutls -lgcrypt $(LIBZ)
+-LIB_OPENSSL=-lssl -lcrypto $(LIBZ)
++LIB_OPENSSL=-L${OPENSSLLIB} -lssl -lcrypto $(LIBZ)
+ LIB_POLARSSL=-lpolarssl $(LIBZ)
+ PRIVATE_LIBS=$(LIBS_$(SYS))
+ CRYPTO_LIB=$(LIB_$(CRYPTO)) $(PRIVATE_LIBS)
 @@ -67,7 +69,8 @@
  
  DEF=-DRTMPDUMP_VERSION=\"$(VERSION)\" $(CRYPTO_DEF) $(XDEF)
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"