qpid Developers,
I'm working on client/server software. Our users will be running a
client on the Mac and talking to a server on linux. I thought it
would be terrific if I could use your qpid project to do this.
Everything seems to work like a dream on Linux (Nice job!), but I also
need to get the qpid C++ client library compiled on the Mac.
After installing Boost and adding #include <sys/types.h> to include/
qpid/framing/FieldValue.h, I can get pretty far in the build of the
version in svn, but I eventually hit this error:
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../include -I../include -
I. -I=. -Werror -pedantic -Wall -Wextra -Wno-shadow -Wpointer-arith -
Wcast-qual -Wcast-align -Wno-long-long -Wvolatile-register-var -
Winvalid-pch -Wno-system-headers -Woverloaded-virtual -DQPID_EXEC_DIR=
\"/usr/local/libexec/qpid\" -g -O2 -MT qpid/sys/posix/AsynchIO.lo -MD -
MP -MF qpid/sys/posix/.deps/AsynchIO.Tpo -c qpid/sys/posix/
AsynchIO.cpp -fno-common -DPIC -o qpid/sys/posix/.libs/AsynchIO.o
qpid/sys/posix/AsynchIO.cpp:63: error: thread-local storage not
supported for this target
qpid/sys/posix/AsynchIO.cpp:64: error: thread-local storage not
supported for this target
qpid/sys/posix/AsynchIO.cpp:65: error: thread-local storage not
supported for this target
qpid/sys/posix/AsynchIO.cpp:66: error: thread-local storage not
supported for this target
qpid/sys/posix/AsynchIO.cpp:67: error: thread-local storage not
supported for this target
qpid/sys/posix/AsynchIO.cpp:68: error: thread-local storage not
supported for this target
I found this on the Apple list which might be helpful:
__thread is not supported. The specification is somewhat ELF-
specific, which makes it a bit of a challenge.
Thread-local storage is supported, however. Take a look at the man
page for pthread_getspecific, for example.
That is from http://lists.apple.com/archives/xcode-users/2006/Jun/msg00550.html
Then I wrote Gordon Sims directly, who recommended that send a note to
this list. He also said:
It looks like it would be possible to replace the __thread
declarations with the pthread_getspecific/pthread_setspecific on the
Mac.
In fact most of those thread local variables are not really used.
You could try removing them to see whether anything else in the
build breaks once we get this item solved. Only threadMaxRead is
actually used in any observable way and it is just to balance reads
v. writes so removing it for an experiment would be fine.
I'll try this, but if anyone else has thoughts or suggestions, please
let me know.
I'd like to get the Mac supported for the C++ version of qpid. Is
there anything I can I do to help? I can lend a Mac to a developer if
that will make a difference.
I'm not on this list, so please CC me if you respond. Thanks again
for all your hard work!
Sincerely,
Aaron Hillegass
Big Nerd Ranch, Inc
http://www.bignerdranch.com/
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]