You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Peter Silva <Pe...@gmail.com> on 2008/06/15 22:37:38 UTC

build c++ broker under ubuntu 8.04

did svn co of trunk
peter@tough:~/apps/qpid/cpp$ ./bootstrap
peter@tough:~/apps/qpid/cpp$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
che . . .
checking for ruby... ruby
checking boost/shared_ptr.hpp usability... no
checking boost/shared_ptr.hpp presence... no
checking for boost/shared_ptr.hpp... no
configure: error: Missing required header files.
peter@tough:~/apps/qpid/cpp$
peter@tough:~/apps/qpid/cpp$   ls -l /usr/include/boost/shared_ptr.hpp
-rw-r--r-- 1 root root 13969 2008-03-21 07:33
/usr/include/boost/shared_ptr.hpp
peter@tough:~/apps/qpid/cpp$ dpkg -l | grep boost
peter@tough:~/apps/qpid/cpp$ dpkg -l | grep boost
ii  libboost-dev
1.34.1-4ubuntu3                   Boost C++ Libraries development files
ii  libboost-filesystem-dev
1.34.1-4ubuntu3                   filesystem operations (portable paths,
itera
ii  libboost-filesystem1.34.1
1.34.1-4ubuntu3                   filesystem operations (portable paths,
itera
ii  libboost-graph-dev
1.34.1-4ubuntu3                   generic graph components and algorithms in
C
ii  libboost-iostreams-dev
1.34.1-4ubuntu3                   Boost.Iostreams Library development files
ii  libboost-iostreams1.34.1
1.34.1-4ubuntu3                   Boost.Iostreams Library
ii  libboost-program-options-dev
1.34.1-4ubuntu3                   program options library for C++
ii  libboost-program-options1.34.1
1.34.1-4ubuntu3                   program options library for C++
ii  libboost-regex-dev
1.34.1-4ubuntu3                   regular expression library for C++
ii  libboost-regex1.34.1
1.34.1-4ubuntu3                   regular expression library for C++
ii  libboost-serialization-dev
1.34.1-4ubuntu3                   serialization library for C++
ii  libboost-serialization1.34.1
1.34.1-4ubuntu3                   serialization library for C++
ii  libboost-signals-dev
1.34.1-4ubuntu3                   managed signals and slots library for C++
ii  libboost-signals1.34.1
1.34.1-4ubuntu3                   managed signals and slots library for C++
ii  libboost-test-dev
1.34.1-4ubuntu3                   components for writing and executing test
su
ii  libboost-test1.34.1
1.34.1-4ubuntu3                   components for writing and executing test
su
ii  libboost-thread-dev
1.34.1-4ubuntu3                   portable C++ multi-threading
ii  libboost-thread1.34.1
1.34.1-4ubuntu3                   portable C++ multi-threading
ii  libboost-wave-dev
1.34.1-4ubuntu3                   C99/C++ preprocessor library
ii  libboost-wave1.34.1
1.34.1-4ubuntu3                   C99/C++ preprocessor library
peter@tough:~/apps/qpid/cpp$

I seem to have sufficient versions of all pre-requisites, any ideas?

Re: build c++ broker under ubuntu 8.04

Posted by Alan Conway <ac...@redhat.com>.
On Thu, 2008-06-19 at 08:28 -0400, Peter Silva wrote:
> On Thu, Jun 19, 2008 at 8:15 AM, Aidan Skinner <ai...@apache.org> wrote:
> 
> > On Thu, Jun 19, 2008 at 1:04 PM, Peter Silva <Pe...@gmail.com>
> > wrote:
> >
> > > the log is 60 K... It's hard to copy paste that much...
> > > ugh..
> > > ok try this...
> > > http://metpx.sf.net/config.log
> >
> > what's your c++ compiler path? it's look for 'g++', which it's not
> > finding. Configure should really fail at this point with something
> > helpful, rather than continuing.

I was surprised about this also, I thought that's what AC_PROG_CXX was
for in configure.ac. However the autoconf info says:

    Otherwise, if the macro is invoked without an argument, then
     search for a C++ compiler under the likely names (first `g++' and
     `c++' then other names).  If none of those checks succeed, then as
     a last resort set `CXX' to `g++'.

Anyone know how to get autoconf to fail if it can't find a C++ compiler
instead of mindlessly using g++?



Re: build c++ broker under ubuntu 8.04

Posted by Peter Silva <Pe...@gmail.com>.
On Thu, Jun 19, 2008 at 8:15 AM, Aidan Skinner <ai...@apache.org> wrote:

> On Thu, Jun 19, 2008 at 1:04 PM, Peter Silva <Pe...@gmail.com>
> wrote:
>
> > the log is 60 K... It's hard to copy paste that much...
> > ugh..
> > ok try this...
> > http://metpx.sf.net/config.log
>
> what's your c++ compiler path? it's look for 'g++', which it's not
> finding. Configure should really fail at this point with something
> helpful, rather than continuing.
>
> - Aidan
>

that helped a lot :-) I did 'which g++' got nothing, it was called g++-3.3
then apt-get install g++, and it installed 3.4.  in the normal place...
I guess it was some non-default compatibility version or some such...
anyways, configure got a few lines further, then complained about uudev.h
files missing,

apt-get install uuid-dev

that configure completed.

make is running!

Re: build c++ broker under ubuntu 8.04

Posted by Aidan Skinner <ai...@apache.org>.
On Thu, Jun 19, 2008 at 1:04 PM, Peter Silva <Pe...@gmail.com> wrote:

> the log is 60 K... It's hard to copy paste that much...
> ugh..
> ok try this...
> http://metpx.sf.net/config.log

what's your c++ compiler path? it's look for 'g++', which it's not
finding. Configure should really fail at this point with something
helpful, rather than continuing.

- Aidan
-- 
aim/y!:aidans42 g:aidan.skinner@gmail.com
http://aidan.skinner.me.uk/
"We belong to nobody and nobody belongs to us. We don't even belong to
each other."

Re: build c++ broker under ubuntu 8.04

Posted by Peter Silva <Pe...@gmail.com>.
the log is 60 K... It's hard to copy paste that much...
ugh..
ok try this...
http://metpx.sf.net/config.log


On Thu, Jun 19, 2008 at 4:31 AM, Aidan Skinner <ai...@apache.org> wrote:

> On Thu, Jun 19, 2008 at 2:54 AM, Peter Silva <Pe...@gmail.com>
> wrote:
>
> > config.log attached.
>
> Which, of course, got stripped by mailman. Hurrah. Any chance you put
> in pastebin or somewhere?
>
> Thanks,
>
> - Aidan
> --
> aim/y!:aidans42 g:aidan.skinner@gmail.com <g%...@gmail.com>
> http://aidan.skinner.me.uk/
> "We belong to nobody and nobody belongs to us. We don't even belong to
> each other."
>

Re: build c++ broker under ubuntu 8.04

Posted by Aidan Skinner <ai...@apache.org>.
On Thu, Jun 19, 2008 at 2:54 AM, Peter Silva <Pe...@gmail.com> wrote:

> config.log attached.

Which, of course, got stripped by mailman. Hurrah. Any chance you put
in pastebin or somewhere?

Thanks,

- Aidan
-- 
aim/y!:aidans42 g:aidan.skinner@gmail.com
http://aidan.skinner.me.uk/
"We belong to nobody and nobody belongs to us. We don't even belong to
each other."

Re: build c++ broker under ubuntu 8.04

Posted by Peter Silva <Pe...@gmail.com>.
dpkg -l -- lists all the packages installed on the current machine.
(ii on the left indicates it is installed correctly, not corrupt, removed or
partial...)

peter@tough:~/etc/network$ dpkg -l | grep g++
ii  g++-3.3         1:3.3.6-15ubuntu6           The GNU C++ compiler
peter@tough:~/etc/network$

On debian derived distros, -dev is the equivalent of -devel on Redhat
inspired ones.

peter@tough:~/apps/qpid/cpp$ dpkg -l | grep boost | grep dev
ii  libboost-dev
1.34.1-4ubuntu3                    Boost C++ Libraries development files
ii  libboost-filesystem-dev
1.34.1-4ubuntu3                    filesystem operations (portable paths,
itera
ii  libboost-graph-dev
1.34.1-4ubuntu3                    generic graph components and algorithms
in C
ii  libboost-iostreams-dev
1.34.1-4ubuntu3                    Boost.Iostreams Library development files
ii  libboost-program-options-dev
1.34.1-4ubuntu3                    program options library for C++
ii  libboost-regex-dev
1.34.1-4ubuntu3                    regular expression library for C++
ii  libboost-serialization-dev
1.34.1-4ubuntu3                    serialization library for C++
ii  libboost-signals-dev
1.34.1-4ubuntu3                    managed signals and slots library for C++
ii  libboost-test-dev
1.34.1-4ubuntu3                    components for writing and executing test
su
ii  libboost-thread-dev
1.34.1-4ubuntu3                    portable C++ multi-threading
ii  libboost-wave-dev
1.34.1-4ubuntu3                    C99/C++ preprocessor library
peter@tough:~/apps/qpid/cpp$


config.log attached.


On Wed, Jun 18, 2008 at 10:55 AM, Alan Conway <ac...@redhat.com> wrote:

> On Wed, 2008-06-18 at 09:50 +0100, Aidan Skinner wrote:
> > On Wed, Jun 18, 2008 at 3:27 AM, Peter Silva <Pe...@gmail.com>
> wrote:
> >
> > > export PKG_CONFIG=/usr/bin/pkg-config
> > > export CXXFLAGS=-I/usr/include
> > >
> > > no change in behaviour.
> >
> > Can you attach the contents of config.log?
> >
> > - Aidan
>
> Do you have the boost developer package installed? On fedora it's
> boost-devel not sure what its called on Ubuntu.
>
>
>

Re: build c++ broker under ubuntu 8.04

Posted by Alan Conway <ac...@redhat.com>.
On Wed, 2008-06-18 at 09:50 +0100, Aidan Skinner wrote:
> On Wed, Jun 18, 2008 at 3:27 AM, Peter Silva <Pe...@gmail.com> wrote:
> 
> > export PKG_CONFIG=/usr/bin/pkg-config
> > export CXXFLAGS=-I/usr/include
> >
> > no change in behaviour.
> 
> Can you attach the contents of config.log?
> 
> - Aidan

Do you have the boost developer package installed? On fedora it's
boost-devel not sure what its called on Ubuntu.



Re: build c++ broker under ubuntu 8.04

Posted by Aidan Skinner <ai...@apache.org>.
On Wed, Jun 18, 2008 at 3:27 AM, Peter Silva <Pe...@gmail.com> wrote:

> export PKG_CONFIG=/usr/bin/pkg-config
> export CXXFLAGS=-I/usr/include
>
> no change in behaviour.

Can you attach the contents of config.log?

- Aidan
-- 
aim/y!:aidans42 g:aidan.skinner@gmail.com
http://aidan.skinner.me.uk/
"We belong to nobody and nobody belongs to us. We don't even belong to
each other."

Re: build c++ broker under ubuntu 8.04

Posted by Peter Silva <Pe...@gmail.com>.
export PKG_CONFIG=/usr/bin/pkg-config
export CXXFLAGS=-I/usr/include

no change in behaviour.

On Sun, Jun 15, 2008 at 11:32 PM, Danushka Menikkumbura <da...@wso2.com>
wrote:

> Hi Peter,
>   Ideally /usr/include is included in the standard include path. I can
> recall there was a post on this list about the same issue some time back.
> Anyways just go through the "2.3. Important Environment Variable Settings"
> in the INSTALL file and do the settings as mentioned there. With that you
> should be able to get rid of the issue.
>
> Danushka
>
>

C# API receiving null values

Posted by Shahbaz Chaudhary <sc...@marcopolonetwork.com>.
I am using qpid's last stable release: M2

I am trying to subscribe to a topic using the C# API, publishing using the Java API (JMS) and the broker is also Java (rather than the C++ version).

It looks like my C# program is correctly listening to incoming messages (my 'OnMessage' function is called repeatedly), however, there doesn't seem to be anything of value in the IMessage payload.

I get the following exception:

System.ArgumentNullException: Value cannot be null.
Parameter name: uriString
   at System.Uri..ctor(String uriString)
   at Apache.Qpid.Client.Message.BindingURL.Parse()
   at Apache.Qpid.Client.Message.BindingURL..ctor(String url)
   at Apache.Qpid.Client.Message.AbstractQmsMessage.ReadReplyToHeader()
   at Apache.Qpid.Client.Message.AbstractQmsMessage.get_ReplyToExchangeName()
   at Apache.Qpid.Client.Message.AbstractQmsMessage.ToString()

But I can't figure out where this is coming from.  This is apparently not even a qpid specific exception, people on the web have see something similar with ASP.NET, web services, etc.

Following is the toString result of the message I send through my Java API:

Body:

{price=10.617051124572754, symbol=MSFT, size=8185460096350332850}

JMS Correlation ID: null

JMS timestamp: 0

JMS expiration: 0

JMS priority: 0

JMS delivery mode: 0

JMS reply to: null

JMS Redelivered: false

JMS Destination: null

JMS Type: null

JMS MessageID: ID:a3bb43c2-c51d-4c56-b55f-6bcab0f4f314

AMQ message number: -1

Properties:<NONE>

My code is a basically a simplified version of TopicListener.cs, available in qpid's svn.

Please let me know if I miseed something here.

Following is my code:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using Apache.Qpid.Messaging;

using Apache.Qpid.Client.Qms;

using Apache.Qpid.Client;

namespace QPidSubscriber

{

class QPidSubscriber

{

Apache.Qpid.Messaging.IConnection connection;

IConnectionInfo connectionInfo;

IChannel channel;

IMessageConsumer consumer;

string qpidServer = "amqp://guest:guest@1/test?brokerlist='tcp://localhost:5672'";

string topicName = "md.bids";

string fieldName = "size";

object fieldValue;

public QPidSubscriber()

{

initializeQpid(qpidServer);

initializeNewTopicField(topicName, fieldName);

}

void initializeQpid(string url)

{

connectionInfo = QpidConnectionInfo.FromUrl(url);

connection = new AMQConnection(connectionInfo);

channel = connection.CreateChannel(false, AcknowledgeMode.AutoAcknowledge, 1);

//connection.Start();

}

void initializeNewTopicField(string topic, string field)

{

string tempQ = channel.GenerateUniqueName();

channel.DeclareQueue(tempQ, false, true, true); 

channel.Bind(tempQ, ExchangeNameDefaults.TOPIC, topic);

consumer = channel.CreateConsumerBuilder(tempQ).Create();

consumer.OnMessage += new MessageReceivedDelegate(OnMessage);

connection.Start();

}

public void OnMessage(IMessage message)

{

//fieldValue = message.Headers.GetLong(fieldName).ToString();

fieldValue = message.Headers[fieldName];

Console.WriteLine(fieldValue);//<== fieldValue is always null!!

Console.WriteLine(message);

}

static void Main(string[] args)

{

QPidSubscriber qps = new QPidSubscriber();

Console.ReadLine();

}

}

}


Re: build c++ broker under ubuntu 8.04

Posted by Danushka Menikkumbura <da...@wso2.com>.
Hi Peter,
    Ideally /usr/include is included in the standard include path. I can 
recall there was a post on this list about the same issue some time 
back. Anyways just go through the "2.3. Important Environment Variable 
Settings" in the INSTALL file and do the settings as mentioned there. 
With that you should be able to get rid of the issue.

Danushka


Re: build c++ broker under ubuntu 8.04

Posted by Aidan Skinner <ai...@apache.org>.
On Wed, Jun 18, 2008 at 12:11 PM, Kim van der Riet
<ki...@redhat.com> wrote:

> Forgive me if this seems obvious, but I have seen this before when
> building on a fresh os install. Even with boost installed, the automake
> system does a usibility/presence test by performing a trivial compile
> using the c++ compiler, and if gcc-c++ is not installed, this is the
> outcome - rather confusing.
>
> Try checking that the gcc-c++ package is installed.

Ah, that's what bit me in the past! That's quite possible. I thought
configure.ac had been fixed to check for that explicitly, although I
can't find any evidence for that ;)

-- 
aim/y!:aidans42 g:aidan.skinner@gmail.com
http://aidan.skinner.me.uk/
"We belong to nobody and nobody belongs to us. We don't even belong to
each other."

Re: build c++ broker under ubuntu 8.04

Posted by Kim van der Riet <ki...@redhat.com>.
On Sun, 2008-06-15 at 16:37 -0400, Peter Silva wrote:
> checking boost/shared_ptr.hpp usability... no
> checking boost/shared_ptr.hpp presence... no
> checking for boost/shared_ptr.hpp... no

Forgive me if this seems obvious, but I have seen this before when
building on a fresh os install. Even with boost installed, the automake
system does a usibility/presence test by performing a trivial compile
using the c++ compiler, and if gcc-c++ is not installed, this is the
outcome - rather confusing.

Try checking that the gcc-c++ package is installed.

Kim