Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 04 Jul 2013 20:46:35 +0200
From:      Kurt Jaeger <fbsd-ports@opsec.eu>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/180283: [patch update] multimedia/rtmpdump shared lib issue...
Message-ID:  <E1UuoY7-0007Xs-I9@fa9.opsec.eu>
Resent-Message-ID: <201307041850.r64Io0a6024625@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         180283
>Category:       ports
>Synopsis:       [patch update] multimedia/rtmpdump shared lib issue...
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jul 04 18:50:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Kurt Jaeger
>Release:        FreeBSD 9.1-RELEASE amd64
>Organization:
-
>Environment:
System: FreeBSD fa9.opsec.eu 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243825: Tue Dec 4 09:23:10 UTC 2012 root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64

>Description:

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:
./bytes.h:74:2: warning: "Float word order not defined, assuming the same as
      byte order!" [-W#warnings]
#warning "Float word order not defined, assuming the same as byte order!"
 ^
1 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
rtmpdump.c:334:23: warning: comparison of unsigned expression < 0 is always
      false [-Wtautological-compare]
      if (prevTagSize < 0 || prevTagSize > size - 4 - 13)
          ~~~~~~~~~~~ ^ ~
rtmpdump.c:397:14: warning: comparison of unsigned expression < 0 is always
      false [-Wtautological-compare]
  if (*dSeek < 0)
      ~~~~~~ ^ ~
2 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
---------

>How-To-Repeat:
	see above

>Fix:

Using this fix, it should build in both cases (with ports openssl or
without) with the correct shared lib and no warnings.

diff -r -u -N multimedia/rtmpdump/files/patch-librtmp-Makefile /usr/home/pi/myp/multimedia/rtmpdump/files/patch-librtmp-Makefile
--- multimedia/rtmpdump/files/patch-librtmp-Makefile	2013-01-01 15:32:33.000000000 +0100
+++ /usr/home/pi/myp/multimedia/rtmpdump/files/patch-librtmp-Makefile	2013-07-04 20:39:32.000000000 +0200
@@ -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-tmpf	2013-07-04 20:38:27.000000000 +0200
++++ librtmp/Makefile	2013-07-04 20:38:40.000000000 +0200
 @@ -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/usr/local/lib -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)

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1UuoY7-0007Xs-I9>