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

Re: [reSIProcate] migrating from 0.9.0 to 1.0.2 (compiling problem)


Looks like you need openssl too. Take a look at the commands used to link 
testdrivers. You need a few more libraries after the Resip one. I am on a 
blackberry so I cannot really cut and paste a working example 

Alan
-----Original Message-----
From: "Felipe Louback" <louback@xxxxxxxxx>
Date: Tue, 28 Nov 2006 20:23:48 
To:"Jason Fischl" <jason@xxxxxxxxxxxxxxx>
Cc:"Alan Hawrylyshen" <alan@xxxxxxxxxxxx>,       resiprocate-devel 
<resiprocate-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [reSIProcate] migrating from 0.9.0 to 1.0.2 (compiling problem)

Thanks for you tip Jason, but I still got no success. For example, if
to compile testServer.cxx that comes with resiprocate 1.0.2, what
would be the compile line?

When I try:
[root@localhost test]# pwd
/var/tmp/resiprocate-1.0.2/resip/stack/test

[root@localhost test]# g++ testServer.cxx -lresip -lrutil -o testServer

/usr/local/lib/libresip.a(Helper.o)(.text+0x9ef1): In function
`resip::Helper::gruuUserPart(resip::Data const&, resip::Data const&,
resip::Data const&)':
/var/tmp/resiprocate-1.0.2/resip/stack/Helper.cxx:1526: undefined
reference to `BF_set_key'
/usr/local/lib/libresip.a(Helper.o)(.text+0xa1f3):/var/tmp/resiprocate-1.0.2/resip/stack/Helper.cxx:1537:
undefined reference to `BF_cbc_encrypt'
/usr/local/lib/libresip.a(Helper.o)(.text+0xa4e2): In function
`resip::Helper::fromGruuUserPart(resip::Data const&, resip::Data
const&)':
/var/tmp/resiprocate-1.0.2/resip/stack/Helper.cxx:1572: undefined
reference to `BF_set_key'
/usr/local/lib/libresip.a(Helper.o)(.text+0xa58b):/var/tmp/resiprocate-1.0.2/resip/stack/Helper.cxx:1577:
undefined reference to `BF_cbc_encrypt'
/usr/local/lib/libresip.a(Security.o)(.text+0xe1b): In function
`verifyCallback':

And the error line goes on and on....

Using resiprocate 0.9.0, I just launched a
#g++ -lresiprocate testServer.cxx -o testServer
And everything was just fine.

Sorry if my question was too dummie, but I am not very good using gcc/g++.

Thanks for the help;

Felipe Louback


On 11/27/06, Jason Fischl <jason@xxxxxxxxxxxxxxx> wrote:
> The link line would look like:
>
> g++ -o foo foo.o -lresip -lrutil
>
>
>
> On 11/27/06, Alan Hawrylyshen <alan@xxxxxxxxxxxx> wrote:
> > Additionally the library order can affect the link success. Traditionally, 
> > we would link object files then high level libraries then the support 
> > libraries.
> >
> > A
> >
> > -----Original Message-----
> > From: "Jason Fischl" <jason@xxxxxxxxxxxxxxx>
> > Date: Mon, 27 Nov 2006 16:07:40
> > To:"Felipe Louback" <louback@xxxxxxxxx>
> > Cc:resiprocate-devel <resiprocate-devel@xxxxxxxxxxxxxxxxxxx>
> > Subject: Re: [reSIProcate] migrating from 0.9.0 to 1.0.2 (compiling problem)
> >
> > It is split into two libraries now. You also need to compile against
> > rutil and link against librutil.a.
> >
> > On 11/27/06, Felipe Louback <louback@xxxxxxxxx> wrote:
> > > Hi,
> > >
> > > I am updating my system to use the version 1.0.2. I was using version
> > > 0.9.0. I am trying to recompile a code that was working with
> > > resiprocate 0.9.0 but now I am having problems. I have a redirect code
> > > called redirect.cxx.
> > >
> > > With resiprocate 0.9.0 I used to type to following line to compile my 
> > > program:
> > >
> > > #g++ -lresiprocate redirect.cxx
> > >
> > > But I am in doubt in what should I pass in the command line to compile
> > > the same program with resiprocate 1.0.2. I am typing:
> > >
> > > # g++ -lresip redirect.cxx
> > > or
> > > # g++ -lrutil  -lares  -lssl  -lcrypto  -lpthread  -lpopt -lresip 
> > > redirect.cxx
> > >
> > > And I am having the following output:
> > > # g++ -lrutil  -lares  -lssl  -lcrypto  -lpthread  -lpopt -lresip 
> > > redirect.cxx
> > > /tmp/ccbt3Kq4.o(.text+0x1a5): In function `SipProxy::SipProxy()':
> > > : undefined reference to `resip::DnsStub::EmptyNameserverList'
> > > /tmp/ccbt3Kq4.o(.text+0x1af): In function `SipProxy::SipProxy()':
> > > : undefined reference to `resip::SipStack::SipStack(resip::Security*,
> > > std::vector<resip::GenericIPAddress,
> > > std::allocator<resip::GenericIPAddress> > const&,
> > > resip::AsyncProcessHandler*, bool, void (*)(int, int, char const*,
> > > int))'
> > > /tmp/ccbt3Kq4.o(.text+0x1bc): In function `SipProxy::SipProxy()':
> > > : undefined reference to `resip::Data::Empty'
> > > /tmp/ccbt3Kq4.o(.text+0x1c1): In function `SipProxy::SipProxy()':
> > > : undefined reference to `resip::Data::Empty'
> > > /tmp/ccbt3Kq4.o(.text+0x1c6): In function `SipProxy::SipProxy()':
> > > : undefined reference to `resip::Data::Empty'
> > > /tmp/ccbt3Kq4.o(.text+0x1d9): In function `SipProxy::SipProxy()':
> > > : undefined reference to
> > > `resip::SipStack::addTransport(resip::TransportType, int,
> > > resip::IpVersion, resip::StunSetting, resip::Data const&, resip::Data
> > > const&, resip::Data const&, resip::SecurityTypes::SSLType)'
> > > /tmp/ccbt3Kq4.o(.text+0x1ef): In function `SipProxy::SipProxy()':
> > > : undefined reference to `resip::SipStack::~SipStack()'
> > > /tmp/ccbt3Kq4.o(.text+0x21b): In function `SipProxy::SipProxy()':
> > > : undefined reference to `resip::DnsStub::EmptyNameserverList'
> > > /tmp/ccbt3Kq4.o(.text+0x225): In function `SipProxy::SipProxy()':
> > > : undefined reference to `resip::SipStack::SipStack(resip::Security*,
> > > std::vector<resip::GenericIPAddress,
> > > std::allocator<resip::GenericIPAddress> > const&,
> > > resip::AsyncProcessHandler*, bool, void (*)(int, int, char const*,
> > > int))'
> > > /tmp/ccbt3Kq4.o(.text+0x232): In function `SipProxy::SipProxy()':
> > > : undefined reference to `resip::Data::Empty'
> > > /tmp/ccbt3Kq4.o(.text+0x237): In function `SipProxy::SipProxy()':
> > > : undefined reference to `resip::Data::Empty'
> > > /tmp/ccbt3Kq4.o(.text+0x23c): In function `SipProxy::SipProxy()':
> > > (and that goes on and on)
> > >
> > > In my source code, I already updated the include files. Here are them:
> > >
> > > #ifndef WIN32
> > > #include <sys/time.h>
> > > #include <unistd.h>
> > > #include <sys/socket.h>
> > > #include <netinet/in.h>
> > > #include <arpa/inet.h>
> > > #endif
> > >
> > > #include <sys/types.h>
> > > #include <memory>
> > >
> > > #include "resip/stack/Helper.hxx"
> > > #include "resip/stack/SipMessage.hxx"
> > > #include "resip/stack/Uri.hxx"
> > > #include "resip/stack/SipStack.hxx"
> > > #include "resip/stack/SdpContents.hxx"
> > > #include "rutil/Logger.hxx"
> > > #include "rutil/DnsUtil.hxx"
> > > #include "rutil/ThreadIf.hxx"
> > >
> > >
> > > #include <iostream>
> > > #include <stdio.h>
> > > #include <stdlib.h>
> > > #include <string.h>
> > >
> > >
> > > What am I missing here? What should be the command line to recompile
> > > the source code that before used to work with g++ -lresiprocate
> > > redirect.cxx?
> > >
> > > Thanks in advance,
> > >
> > > Felipe
> > >
> > > --
> > > Master Student - Electrical Engineering Department
> > > Computer Engineering and Telecommunications Research Group
> > > Universidade Federal de Minas Gerais - Brazil
> > >
> > > "Come to me, all you who are weary and burdened, and I will give you 
> > > rest."
> > > Matthews 11:28
> > > _______________________________________________
> > > resiprocate-devel mailing list
> > > resiprocate-devel@xxxxxxxxxxxxxxxxxxxx
> > > https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
> > >
> > _______________________________________________
> > resiprocate-devel mailing list
> > resiprocate-devel@xxxxxxxxxxxxxxxxxxxx
> > https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
> >
> >
>


-- 
Master Student - Electrical Engineering Department
Computer Engineering and Telecommunications Research Group
Universidade Federal de Minas Gerais - Brazil

"Come to me, all you who are weary and burdened, and I will give you rest."
Matthews 11:28