[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