On Mon, Nov 07, 2011 at 06:29:20PM +0100, Martin Sustrik wrote:
> Hi AJ,
>
> >Actually, everything compiles fine on AIX6.1 with zeromq3-0, provided
> >that I define "_H_LOCALEDEF" in the CXXFLAGS:
> >
> > make CXXFLAGS+=-D_H_LOCALEDEF
> >
> >Without that I get:
> >
> >CXX libzmq_la-connect_session.lo
> >In file included from session.hpp:25,
> > from connect_session.hpp:27,
> > from connect_session.cpp:21:
> >i_engine.hpp:60: error: using typedef-name 'msg_t' after 'class'
> >/usr/include/sys/localedef31.h:133: error: 'msg_t' has a previous
> >declaration here
> >i_engine.hpp:63: error: using typedef-name 'msg_t' after 'class'
> >/usr/include/sys/localedef31.h:133: error: 'msg_t' has a previous
> >declaration here
> >
> >Not sure why localedef31.h is getting pulled in...
>
> It should not matter as msg_t should be in zmq namespace as opposed
> to the global namespace.
>
> Can you check whether adding a forward declaration in i_engine.h
> fixes the error?
>
> This way:
>
> namespace zmq
> {
> class msg_t;
>
> struct i_engine
> {
> ...
It does not:
Making all in src
make all-am
/bin/sh ../libtool --tag=CXX --mode=compile g++
-DHAVE_CONFIG_H -I. -pedantic -Werror -Wall -D_REENTRANT
-D_THREAD_SAFE -DZMQ_FORCE_POLL -g -O2 -MT
libzmq_la-connect_session.lo -MD -MP -MF
.deps/libzmq_la-connect_session.Tpo -c -o libzmq_la-connect_session.lo
`test -f 'connect_session.cpp' || echo './'`connect_session.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -pedantic -Werror -Wall
-D_REENTRANT -D_THREAD_SAFE -DZMQ_FORCE_POLL -g -O2 -MT
libzmq_la-connect_session.lo -MD -MP -MF
.deps/libzmq_la-connect_session.Tpo -c connect_session.cpp -DPIC -o
.libs/libzmq_la-connect_session.o
In file included from session.hpp:25,
from connect_session.hpp:27,
from connect_session.cpp:21:
i_engine.hpp:61: error: using typedef-name 'msg_t' after 'class'
/usr/include/sys/localedef31.h:133: error: 'msg_t' has a previous
declaration here
i_engine.hpp:64: error: using typedef-name 'msg_t' after 'class'
/usr/include/sys/localedef31.h:133: error: 'msg_t' has a previous
declaration here
make: 1254-004 The error code from the last command is 1.
That's with the attached patch applied.
> > Resource temporarily unavailable (req.cpp:101)
> > /bin/sh: 790572 IOT/Abort trap(coredump)
>
> I'll check that one. Thanks for reporting it.
I saw this on HPUX as well (using the openssl-based UUID generation).
Thanks,
--
AJ Lewis
Software Engineer
Quantum Corporation
Mobile: 612 860-8068
Work: 651 688-4346
YahooIM: vortechs2000
AIM: v0r73chz
MSN: [email protected]
email: [email protected]
----------------------------------------------------------------------
The information contained in this transmission may be confidential. Any
disclosure, copying, or further distribution of confidential information is not
permitted unless such privilege is explicitly granted in writing by Quantum.
Quantum reserves the right to have electronic communications, including email
and attachments, sent across its networks filtered through anti virus and spam
software programs and retain such messages in order to comply with applicable
data security and retention requirements. Quantum is not responsible for the
proper and complete transmission of the substance of this communication or for
any delay in its receipt.
diff --git a/src/session.hpp b/src/session.hpp
index 4c17930..5a1358e 100644
--- a/src/session.hpp
+++ b/src/session.hpp
@@ -29,6 +29,7 @@
namespace zmq
{
+ class msg_t;
class session_t :
public own_t,
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev