[Live-devel] wis-streamer RTSP over HTTP

admin at awright2009.com admin at awright2009.com
Wed Jul 6 09:02:25 PDT 2011


Alright, I've updated to the latest version of live555 and added the
function calls, but am running into some odd linking problems. I can see
the function definitions in the code, but the linker doesnt. If anyone
could give me some insight I'd appreciate it. It's most likely a
makefile issue on my end.

-Thanks
Alex Wright

-----------------------------compiler output-------------------
/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-g++ -I .
-I../BasicUsageEnvironment/include -I../UsageEnvironment/include
-I../groupsock/include -I../liveMedia/include
-I/home/awright/ipnc_26/ipnc/ipnc_app/interface/inc -D_LINUX -g -Wall
-O3 -o wis-streamer wis-streamer.o Err.o APPROInput.o
WISServerMediaSubsession.o WISJPEGStreamSource.o
WISJPEGVideoServerMediaSubsession.o WISMPEG4VideoServerMediaSubsession.o
WISH264VideoServerMediaSubsession.o WISPCMAudioServerMediaSubsession.o
/home/awright/ipnc_26/ipnc/ipnc_app/interface/lib/Appro_interface.a
/home/awright/ipnc_26/ipnc/dvsdk_2_10_01_18/linuxutils_2_24_03/packages/ti/sdo/linuxutils/cmem/lib/cmem.a470MV
-L../BasicUsageEnvironment -lBasicUsageEnvironment -L../UsageEnvironment
-lUsageEnvironment -L../groupsock -lgroupsock -L../liveMedia -lliveMedia

../groupsock/libgroupsock.a(Groupsock.o): In function
`getSocketTable(UsageEnvironment&)':
Groupsock.cpp:(.text+0xf0): undefined reference to
`HashTable::create(int)'
../groupsock/libgroupsock.a(NetInterface.o): In function
`SocketLookupTable::SocketLookupTable()':
NetInterface.cpp:(.text+0x428): undefined reference to
`HashTable::create(int)'
../groupsock/libgroupsock.a(NetInterface.o): In function
`SocketLookupTable::SocketLookupTable()':
NetInterface.cpp:(.text+0x450): undefined reference to
`HashTable::create(int)'
../groupsock/libgroupsock.a(NetInterface.o): In function
`DirectedNetInterfaceSet::DirectedNetInterfaceSet()':
NetInterface.cpp:(.text+0x478): undefined reference to
`HashTable::create(int)'
../groupsock/libgroupsock.a(NetInterface.o): In function
`DirectedNetInterfaceSet::DirectedNetInterfaceSet()':
NetInterface.cpp:(.text+0x4a0): undefined reference to
`HashTable::create(int)'
../groupsock/libgroupsock.a(NetInterface.o): In function
`DirectedNetInterfaceSet::Iterator::Iterator(DirectedNetInterfaceSet&)':
NetInterface.cpp:(.text+0x6e0): undefined reference to
`HashTable::Iterator::create(HashTable&)'
../groupsock/libgroupsock.a(NetInterface.o): In function
`DirectedNetInterfaceSet::Iterator::Iterator(DirectedNetInterfaceSet&)':
NetInterface.cpp:(.text+0x708): undefined reference to
`HashTable::Iterator::create(HashTable&)'
../groupsock/libgroupsock.a(NetAddress.o): In function
`AddressPortLookupTable::Iterator::Iterator(AddressPortLookupTable&)':
NetAddress.cpp:(.text+0x268): undefined reference to
`HashTable::Iterator::create(HashTable&)'
../groupsock/libgroupsock.a(NetAddress.o): In function
`AddressPortLookupTable::Iterator::Iterator(AddressPortLookupTable&)':
NetAddress.cpp:(.text+0x290): undefined reference to
`HashTable::Iterator::create(HashTable&)'
../groupsock/libgroupsock.a(NetAddress.o): In function
`AddressPortLookupTable::AddressPortLookupTable()':
NetAddress.cpp:(.text+0x2b8): undefined reference to
`HashTable::create(int)'
../groupsock/libgroupsock.a(NetAddress.o): In function
`AddressPortLookupTable::AddressPortLookupTable()':
NetAddress.cpp:(.text+0x2e0): undefined reference to
`HashTable::create(int)'
../groupsock/libgroupsock.a(GroupEId.o): In function
`Scope::assign(unsigned char, char const*)':
GroupEId.cpp:(.text+0x84): undefined reference to `strDup(char const*)'
../liveMedia/libliveMedia.a(Media.o): In function
`MediaLookupTable::MediaLookupTable(UsageEnvironment&)':
Media.cpp:(.text+0x24c): undefined reference to `HashTable::create(int)'
../liveMedia/libliveMedia.a(Media.o): In function
`MediaLookupTable::MediaLookupTable(UsageEnvironment&)':
Media.cpp:(.text+0x280): undefined reference to `HashTable::create(int)'
../liveMedia/libliveMedia.a(MPEG4GenericRTPSink.o): In function
`MPEG4GenericRTPSink::MPEG4GenericRTPSink(UsageEnvironment&, Groupsock*,
unsigned char, unsigned int, char const*, char const*, char const*,
unsigned int)':
MPEG4GenericRTPSink.cpp:(.text+0x220): undefined reference to
`strDup(char const*)'
MPEG4GenericRTPSink.cpp:(.text+0x22c): undefined reference to
`strDup(char const*)'
MPEG4GenericRTPSink.cpp:(.text+0x238): undefined reference to
`strDup(char const*)'
MPEG4GenericRTPSink.cpp:(.text+0x2bc): undefined reference to
`strDup(char const*)'
../liveMedia/libliveMedia.a(MPEG4GenericRTPSink.o): In function
`MPEG4GenericRTPSink::MPEG4GenericRTPSink(UsageEnvironment&, Groupsock*,
unsigned char, unsigned int, char const*, char const*, char const*,
unsigned int)':
MPEG4GenericRTPSink.cpp:(.text+0x418): undefined reference to
`strDup(char const*)'
../liveMedia/libliveMedia.a(MPEG4GenericRTPSink.o):MPEG4GenericRTPSink.cpp:(.text+0x424):
more undefined references to `strDup(char const*)' follow
../liveMedia/libliveMedia.a(RTPSink.o): In function
`RTPTransmissionStatsDB::Iterator::Iterator(RTPTransmissionStatsDB&)':
RTPSink.cpp:(.text+0x63c): undefined reference to
`HashTable::Iterator::create(HashTable&)'
../liveMedia/libliveMedia.a(RTPSink.o): In function
`RTPTransmissionStatsDB::Iterator::Iterator(RTPTransmissionStatsDB&)':
RTPSink.cpp:(.text+0x664): undefined reference to
`HashTable::Iterator::create(HashTable&)'
../liveMedia/libliveMedia.a(RTPSink.o): In function
`RTPTransmissionStatsDB::~RTPTransmissionStatsDB()':
RTPSink.cpp:(.text+0x72c): undefined reference to
`HashTable::RemoveNext()'
../liveMedia/libliveMedia.a(RTPSink.o): In function
`RTPTransmissionStatsDB::~RTPTransmissionStatsDB()':
RTPSink.cpp:(.text+0x78c): undefined reference to
`HashTable::RemoveNext()'
../liveMedia/libliveMedia.a(RTPSink.o): In function
`RTPTransmissionStatsDB::~RTPTransmissionStatsDB()':
RTPSink.cpp:(.text+0x7e4): undefined reference to
`HashTable::RemoveNext()'
../liveMedia/libliveMedia.a(RTPSink.o): In function
`RTPTransmissionStatsDB::RTPTransmissionStatsDB(RTPSink&)':
RTPSink.cpp:(.text+0x830): undefined reference to
`HashTable::create(int)'
../liveMedia/libliveMedia.a(RTPSink.o): In function
`RTPTransmissionStatsDB::RTPTransmissionStatsDB(RTPSink&)':
RTPSink.cpp:(.text+0x864): undefined reference to
`HashTable::create(int)'
../liveMedia/libliveMedia.a(RTPSink.o): In function
`RTPSink::RTPSink(UsageEnvironment&, Groupsock*, unsigned char, unsigned
int, char const*, unsigned int)':
RTPSink.cpp:(.text+0xa84): undefined reference to `strDup(char const*)'
../liveMedia/libliveMedia.a(RTPSink.o): In function
`RTPSink::RTPSink(UsageEnvironment&, Groupsock*, unsigned char, unsigned
int, char const*, unsigned int)':
RTPSink.cpp:(.text+0xb90): undefined reference to `strDup(char const*)'
../liveMedia/libliveMedia.a(RTPSink.o): In function
`RTPSink::rtpmapLine() const':
RTPSink.cpp:(.text+0xd48): undefined reference to `strDup(char const*)'
RTPSink.cpp:(.text+0xd60): undefined reference to `strDup(char const*)'
../liveMedia/libliveMedia.a(RTPInterface.o): In function
`SocketDescriptor::SocketDescriptor(UsageEnvironment&, int)':
RTPInterface.cpp:(.text+0x27c): undefined reference to
`HashTable::create(int)'
../liveMedia/libliveMedia.a(RTPInterface.o): In function
`SocketDescriptor::SocketDescriptor(UsageEnvironment&, int)':
RTPInterface.cpp:(.text+0x2b8): undefined reference to
`HashTable::create(int)'
../liveMedia/libliveMedia.a(RTPInterface.o): In function
`socketHashTable(UsageEnvironment&, unsigned int)':
RTPInterface.cpp:(.text+0x300): undefined reference to
`HashTable::create(int)'
../liveMedia/libliveMedia.a(RTCP.o): In function
`RTCPInstance::RTCPInstance(UsageEnvironment&, Groupsock*, unsigned int,
unsigned char const*, RTPSink*, RTPSource const*, unsigned int)':
RTCP.cpp:(.text+0x1624): undefined reference to `HashTable::create(int)'
../liveMedia/libliveMedia.a(RTCP.o): In function
`RTCPMemberDatabase::reapOldMembers(unsigned int)':
RTCP.cpp:(.text+0x17ac): undefined reference to
`HashTable::Iterator::create(HashTable&)'
../liveMedia/libliveMedia.a(RTCP.o): In function
`RTCPInstance::RTCPInstance(UsageEnvironment&, Groupsock*, unsigned int,
unsigned char const*, RTPSink*, RTPSource const*, unsigned int)':
RTCP.cpp:(.text+0x199c): undefined reference to `HashTable::create(int)'
../liveMedia/libliveMedia.a(RTSPServer.o): In function
`UserAuthenticationDatabase::addUserRecord(char const*, char const*)':
RTSPServer.cpp:(.text+0x2b4): undefined reference to `strDup(char
const*)'
../liveMedia/libliveMedia.a(RTSPServer.o): In function
`UserAuthenticationDatabase::UserAuthenticationDatabase(char const*,
unsigned int)':
RTSPServer.cpp:(.text+0x478): undefined reference to
`HashTable::create(int)'
RTSPServer.cpp:(.text+0x48c): undefined reference to `strDup(char
const*)'
../liveMedia/libliveMedia.a(RTSPServer.o): In function
`UserAuthenticationDatabase::UserAuthenticationDatabase(char const*,
unsigned int)':
RTSPServer.cpp:(.text+0x4c4): undefined reference to
`HashTable::create(int)'
RTSPServer.cpp:(.text+0x4d8): undefined reference to `strDup(char
const*)'
../liveMedia/libliveMedia.a(RTSPServer.o): In function
`RTSPServer::ServerMediaSessionIterator::ServerMediaSessionIterator(RTSPServer&)':
RTSPServer.cpp:(.text+0x518): undefined reference to
`HashTable::Iterator::create(HashTable&)'
../liveMedia/libliveMedia.a(RTSPServer.o): In function
`RTSPServer::ServerMediaSessionIterator::ServerMediaSessionIterator(RTSPServer&)':
RTSPServer.cpp:(.text+0x550): undefined reference to
`HashTable::Iterator::create(HashTable&)'
../liveMedia/libliveMedia.a(RTSPServer.o): In function
`RTSPServer::RTSPClientSession::handleHTTPCmd_TunnelingGET(char
const*)':
RTSPServer.cpp:(.text+0x5b4): undefined reference to
`HashTable::create(int)'
../liveMedia/libliveMedia.a(RTSPServer.o): In function
`RTSPServer::RTSPClientSession::authenticationOK(char const*, char
const*, char const*, char const*)':
RTSPServer.cpp:(.text+0x6d0): undefined reference to `strDupSize(char
const*)'
RTSPServer.cpp:(.text+0x6dc): undefined reference to `strDupSize(char
const*)'
RTSPServer.cpp:(.text+0x74c): undefined reference to `strDup(char
const*)'
RTSPServer.cpp:(.text+0x978): undefined reference to `strDup(char
const*)'
RTSPServer.cpp:(.text+0x9b0): undefined reference to `strDup(char
const*)'
RTSPServer.cpp:(.text+0x9e8): undefined reference to `strDup(char
const*)'
RTSPServer.cpp:(.text+0xa0c): undefined reference to `strDup(char
const*)'
../liveMedia/libliveMedia.a(RTSPServer.o):RTSPServer.cpp:(.text+0x19ec):
more undefined references to `strDup(char const*)' follow
../liveMedia/libliveMedia.a(RTSPServer.o): In function
`RTSPServer::RTSPClientSession::handleCmd_SETUP(char const*, char
const*, char const*, char const*)':
RTSPServer.cpp:(.text+0x2a50): undefined reference to `strDupSize(char
const*)'
RTSPServer.cpp:(.text+0x2cd4): undefined reference to `strDup(char
const*)'
RTSPServer.cpp:(.text+0x2ce4): undefined reference to `strDup(char
const*)'
RTSPServer.cpp:(.text+0x2da0): undefined reference to `strDup(char
const*)'
RTSPServer.cpp:(.text+0x2f38): undefined reference to `strDup(char
const*)'
../liveMedia/libliveMedia.a(RTSPServer.o): In function
`RTSPServer::RTSPServer(UsageEnvironment&, int, Port,
UserAuthenticationDatabase*, unsigned int)':
RTSPServer.cpp:(.text+0x35a4): undefined reference to
`HashTable::create(int)'
../liveMedia/libliveMedia.a(RTSPServer.o): In function
`RTSPServer::RTSPServer(UsageEnvironment&, int, Port,
UserAuthenticationDatabase*, unsigned int)':
RTSPServer.cpp:(.text+0x36d4): undefined reference to
`HashTable::create(int)'
../liveMedia/libliveMedia.a(RTSPServer.o): In function
`RTSPServer::~RTSPServer()':
RTSPServer.cpp:(.text+0x37d0): undefined reference to
`HashTable::RemoveNext()'
../liveMedia/libliveMedia.a(RTSPServer.o): In function
`RTSPServer::~RTSPServer()':
RTSPServer.cpp:(.text+0x39fc): undefined reference to
`HashTable::RemoveNext()'
../liveMedia/libliveMedia.a(RTSPServer.o): In function
`RTSPServer::~RTSPServer()':
RTSPServer.cpp:(.text+0x3c28): undefined reference to
`HashTable::RemoveNext()'
../liveMedia/libliveMedia.a(ServerMediaSession.o): In function
`ServerMediaSubsession::rangeSDPLine() const':
ServerMediaSession.cpp:(.text+0x35c): undefined reference to
`strDup(char const*)'
ServerMediaSession.cpp:(.text+0x390): undefined reference to
`strDup(char const*)'
ServerMediaSession.cpp:(.text+0x3bc): undefined reference to
`strDup(char const*)'
../liveMedia/libliveMedia.a(ServerMediaSession.o): In function
`ServerMediaSubsession::trackId()':
ServerMediaSession.cpp:(.text+0x414): undefined reference to
`strDup(char const*)'
../liveMedia/libliveMedia.a(ServerMediaSession.o): In function
`ServerMediaSession::generateSDPDescription()':
ServerMediaSession.cpp:(.text+0x7a4): undefined reference to
`strDup(char const*)'
../liveMedia/libliveMedia.a(ServerMediaSession.o):ServerMediaSession.cpp:(.text+0x8a0):
more undefined references to `strDup(char const*)' follow
../liveMedia/libliveMedia.a(OnDemandServerMediaSubsession.o): In
function
`OnDemandServerMediaSubsession::~OnDemandServerMediaSubsession()':
OnDemandServerMediaSubsession.cpp:(.text+0x738): undefined reference to
`HashTable::RemoveNext()'
../liveMedia/libliveMedia.a(OnDemandServerMediaSubsession.o): In
function
`OnDemandServerMediaSubsession::~OnDemandServerMediaSubsession()':
OnDemandServerMediaSubsession.cpp:(.text+0x7c4): undefined reference to
`HashTable::RemoveNext()'
../liveMedia/libliveMedia.a(OnDemandServerMediaSubsession.o): In
function
`OnDemandServerMediaSubsession::~OnDemandServerMediaSubsession()':
OnDemandServerMediaSubsession.cpp:(.text+0x848): undefined reference to
`HashTable::RemoveNext()'
../liveMedia/libliveMedia.a(OnDemandServerMediaSubsession.o): In
function
`OnDemandServerMediaSubsession::OnDemandServerMediaSubsession(UsageEnvironment&,
unsigned int, unsigned short)':
OnDemandServerMediaSubsession.cpp:(.text+0x8d0): undefined reference to
`HashTable::create(int)'
../liveMedia/libliveMedia.a(OnDemandServerMediaSubsession.o): In
function
`OnDemandServerMediaSubsession::OnDemandServerMediaSubsession(UsageEnvironment&,
unsigned int, unsigned short)':
OnDemandServerMediaSubsession.cpp:(.text+0x940): undefined reference to
`HashTable::create(int)'
../liveMedia/libliveMedia.a(DigestAuthentication.o): In function
`Authenticator::assignUsernameAndPassword(char const*, char const*,
unsigned int)':
DigestAuthentication.cpp:(.text+0x14): undefined reference to
`strDup(char const*)'
DigestAuthentication.cpp:(.text+0x20): undefined reference to
`strDup(char const*)'
../liveMedia/libliveMedia.a(DigestAuthentication.o): In function
`Authenticator::assignRealmAndNonce(char const*, char const*)':
DigestAuthentication.cpp:(.text+0x44): undefined reference to
`strDup(char const*)'
DigestAuthentication.cpp:(.text+0x50): undefined reference to
`strDup(char const*)'
../liveMedia/libliveMedia.a(Base64.o): In function `base64Decode(char*,
unsigned int&, unsigned int)':
Base64.cpp:(.text+0x258): undefined reference to `strDupSize(char
const*)'
../liveMedia/libliveMedia.a(Locale.o): In function `Locale::Locale(char
const*, int)':
Locale.cpp:(.text+0xf0): undefined reference to `strDup(char const*)'
../liveMedia/libliveMedia.a(Locale.o): In function `Locale::Locale(char
const*, int)':
Locale.cpp:(.text+0x138): undefined reference to `strDup(char const*)'
../liveMedia/libliveMedia.a(RTPSource.o): In function
`RTPReceptionStatsDB::Iterator::Iterator(RTPReceptionStatsDB&)':
RTPSource.cpp:(.text+0x8b0): undefined reference to
`HashTable::Iterator::create(HashTable&)'
../liveMedia/libliveMedia.a(RTPSource.o): In function
`RTPReceptionStatsDB::Iterator::Iterator(RTPReceptionStatsDB&)':
RTPSource.cpp:(.text+0x8d8): undefined reference to
`HashTable::Iterator::create(HashTable&)'
../liveMedia/libliveMedia.a(RTPSource.o): In function
`RTPReceptionStatsDB::~RTPReceptionStatsDB()':
RTPSource.cpp:(.text+0xa44): undefined reference to
`HashTable::RemoveNext()'
../liveMedia/libliveMedia.a(RTPSource.o): In function
`RTPReceptionStatsDB::~RTPReceptionStatsDB()':
RTPSource.cpp:(.text+0xaa4): undefined reference to
`HashTable::RemoveNext()'
../liveMedia/libliveMedia.a(RTPSource.o): In function
`RTPReceptionStatsDB::~RTPReceptionStatsDB()':
RTPSource.cpp:(.text+0xafc): undefined reference to
`HashTable::RemoveNext()'
../liveMedia/libliveMedia.a(RTPSource.o): In function
`RTPReceptionStatsDB::RTPReceptionStatsDB()':
RTPSource.cpp:(.text+0xba4): undefined reference to
`HashTable::create(int)'
../liveMedia/libliveMedia.a(RTPSource.o): In function
`RTPReceptionStatsDB::RTPReceptionStatsDB()':
RTPSource.cpp:(.text+0xbdc): undefined reference to
`HashTable::create(int)'
collect2: ld returned 1 exit status
make: *** [wis-streamer] Error 1


------------------------------------makefile------------------------------
ROOTDIR = ../../../..
include $(ROOTDIR)/Rules.make

LIVE_DIR = ..
EXEC = wis-streamer

all:	$(EXEC)

install:	$(EXEC)
	install $(EXEC) $(EXEC_DIR)

CC = $(MVTOOL_PREFIX)gcc
CPLUSPLUS = $(MVTOOL_PREFIX)g++

INCLUDES = -I . \
	-I$(LIVE_DIR)/BasicUsageEnvironment/include \
	-I$(LIVE_DIR)/UsageEnvironment/include \
	-I$(LIVE_DIR)/groupsock/include \
	-I$(LIVE_DIR)/liveMedia/include \
	-I$(PUBLIC_INCLUDE_DIR)

CFLAGS = $(INCLUDES) -D_LINUX -g -Wall -O3

LIBS
=	$(CMEM_INSTALL_DIR)/packages/ti/sdo/linuxutils/cmem/lib/cmem.a470MV \
	-L$(LIVE_DIR)/BasicUsageEnvironment -lBasicUsageEnvironment \
	-L$(LIVE_DIR)/UsageEnvironment -lUsageEnvironment \
	-L$(LIVE_DIR)/groupsock -lgroupsock \
	-L$(LIVE_DIR)/liveMedia -lliveMedia

OBJS = wis-streamer.o Err.o APPROInput.o \
	WISServerMediaSubsession.o \
	WISJPEGStreamSource.o \
	WISJPEGVideoServerMediaSubsession.o \
	WISMPEG4VideoServerMediaSubsession.o \
	WISH264VideoServerMediaSubsession.o \
	WISPCMAudioServerMediaSubsession.o \
	$(APP_LIB_DIR)/Appro_interface.a

$(EXEC): $(OBJS)
	$(CPLUSPLUS) $(CFLAGS) -o $(EXEC) $(OBJS) $(LIBS)


wis-streamer.cpp:			Err.hh

Err.cpp:				Err.hh

APPROInput.cpp:				APPROInput.hh Err.hh

WISServerMediaSubsession.cpp:		WISServerMediaSubsession.hh

WISServerMediaSubsession.hh:		APPROInput.hh
WISMPEG4VideoServerMediaSubsession.hh:	WISServerMediaSubsession.hh

WISMPEG4VideoServerMediaSubsession.cpp:	WISMPEG4VideoServerMediaSubsession.hh

WISH264VideoServerMediaSubsession.hh:	WISServerMediaSubsession.hh

WISH264VideoServerMediaSubsession.cpp:	WISH264VideoServerMediaSubsession.hh

WISJPEGStreamSource.cpp:		WISJPEGStreamSource.hh
WISPCMAudioServerMediaSubsession.cpp:	WISPCMAudioServerMediaSubsession.hh


.c.o:
	$(CC) -c $(CFLAGS) $< -o $@

.cpp.o:
	$(CPLUSPLUS) -c $(CFLAGS) $< -o $@

clean:
	rm -f *.o *~
	rm -f $(EXEC)





More information about the live-devel mailing list