< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index Next in Thread >

Re: [reSIProcate-users] Problem compiling recon under Centos 5.5 64-bit


All,

I think I finally figured out my last issue. The problem was that the 
resiprocate Make file was specifying 'linux-generic32' instead of 
'linux-generic64' when calling the ./Configure script for openssl. In my case, 
since I'm compiling under a 64-bit Linux, I obviously want to use the 64-bit 
version of openssl.

Once I validate my build steps one last time, I'll send them out to the list 
for anyone who cares to see.

Thanks again,
Eric

----- Original Message -----
From: "Eric Cozzi" <ericc@xxxxxxxxxx>
To: "Scott Godin" <sgodin@xxxxxxxxxxxxxxx>
Cc: resiprocate-users@xxxxxxxxxxxxxxx
Sent: Friday, August 27, 2010 2:08:02 PM
Subject: Re: [reSIProcate-users] Problem compiling recon under Centos 5.5 64-bit

With Scott's generous help, I was finally able to get a clean compile. However, 
when I go to run testUA under CentOS 5.5 64-bit, it becomes unresponsive. After 
some digging, I've identified that its hanging when calling RSA_generate_key 
from FlowManager::CreateCert. I also noticed that I'm getting a sipXtapilog.txt 
file in the same directory as my application with a few errors in it (I get 
additional errors in this file if I don't run the application as root). Not 
sure if that's related to the RSA issue -- I wouldn't think so, but I've been 
proven wrong before. 

I wonder if anyone has encountered anything like this before. 

Eric

----- Original Message -----
From: "Eric Cozzi" <ericc@xxxxxxxxxx>
To: "Scott Godin" <sgodin@xxxxxxxxxxxxxxx>
Cc: resiprocate-users@xxxxxxxxxxxxxxx
Sent: Tuesday, August 24, 2010 10:22:52 AM
Subject: Re: [reSIProcate-users] Problem compiling recon under Centos 5.5 64-bit

Scott,

Thank you for your response. The ~/resip/contrib/openssl/openssl/ssl.h file is 
the correct version and does contain the definition that you indicate below. 
However, I'm also separately installing the openssl-devel.x86_64 package. Might 
the compiler be finding these header files instead of the patched versions? I 
tried removing the openssl-devel.x86_64 package, building the patched SSL, and 
then rebuilding sipXtapi, et al. Unfortunately, I'm getting the following 
error. Seems like the instructions for building recon are missing a few 
"steps." Any suggestions you can offer as to how to get a clean compile would 
be greatly appreciated. 

        cd ~/resip/contrib/openssl
        ./Configure linux-generic64 --openssldir=/usr enable-tlsext
        make depend
        make

        /usr/bin/ld: /usr/lib/libssl.a(s23_meth.o): relocation R_X86_64_32 
against 
          `a local symbol' can not be used when making a shared object; 
recompile with -fPIC

Thanks,
Eric
----- Original Message -----
From: "Scott Godin" <sgodin@xxxxxxxxxxxxxxx>
To: "Eric Cozzi" <ericc@xxxxxxxxxx>
Cc: resiprocate-users@xxxxxxxxxxxxxxx
Sent: Monday, August 23, 2010 2:56:45 PM
Subject: Re: [reSIProcate-users] Problem compiling recon under Centos 5.5 64-bit

Hi Eric,

A quick look at this, seems to indicate that the build is not
referencing the patched openssl build for DTLS/SRTP support.  The
~/resip/contrib/openssl/openssl/ssl.h file should include the
following definition:
#ifndef OPENSSL_NO_SRTP
typedef struct srtp_protection_profile_st
    {
    const char *name;
    unsigned long id;
    int master_key_bits;
    int salt_bits;
    } SRTP_PROTECTION_PROFILE;

DECLARE_STACK_OF(SRTP_PROTECTION_PROFILE);
#endif

If you are cross compiling you will need to build the openssl project
separately.  See the instruction here:
http://www.resiprocate.org/Building_recon#Building_recon_on_Generic_Linux

Regards,
Scott


On Wed, Aug 18, 2010 at 4:25 PM, Eric Cozzi <ericc@xxxxxxxxxx> wrote:
> All,
>
> I've been trying to get recon compiled under Centos 5.5 64-bit for the last 
> several days. I've worked through many of the issues that I've hit, but I 
> keep hitting new issues. Currently I'm receiving the following errors:
>
> g++ -march=x86-64 -D_REENTRANT  -Wall  -I../build/../reTurn 
> -I../build/../contrib/asio -I../build/.. -I../build/../contrib/ares 
> -I~/resip/contrib/openssl/include -I../build/../contrib/srtp/include 
> -I../build/../contrib/srtp/crypto/include/ -I/usr/include -DUSE_SSL 
> -DBOOST_ALL_NO_LIB -DOS_MAJOR_VER=2 -DOS_MINOR_VER=6 -DOS_POINT_VER=18-194 
> -DOS_PATCH_VER=11 -DRESIP_OSTYPE_LINUX -DRESIP_ARCH_X86_64 
> -DRESIP_LARCH_X86_64 -DRESIP_TOOLCHAIN_GNU -DUSE_ARES -c -o 
> obj.nodebug.Linux.x86_64/Flow.o Flow.cxx
> dtls_wrapper/DtlsSocket.hxx:93: error: ISO C++ forbids declaration of 
> ‘SRTP_PROTECTION_PROFILE’ with no type
> dtls_wrapper/DtlsSocket.hxx:93: error: expected ‘;’ before ‘*’ token
> ../build/../rutil/Data.hxx:751: warning: ‘resip::invokeDataInit’ defined but 
> not used
> make[1]: *** [obj.nodebug.Linux.x86_64/Flow.o] Error 1
> make[1]: Leaving directory `/home/ericc/resip/reflow'
> make: *** [reflow] Error 2
>
> Below are the steps I'm using to setup my system and compile. Any help 
> figuring this out would be appreciated.
>
>   1. Open terminal to user's home directory (eg, /home/ericc)
>   2. svn checkout https://svn.resiprocate.org/rep/resiprocate/main resip
>   3. svn checkout https://scm.sipfoundry.org/rep/sipX/main sipXtapi
>   4. cd resip/contrib
>   5. svn checkout 
> https://svn.resiprocate.org/rep/resiprocate/contrib/dtls-srtp/openssl openssl
>   6. as root, yum -y install boost.x86_64 boost-devel.x86_64
>   7. as root, download and install 
> http://packages.sw.be/cppunit/cppunit-1.12.0-3.el5.rf.x86_64.rpm
>        wget http://packages.sw.be/cppunit/cppunit-1.12.0-3.el5.rf.x86_64.rpm
>        rpm -i cppunit-1.12.0-3.el5.rf.x86_64.rpm
>   8. as root, download and install 
> http://packages.sw.be/cppunit/cppunit-devel-1.12.0-3.el5.rf.x86_64.rpm
>        wget 
> http://packages.sw.be/cppunit/cppunit-devel-1.12.0-3.el5.rf.x86_64.rpm
>        rpm -i cppunit-devel-1.12.0-3.el5.rf.x86_64.rpm
>   9. as root, yum -y install pcre-devel.x86_64
>  11. as root, yum -y install openssl-devel.x86_64
>  12. as root, download, compile and install 
> http://ftp.gnu.org/gnu/autoconf/autoconf-2.63.tar.gz
>        wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.63.tar.gz
>        tar xvzf autoconf-2.63.tar.gz
>        cd autoconf-2.63
>        ./configure --prefix=/usr
>        make
>        make install
>        cd ..
>  13. mkdir /tmp/stage
>  14. Go to sipXtapi root
>  15. To build sipXportLib:
>        cd sipXportLib
>        autoreconf -fi
>        ./configure --prefix=/tmp/stage --with-pcre_libdir=/usr/lib64/
>        make & make install
>        cd ..
>  16. To build sipXsdpLib:
>        cd sipXsdpLib
>        autoreconf -fi
>        ./configure --prefix=/tmp/stage --with-pcre_libdir=/usr/lib64/
>        make & make install
>        cd ..
>  17. Modify mp/MpodOss.cpp
>        cd sipXmediaLib/src/mp
>        edit MpodOss.cpp and add '#include "os/OsCallback.h"' below '#include 
> "os/OsNotification.h"'
>        cd ../..
>  18. To build sipXmediaLib:
>        autoreconf -fi
>        ./configure --prefix=/tmp/stage --enable-local-audio 
> --disable-stream-player --with-pcre_libdir=/usr/lib64/
>        make & make install
>  19. To build sipXmediaAdapterLib:
>        cd sipXmediaAdapterLib
>        autoreconf -fi
>        ./configure --prefix=/tmp/stage --enable-topology-graph 
> --disable-stream-player --with-pcre_libdir=/usr/lib64/
>        make & make install
>  20. Go to resip/
>  21. run ./configure
>        [ericc@localhost resip]$ ./configure
>        What compile profile will you use?
>        (debug, nodebug, opt, gopt, prof, small) [debug] nodebug
>        Build the Repro proxy server?
>        (yes, no) [yes] no
>        Build the reCon Conversation Manager? (requires dtls-srtp patched 
> OpenSSL)
>        (yes, no) [no] yes
>        Do you want to include SIP over DTLS support? (Requires OpenSSL 0.9.8+)
>        (yes, no) [no] yes
>        Where is OpenSSL? (leave blank to use installed copy)
>        [] ~/resip/contrib/openssl
>        Where is popt.h?
>        [/usr/local/include] /usr/include
>        Where is libpopt?
>        [/usr/local/lib] /usr/lib
>        Writing Makefile.conf...
>  22. make
>
> Thanks,
> Eric
> _______________________________________________
> resiprocate-users mailing list
> resiprocate-users@xxxxxxxxxxxxxxx
> List Archive: http://list.resiprocate.org/archive/resiprocate-users/
_______________________________________________
resiprocate-users mailing list
resiprocate-users@xxxxxxxxxxxxxxx
List Archive: http://list.resiprocate.org/archive/resiprocate-users/
_______________________________________________
resiprocate-users mailing list
resiprocate-users@xxxxxxxxxxxxxxx
List Archive: http://list.resiprocate.org/archive/resiprocate-users/