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/