You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Fraser Adams <fr...@blueyonder.co.uk> on 2014/09/27 17:18:30 UTC

Proton revision 1627945 barfs on cmake -DCMAKE_BUILD_TYPE=Debug ..

I just updated to r1627945 and when I do
cmake -DCMAKE_BUILD_TYPE=Debug ..
make

I get:

Linking C shared library libqpid-proton.so
CMakeFiles/qpid-proton.dir/src/codec/codec.c.o: In function 
`pni_node_fields':
/home/fadams/qpid/qpid-trunk/proton/proton-c/src/codec/codec.c:99: 
undefined reference to `pn_data_node'
CMakeFiles/qpid-proton.dir/src/codec/codec.c.o: In function 
`pni_node_index':
/home/fadams/qpid/qpid-trunk/proton/proton-c/src/codec/codec.c:117: 
undefined reference to `pn_data_node'
CMakeFiles/qpid-proton.dir/src/codec/codec.c.o: In function 
`pni_inspect_enter':
/home/fadams/qpid/qpid-trunk/proton/proton-c/src/codec/codec.c:254: 
undefined reference to `pn_data_node'
/home/fadams/qpid/qpid-trunk/proton/proton-c/src/codec/codec.c:256: 
undefined reference to `pn_data_node'
CMakeFiles/qpid-proton.dir/src/codec/codec.c.o: In function 
`pni_next_nonnull':
/home/fadams/qpid/qpid-trunk/proton/proton-c/src/codec/codec.c:303: 
undefined reference to `pn_data_node'
CMakeFiles/qpid-proton.dir/src/codec/codec.c.o:/home/fadams/qpid/qpid-trunk/proton/proton-c/src/codec/codec.c:315: 
more undefined references to `pn_data_node' follow
collect2: ld returned 1 exit status
make[2]: *** [proton-c/libqpid-proton.so.2.0.0] Error 1
make[1]: *** [proton-c/CMakeFiles/qpid-proton.dir/all] Error 2
make: *** [all] Error 2


when I do:
rm CMakeCache.txt
cmake ..
make

It makes fine, so RelWithDebInfo seems OK, but Debug not


Not a show-stopper, but a bit weird.......
Frase


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: Proton revision 1627945 barfs on cmake -DCMAKE_BUILD_TYPE=Debug ..

Posted by Chuck Rolke <cr...@redhat.com>.
And to be a really good doobie don't forget a Windows build of some sort.

-C


----- Original Message -----
> From: "Michael Goulish" <mg...@redhat.com>
> To: users@qpid.apache.org
> Sent: Monday, September 29, 2014 6:01:12 PM
> Subject: Re: Proton revision 1627945 barfs on cmake -DCMAKE_BUILD_TYPE=Debug ..
> 
> Sorry about that!
> ...fixed now, by making it static.
> in future, i will test the default build and the debug build.
> 
> 
> ----- Original Message -----
> 
> 
> On 09/29/2014 12:01 PM, Andrew Stitcher wrote:
> > On Sat, 2014-09-27 at 16:18 +0100, Fraser Adams wrote:
> >> I just updated to r1627945 and when I do
> >> cmake -DCMAKE_BUILD_TYPE=Debug ..
> >> make
> >>
> >> I get:
> >>
> >> Linking C shared library libqpid-proton.so
> >> CMakeFiles/qpid-proton.dir/src/codec/codec.c.o: In function
> >> `pni_node_fields':
> >> /home/fadams/qpid/qpid-trunk/proton/proton-c/src/codec/codec.c:99:
> >> undefined reference to `pn_data_node'
> > ...
> > 
> > Without investigating fully, this looks like it is related to
> > pn_data_node() being inline. I'd guess that in a debug build nothing is
> > inlined, but because the function is marked inline no actual routine is
> > generated for it.
> > 
> > I think pn_data_node() was marked inline recently - perhaps it is not
> > also marked 'static' which I think might give this error.
> 
> I can confirm that marking pn_data_node static does fix the build in
> Debug mode.
> 
> > 
> > Andrew
> > 
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> > For additional commands, e-mail: users-help@qpid.apache.org
> > 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: Proton revision 1627945 barfs on cmake -DCMAKE_BUILD_TYPE=Debug ..

Posted by Michael Goulish <mg...@redhat.com>.
Sorry about that!
...fixed now, by making it static.
in future, i will test the default build and the debug build.


----- Original Message -----


On 09/29/2014 12:01 PM, Andrew Stitcher wrote:
> On Sat, 2014-09-27 at 16:18 +0100, Fraser Adams wrote:
>> I just updated to r1627945 and when I do
>> cmake -DCMAKE_BUILD_TYPE=Debug ..
>> make
>>
>> I get:
>>
>> Linking C shared library libqpid-proton.so
>> CMakeFiles/qpid-proton.dir/src/codec/codec.c.o: In function 
>> `pni_node_fields':
>> /home/fadams/qpid/qpid-trunk/proton/proton-c/src/codec/codec.c:99: 
>> undefined reference to `pn_data_node'
> ...
> 
> Without investigating fully, this looks like it is related to
> pn_data_node() being inline. I'd guess that in a debug build nothing is
> inlined, but because the function is marked inline no actual routine is
> generated for it.
> 
> I think pn_data_node() was marked inline recently - perhaps it is not
> also marked 'static' which I think might give this error.

I can confirm that marking pn_data_node static does fix the build in
Debug mode.

> 
> Andrew
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: Proton revision 1627945 barfs on cmake -DCMAKE_BUILD_TYPE=Debug ..

Posted by Andrew Stitcher <as...@redhat.com>.
On Mon, 2014-09-29 at 15:05 -0400, Andrew Stitcher wrote:
> ...
> To clarify:
> 
> When using C99 You must always make inline functions "static inline"
> anything else is a bug.
> 
> If you compile your code using gcc or C++ then inline by itself will
> work (mostly).

And to amplify (sorry to write multiple messages) - "inline" by itself
is not even a keyword for standard C before C99, the fact that it is
accepted by gcc is an extension - it is not accepted by MSVC before 2013
(which has most of the useful bits of C99 in it).

This is one of the reasons we compile proton as C++ on MSVC.

Andrew



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: Proton revision 1627945 barfs on cmake -DCMAKE_BUILD_TYPE=Debug ..

Posted by Andrew Stitcher <as...@redhat.com>.
On Mon, 2014-09-29 at 14:00 -0400, Ted Ross wrote:
> 
> On 09/29/2014 12:01 PM, Andrew Stitcher wrote:
> > On Sat, 2014-09-27 at 16:18 +0100, Fraser Adams wrote:
> >> I just updated to r1627945 and when I do
> >> cmake -DCMAKE_BUILD_TYPE=Debug ..
> >> make
> >>
> >> I get:
> >>
> >> Linking C shared library libqpid-proton.so
> >> CMakeFiles/qpid-proton.dir/src/codec/codec.c.o: In function 
> >> `pni_node_fields':
> >> /home/fadams/qpid/qpid-trunk/proton/proton-c/src/codec/codec.c:99: 
> >> undefined reference to `pn_data_node'
> > ...
> > 
> > Without investigating fully, this looks like it is related to
> > pn_data_node() being inline. I'd guess that in a debug build nothing is
> > inlined, but because the function is marked inline no actual routine is
> > generated for it.
> > 
> > I think pn_data_node() was marked inline recently - perhaps it is not
> > also marked 'static' which I think might give this error.
> 
> I can confirm that marking pn_data_node static does fix the build in
> Debug mode.

To clarify:

When using C99 You must always make inline functions "static inline"
anything else is a bug.

If you compile your code using gcc or C++ then inline by itself will
work (mostly).

Andrew



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: Proton revision 1627945 barfs on cmake -DCMAKE_BUILD_TYPE=Debug ..

Posted by Ted Ross <tr...@redhat.com>.

On 09/29/2014 12:01 PM, Andrew Stitcher wrote:
> On Sat, 2014-09-27 at 16:18 +0100, Fraser Adams wrote:
>> I just updated to r1627945 and when I do
>> cmake -DCMAKE_BUILD_TYPE=Debug ..
>> make
>>
>> I get:
>>
>> Linking C shared library libqpid-proton.so
>> CMakeFiles/qpid-proton.dir/src/codec/codec.c.o: In function 
>> `pni_node_fields':
>> /home/fadams/qpid/qpid-trunk/proton/proton-c/src/codec/codec.c:99: 
>> undefined reference to `pn_data_node'
> ...
> 
> Without investigating fully, this looks like it is related to
> pn_data_node() being inline. I'd guess that in a debug build nothing is
> inlined, but because the function is marked inline no actual routine is
> generated for it.
> 
> I think pn_data_node() was marked inline recently - perhaps it is not
> also marked 'static' which I think might give this error.

I can confirm that marking pn_data_node static does fix the build in
Debug mode.

> 
> Andrew
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: Proton revision 1627945 barfs on cmake -DCMAKE_BUILD_TYPE=Debug ..

Posted by Andrew Stitcher <as...@redhat.com>.
On Sat, 2014-09-27 at 16:18 +0100, Fraser Adams wrote:
> I just updated to r1627945 and when I do
> cmake -DCMAKE_BUILD_TYPE=Debug ..
> make
> 
> I get:
> 
> Linking C shared library libqpid-proton.so
> CMakeFiles/qpid-proton.dir/src/codec/codec.c.o: In function 
> `pni_node_fields':
> /home/fadams/qpid/qpid-trunk/proton/proton-c/src/codec/codec.c:99: 
> undefined reference to `pn_data_node'
...

Without investigating fully, this looks like it is related to
pn_data_node() being inline. I'd guess that in a debug build nothing is
inlined, but because the function is marked inline no actual routine is
generated for it.

I think pn_data_node() was marked inline recently - perhaps it is not
also marked 'static' which I think might give this error.

Andrew



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org