Hello again. Just reusing this thread to update the status of the
solaris port:
I've committed a set of patches attached to the JIRA QPID-1198:
1.- syslog-feature-test.patch. Provide a feature-wise detection of
problematic syslog categories in qpid::log::Options. The checked
categories are LOG_AUTHPRIV and LOG_FTP, unexisting in Solaris.
2.- acl.patch. To take into account that the ACL API is included as
part of libc in Solaris, and provided as libacl in Linux.
3.- ecfpoller-refactoring.patch. Refactoring to honour the refactoring
Andrew made in rev 680395. The ugly Sun CC private inheritance
workaround is no longer needed!
4.- localaddrs.patch. Changes as suggested by Steve (many thanks!) to
provide system dependent local address calculations.
After this, and a pair of minor changes I've sent to Andrew, regarding
previously committed changes, there's only one little glitch avoiding a
clean solaris build. I'm asking for your advise with this issue:
I need to explicitly provide a -lboost_system to link qpidd. I don't
know if it's related with some solaris linker bug or feature, but even
when I provide a LD_LIBRARY_PATH with the boost libraries location, it
seems unable to find it. This is what the linker dumps out when no
-lboost_system is provided:
CC -g -m64 -I/opt/dslap/contrib/include -mt -mt -o .libs/qpidd qpidd.o
-L/opt/dslap/contrib/lib -L/usr/lib/openais -L/usr/lib64/openais
./.libs/libqpidbroker.so
/export/home/devel/ws/DSLAP/qpid/trunk/qpid/cpp/src/.libs/libqpidcommon.so
./.libs/libqpidcommon.so -lboost_program_options -lboost_filesystem
-luuid -library=stlport4 -R/opt/dslap/contrib/lib
ld: warning: file ./.libs/libqpidcommon.so: linked to
/export/home/devel/ws/DSLAP/qpid/trunk/qpid/cpp/src/.libs/libqpidcommon.so:
attempted multiple inclusion of file
Undefined first referenced
symbol in file
const boost::system::error_category&boost::system::get_posix_category()
qpidd.o (symbol belongs to implicit dependency
/opt/dslap/contrib/lib/libboost_system.so)
const boost::system::error_category&boost::system::get_system_category()
qpidd.o (symbol belongs to implicit dependency
/opt/dslap/contrib/lib/libboost_system.so)
ld: fatal: Symbol referencing errors. No output written to .libs/qpidd
Annoying, because it knows where the library is! The only woraround I
found was to explicitly provide it as a linker argument, with
-lboost_system. Perhaps the problem could be that the library is used
directly from qpidd.cpp source code, and not indirectly through
libboost_filesystem?
Any idea?
Regards.
Manuel.