< 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


Wow! I don't know how we went so long with that hardcoded in there! It shouldn't be hardcoded for *either* the platform *or* the processor.

What *should* be done here is that the build/Makefile.osarch should be modified to generate an appropriate string (e.g. "linux-generic64") based on the detected platform, and *that* variable should be used by the top-level Makefile when configuring OpenSSL. I don't know when I'll have time to work on this, so if anyone else wants to take a whack at it, feel free.

/a

On 8/27/10 19:53, Aug 27, Eric Cozzi wrote:
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/
_______________________________________________
resiprocate-users mailing list
resiprocate-users@xxxxxxxxxxxxxxx
List Archive: http://list.resiprocate.org/archive/resiprocate-users/