DoubangoTelecom / telepresence

the open source SIP TelePresence system
https://www.doubango.org/conf-call/
148 stars 97 forks source link

SipSession.h: No such file or directory #55

Open simon-fu opened 8 years ago

simon-fu commented 8 years ago

I follow the guide and clone code from github, but I got this error when make telepresence. The detail info is as below. After google, I find an old issue https://code.google.com/p/telepresence/issues/detail?id=19 Should I checkout code from google code instead of github?

In file included from include/opentelepresence/OTEngine.h:8:0,
             from include/OpenTelepresenceAPI.h:14,
             from source/main.cc:7:
include/opentelepresence/OTWrap.h:17:24: fatal error: SipSession.h: No such file or directory
 #include "SipSession.h" 
Doeon commented 8 years ago

Had to change in bindings/Makefile.am of doubango, so it installs the bindings:

@@ -123,7 +123,10 @@ libtinyWRAP_la_SOURCES  = \

 if TARGET_OS_IS_ANDROID
 libtinyWRAP_la_SOURCES  +=  java/android/tinyWRAP_wrap.cxx
 endif

+_includedir = $(includedir)/tinywrap
+_include_HEADERS = _common/*.h
+
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = tinyWRAP.pc

And in the telepresence to actually use the bindings, the Makefile.am file:

@@ -15,18 +15,18 @@ ${TINYMEDIA_CFLAGS} \
 ${TINYXCAP_CFLAGS} \
 ${TINYSMS_CFLAGS} \
 ${TINYMSRP_CFLAGS} \
 ${TINYRTP_CFLAGS} \
 ${TINYIPSEC_CFLAGS} \
+${TINYWRAP_CFLAGS} \
 ${LIBAVCODEC_CFLAGS} \
 ${LIBAVFILTER_CFLAGS} \
 ${LIBAVFORMAT_CFLAGS} \
 ${LIBAVUTIL_CFLAGS} \
 ${LIBSWRESAMPLE_CFLAGS} \
 ${LIBSWSCAL_CFLAGS}  \
 ${OPENAL_CFLAGS} \
--Itinywrap \
 -Iinclude

 telepresence_LDADD = \
 ${DOUBANGO_LIBS_FALLBACK} \
 ${FFMPEG_LIBS_FALLBACK} \
@@ -43,10 +43,11 @@ ${TINYMEDIA_LIBS} \
 ${TINYXCAP_LIBS} \
 ${TINYSMS_LIBS} \
 ${TINYMSRP_LIBS} \
 ${TINYRTP_LIBS} \
 ${TINYIPSEC_LIBS} \
+${TINYWRAP_LIBS} \
 ${LIBAVCODEC_LIBS} \
 ${LIBAVFILTER_LIBS} \
 ${LIBAVFORMAT_LIBS} \
 ${LIBAVUTIL_LIBS} \
 ${LIBSWRESAMPLE_LIBS} \

And the configure.ac file in telepresence:

@@ -215,10 +215,11 @@ AC_SUBST(have_tinymedia, no)
 AC_SUBST(have_tinyxcap, no)
 AC_SUBST(have_tinysms, no)
 AC_SUBST(have_tinymsrp, no)
 AC_SUBST(have_tinyrtp, no)
 AC_SUBST(have_tinyipsec, no)
+AC_SUBST(have_tinywrap, no)
 PKG_CHECK_MODULES(TINYSAK, tinySAK >= ${DOUBANGO_MINVER}, AC_SUBST(have_tinysak, yes), AC_MSG_WARN(Cannot find tinySAK >= ${DOUBANGO_MINVER} using pkg-config))
 PKG_CHECK_MODULES(TINYNET, tinyNET >= ${DOUBANGO_MINVER}, AC_SUBST(have_tinynet, yes), AC_MSG_WARN(Cannot find tinyNET >= ${DOUBANGO_MINVER} using pkg-config))
 PKG_CHECK_MODULES(TINYHTTP, tinyHTTP >= ${DOUBANGO_MINVER}, AC_SUBST(have_tinyhttp, yes), AC_MSG_WARN(Cannot find tinyHTTP >= ${DOUBANGO_MINVER} using pkg-config))
 PKG_CHECK_MODULES(TINYSIP, tinySIP >= ${DOUBANGO_MINVER}, AC_SUBST(have_tinysip, yes), AC_MSG_WARN(Cannot find tinySIP >= ${DOUBANGO_MINVER} using pkg-config))
 PKG_CHECK_MODULES(TINYDAV, tinyDAV >= ${DOUBANGO_MINVER}, AC_SUBST(have_tinydav, yes), AC_MSG_WARN(Cannot find tinyDAV >= ${DOUBANGO_MINVER} using pkg-config))
@@ -229,12 +230,13 @@ PKG_CHECK_MODULES(TINYMEDIA, tinyMEDIA >= ${DOUBANGO_MINVER}, AC_SUBST(have_tiny
 PKG_CHECK_MODULES(TINYXCAP, tinyXCAP >= ${DOUBANGO_MINVER}, AC_SUBST(have_tinyxcap, yes), AC_MSG_WARN(Cannot find tinyxcap >= ${DOUBANGO_MINVER} using pkg-config))
 PKG_CHECK_MODULES(TINYSMS, tinySMS >= ${DOUBANGO_MINVER}, AC_SUBST(have_tinysms, yes), AC_MSG_WARN(Cannot find tinySMS >= ${DOUBANGO_MINVER} using pkg-config))
 PKG_CHECK_MODULES(TINYMSRP, tinyMSRP >= ${DOUBANGO_MINVER}, AC_SUBST(have_tinymsrp, yes), AC_MSG_WARN(Cannot find tinyMSRP >= ${DOUBANGO_MINVER} using pkg-config))
 PKG_CHECK_MODULES(TINYRTP, tinyRTP >= ${DOUBANGO_MINVER}, AC_SUBST(have_tinyrtp, yes), AC_MSG_WARN(Cannot find tinyRTP >= ${DOUBANGO_MINVER} using pkg-config))
 PKG_CHECK_MODULES(TINYIPSEC, tinyIPSec >= ${DOUBANGO_MINVER}, AC_SUBST(have_tinyipsec, yes), AC_MSG_WARN(Cannot find tinyIPSec >= ${DOUBANGO_MINVER} using pkg-config))
+PKG_CHECK_MODULES(TINYWRAP, tinyWRAP >= ${DOUBANGO_MINVER}, AC_SUBST(have_tinywrap, yes), AC_MSG_WARN(Cannot find tinyWRAP >= ${DOUBANGO_MINVER} using pkg-config))

-if test $have_tinysak:$have_tinynet:$have_tinyhttp:$have_tinysip:$have_tinydav:$have_tinysdp:$have_tinybfcp:$have_tinysigcomp:$have_tinymedia:$have_tinyxcap:$have_tinysms:$have_tinymsrp:$have_tinyrtp:$have_tinyipsec != yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yes ; then
+if test $have_tinysak:$have_tinynet:$have_tinyhttp:$have_tinysip:$have_tinydav:$have_tinysdp:$have_tinybfcp:$have_tinysigcomp:$have_tinymedia:$have_tinyxcap:$have_tinysms:$have_tinymsrp:$have_tinyrtp:$have_tinyipsec:$have_tinywrap != yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yes ; then
    AC_MSG_WARN([
 ***
 *** Failed to find all DOUBANGO libraries using pkg-config.
 *** This most likely means the DOUBANGO pkg files (*.pc) are not 
 *** in the default path where pkg-config expect them.
@@ -270,10 +272,11 @@ AC_SUBST(TINYMEDIA_LIBS,-ltinyMEDIA) AC_SUBST(TINYMEDIA_CFLAGS,-I${DOUBANGO_INCL
 AC_SUBST(TINYXCAP_LIBS,-ltinyXCAP) AC_SUBST(TINYXCAP_CFLAGS,-I${DOUBANGO_INCLUDES_PATH}/tinyxcap)
 AC_SUBST(TINYSMS_LIBS,-ltinySMS) AC_SUBST(TINYSMS_CFLAGS,-I${DOUBANGO_INCLUDES_PATH}/tinysms)
 AC_SUBST(TINYMSRP_LIBS,-ltinyMSRP) AC_SUBST(TINYMSRP_CFLAGS,-I${DOUBANGO_INCLUDES_PATH}/tinymsrp)
 AC_SUBST(TINYRTP_LIBS,-ltinyRTP) AC_SUBST(TINYRTP_CFLAGS,-I${DOUBANGO_INCLUDES_PATH}/tinyrtp)
 AC_SUBST(TINYIPSEC_LIBS,-ltinyIPSec) AC_SUBST(TINYIPSEC_CFLAGS,-I${DOUBANGO_INCLUDES_PATH}/tinyipsec)
+AC_SUBST(TINYWRAP_LIBS,-ltinyWRAP) AC_SUBST(TINYWRAP_CFLAGS,-I${DOUBANGO_INCLUDES_PATH}/tinywrap)
 fi

 if test $have_tinysak != yes; then
    AC_CHECK_HEADERS(tinysak/tinysak_config.h, 
        AC_CHECK_LIB(tinySAK, tsk_object_new, AC_SUBST(have_tinysak, yes), AC_MSG_ERROR(Failed to find libtinySAK), [${LIBDL}])
@@ -342,11 +345,15 @@ fi
 if test $have_tinyipsec != yes; then
    AC_CHECK_HEADERS(tinyipsec/tinyipsec_config.h, 
        AC_CHECK_LIB(tinyIPSec, tipsec_ctx_create, AC_SUBST(have_tinyipsec, yes) , AC_MSG_ERROR(Failed to find libtinyIPSec), [-ltinySAK ${LIBDL}])
    )
 fi
-
+if test $have_tinywrap != yes; then
+   AC_CHECK_HEADERS(tinywrap/tinywrap_config.h, 
+       AC_CHECK_LIB(tinyWRAP, tipsec_ctx_create, AC_SUBST(have_tinywrap, yes) , AC_MSG_ERROR(Failed to find libtinywrap), [-ltinyWRAP ${LIBDL}])
+   )
+fi

 AC_OUTPUT(
 Makefile
@@ -382,10 +389,11 @@ DOUBANGO
      TINYXCAP:                                 ${have_tinyxcap}
      TINYSMS:                                  ${have_tinysms}
      TINYMSRP:                                 ${have_tinymsrp}
      TINYRTP:                                  ${have_tinyrtp}
      TINYIPSEC:                                ${have_tinyipsec}
+     TINYWRAP:                                 ${have_tinywrap}

 FFMPEG

     AVCODEC:                                   ${have_libavcodec}
     AVFILTER                                   ${have_libavfilter}
Sivabalan83 commented 8 years ago

I also faced the same issue but found an work around without modifying the makefile. According to my research the major difference between the code checkouts from googlecodes and git hub is that the tinywrap folder is missing inside telepresence folder when checking out from git hub. if we place that tinywrap folder maybe directly checked out from git hub or svn, the making of telepresence goes ahead without any problem!!

Following are the list of folders found inside telepresence folder in the checked out branch. tinywrap folder is not found here.

telepresence/ Latest commit 76553b6 on Nov 10, 2015 Mamadou DIOP Merge branch 'master' of https://github.com/DoubangoTelecom/telepresence

documentation First public version 3 years ago doubango - 6 months ago fonts/truetype/freefont First public version 3 years ago images First public version 3 years ago include Align with Doubango 1089 2 years ago ragel First public version 3 years ago source Fix issue reported at https://groups.google.com/forum/#!topic/opentel… a year ago thirdparties First public version 3 years ago

And following is the list of folders that were found from a branch checked out from googlecodes.

[root@localhost telepresence_bkp]# ls -d */ autom4te.cache/ documentation/ doubango/ fonts/ images/ include/ m4/ ragel/ source/ thirdparties/ tinywrap/ website/

cnscns commented 8 years ago

@Doeon following your modifications ,but can't work

primoitt83 commented 7 years ago

Hey guys,

Let me contribute to this issue.

Almost 9 months have passed and not a word from Doubango!!

As @Sivabalan83 suggested I believe it's all about a simple path in the Makefile.

How to solve this???

Tested on CentOS 6.8

Locate your Doubango Framework's _common directory.

find / -name _common

Mine is located here:

/usr/src/doubango/bindings/_common/

Ok. Now go to Telepresence source code's directory

Mine is here:

cd /usr/src/telepresence

Execute the command below:

ln -s /usr/src/doubango/bindings/_common/ tinywrap

It's a simple symbolic link from /usr/src/doubango/bindings/_common/ to tinywrap

Now compile telepresence again and be happy 👍

We need someone to fix the source code!!!