[rtmpdump] Compiling RTMPdump on Max OS X

Nickolaus Padgett nick.padgett at gmail.com
Wed Jul 21 18:28:22 CEST 2010

On Wed, Jul 21, 2010 at 11:54 AM, Nickolaus Padgett
<nick.padgett at gmail.com> wrote:
> I made the suggested changes to librtmp/Makefile, but I do not
> understand what changes I need to make to ./Makefile.  I was able to
> successfully compile with just the changes to librtmp/Makefile.
> However, when I try to execute rtmpdump, I received the error
> "Referenced from: ./rtmpdump Reason:image not found".  I presume this
> is because I didn't make the appropriate changes to ./Makefile.  Could
> you be more descriptive?  Once I am able to successfully compile,
> should I submit a patch of the working changes?
> $ make SYS=darwin
> gcc -Wall   -DRTMPDUMP_VERSION=\"v2.3\" -DUSE_OPENSSL  -O2 -fPIC   -c
> -o rtmp.o rtmp.c
> gcc -Wall   -DRTMPDUMP_VERSION=\"v2.3\" -DUSE_OPENSSL  -O2 -fPIC   -c
> -o log.o log.c
> gcc -Wall   -DRTMPDUMP_VERSION=\"v2.3\" -DUSE_OPENSSL  -O2 -fPIC   -c
> -o amf.o amf.c
> In file included from amf.c:33:
> bytes.h:74:2: warning: #warning "Float word order not defined,
> assuming the same as byte order!"
> gcc -Wall   -DRTMPDUMP_VERSION=\"v2.3\" -DUSE_OPENSSL  -O2 -fPIC   -c
> -o hashswf.o hashswf.c
> gcc -Wall   -DRTMPDUMP_VERSION=\"v2.3\" -DUSE_OPENSSL  -O2 -fPIC   -c
> -o parseurl.o parseurl.c
> ar rs librtmp.a rtmp.o log.o amf.o hashswf.o parseurl.o
> ar: creating archive librtmp.a
> gcc -dynamiclib -twolevel_namespace   -o librtmp.dylib rtmp.o log.o
> amf.o hashswf.o parseurl.o  -lssl -lcrypto -lz
> ln -sf librtmp.dylib librtmp.so
> gcc -Wall   -DRTMPDUMP_VERSION=\"v2.3\"   -O2   -c -o rtmpdump.o rtmpdump.c
> gcc -Wall  -o rtmpdump rtmpdump.o -Llibrtmp -lrtmp -lssl -lcrypto -lz
> gcc -Wall   -DRTMPDUMP_VERSION=\"v2.3\"   -O2   -c -o rtmpgw.o rtmpgw.c
> gcc -Wall   -DRTMPDUMP_VERSION=\"v2.3\"   -O2   -c -o thread.o thread.c
> gcc -Wall  -o rtmpgw rtmpgw.o thread.o -lpthread -Llibrtmp -lrtmp
> -lssl -lcrypto -lz
> gcc -Wall   -DRTMPDUMP_VERSION=\"v2.3\"   -O2   -c -o rtmpsrv.o rtmpsrv.c
> gcc -Wall  -o rtmpsrv rtmpsrv.o thread.o -lpthread -Llibrtmp -lrtmp
> -lssl -lcrypto -lz
> gcc -Wall   -DRTMPDUMP_VERSION=\"v2.3\"   -O2   -c -o rtmpsuck.o rtmpsuck.c
> gcc -Wall  -o rtmpsuck rtmpsuck.o thread.o -lpthread -Llibrtmp -lrtmp
> -lssl -lcrypto -lz
> $ ./rtmpdump
> dyld: Library not loaded: librtmp.dylib
>  Referenced from: ./rtmpdump
>  Reason: image not found
> Trace/BPT trap

I found librtmp.dylib in ./librtmp.  I copied it into the directory I
was trying to run rtmpdump in and it appears to work.  Should I
install librtmp.dylib in /usr/local/lib?

More information about the rtmpdump mailing list