[jira] Commented: (QPID-1811) Unable to compile qpid on FreeBSD
[ https://issues.apache.org/jira/browse/QPID-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13006879#comment-13006879 ] Sudip Kumar Panda commented on QPID-1811: - Thanks Steve. Since the defect was filed for failure on freebsd build and the defect is resolved, I thought all the issues are resolved. Probably, I can spend some of my time (when free) to write lower level poller code. Unable to compile qpid on FreeBSD - Key: QPID-1811 URL: https://issues.apache.org/jira/browse/QPID-1811 Project: Qpid Issue Type: Sub-task Components: C++ Broker Affects Versions: 0.6 Environment: FreeBSD 8-CURRENT on amd64 (64 bit) $ g++ -v Using built-in specs. Target: amd64-undermydesk-freebsd Configured with: FreeBSD/amd64 system compiler Thread model: posix gcc version 4.2.1 20070719 [FreeBSD] $ python -V Python 2.6.1 $ pkg_info | grep boost boost-python-1.37.0 Free peer-reviewed portable C++ source libraries svn trunk version, checked out now (r765092) ./configure CPPFLAGS=-I/usr/local/include -L/usr/local/lib LDFLAGS=-L/usr/local/lib --with-poller=poll Reporter: Attila Nagy Assignee: Andrew Stitcher Priority: Critical Fix For: 0.7 Attachments: freebsd.patch, qpidfbsdcompile.diff, sasl.diff I'm trying to build qpid c++ broker on FreeBSD. Problems found during the build process: -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/Thread.lo -MD -MP -MF qpid/sys/posix/.deps/Thread.Tpo -c qpid/sys/posix/Thread.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/Thread.o qpid/sys/posix/Thread.cpp: In member function 'long unsigned int qpid::sys::Thread::id()': qpid/sys/posix/Thread.cpp:64: error: invalid conversion from 'pthread*' to 'long unsigned int' I don't know whether it helps during the run, but allows to compile: return (unsigned long)impl-thread; -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/SystemInfo.lo -MD -MP -MF qpid/sys/posix/.deps/SystemInfo.Tpo -c qpid/sys/posix/SystemInfo.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/SystemInfo.o In file included from qpid/sys/posix/SystemInfo.cpp:25: /usr/include/net/if.h:293: error: field 'ifru_addr' has incomplete type /usr/include/net/if.h:294: error: field 'ifru_dstaddr' has incomplete type /usr/include/net/if.h:295: error: field 'ifru_broadaddr' has incomplete type /usr/include/net/if.h:327: error: field 'ifra_addr' has incomplete type /usr/include/net/if.h:328: error: field 'ifra_broadaddr' has incomplete type /usr/include/net/if.h:329: error: field 'ifra_mask' has incomplete type /usr/include/net/if.h:427: error: field 'addr' has incomplete type /usr/include/net/if.h:428: error: field 'dstaddr' has incomplete type qpid/sys/posix/SystemInfo.cpp: In function 'void qpid::sys::SystemInfo::getLocalIpAddresses(uint16_t, std::vectorqpid::Address, std::allocatorqpid::Address )': qpid/sys/posix/SystemInfo.cpp:63: error: 'PF_INET' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'SOCK_STREAM' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'socket' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:66: error: 'struct ifreq' has no member named 'ifr_ifindex' qpid/sys/posix/SystemInfo.cpp:67: error: 'SIOCGIFNAME' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:72: error: 'union ifreq::anonymous' has no member named 'ifru_addr' qpid/sys/posix/SystemInfo.cpp:73: error: invalid use of incomplete type 'struct qpid::sys::sockaddr_in' qpid/sys/posix/SystemInfo.cpp:72: error: forward declaration of 'struct qpid::sys::sockaddr_in' The incomplete type error can be fixed by including sys/socket.h before net/if.h. The 'struct ifreq' has no member named 'ifr_ifindex' can be fixed by: #ifdef __FreeBSD__ ifr.ifr_index = i; #else ifr.ifr_ifindex = i; #endif The 'SIOCGIFNAME' was not declared in this scope is hopefully solved by: #ifdef SIOCGIFNAME if (::ioctl (s, SIOCGIFNAME, ifr) 0) #else if (!if_indextoname(ifr.ifr_index, ifr.ifr_name))
[jira] Commented: (QPID-1811) Unable to compile qpid on FreeBSD
[ https://issues.apache.org/jira/browse/QPID-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13006474#comment-13006474 ] Sudip Kumar Panda commented on QPID-1811: - Can someone tell me if the poll or select support is provided in the latest version i.e. 0.8? I am still seeing the build errors in freebsd(amd64) though I see the status of the defect in resolved state. Unable to compile qpid on FreeBSD - Key: QPID-1811 URL: https://issues.apache.org/jira/browse/QPID-1811 Project: Qpid Issue Type: Sub-task Components: C++ Broker Affects Versions: 0.6 Environment: FreeBSD 8-CURRENT on amd64 (64 bit) $ g++ -v Using built-in specs. Target: amd64-undermydesk-freebsd Configured with: FreeBSD/amd64 system compiler Thread model: posix gcc version 4.2.1 20070719 [FreeBSD] $ python -V Python 2.6.1 $ pkg_info | grep boost boost-python-1.37.0 Free peer-reviewed portable C++ source libraries svn trunk version, checked out now (r765092) ./configure CPPFLAGS=-I/usr/local/include -L/usr/local/lib LDFLAGS=-L/usr/local/lib --with-poller=poll Reporter: Attila Nagy Assignee: Andrew Stitcher Priority: Critical Fix For: 0.7 Attachments: freebsd.patch, qpidfbsdcompile.diff, sasl.diff I'm trying to build qpid c++ broker on FreeBSD. Problems found during the build process: -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/Thread.lo -MD -MP -MF qpid/sys/posix/.deps/Thread.Tpo -c qpid/sys/posix/Thread.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/Thread.o qpid/sys/posix/Thread.cpp: In member function 'long unsigned int qpid::sys::Thread::id()': qpid/sys/posix/Thread.cpp:64: error: invalid conversion from 'pthread*' to 'long unsigned int' I don't know whether it helps during the run, but allows to compile: return (unsigned long)impl-thread; -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/SystemInfo.lo -MD -MP -MF qpid/sys/posix/.deps/SystemInfo.Tpo -c qpid/sys/posix/SystemInfo.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/SystemInfo.o In file included from qpid/sys/posix/SystemInfo.cpp:25: /usr/include/net/if.h:293: error: field 'ifru_addr' has incomplete type /usr/include/net/if.h:294: error: field 'ifru_dstaddr' has incomplete type /usr/include/net/if.h:295: error: field 'ifru_broadaddr' has incomplete type /usr/include/net/if.h:327: error: field 'ifra_addr' has incomplete type /usr/include/net/if.h:328: error: field 'ifra_broadaddr' has incomplete type /usr/include/net/if.h:329: error: field 'ifra_mask' has incomplete type /usr/include/net/if.h:427: error: field 'addr' has incomplete type /usr/include/net/if.h:428: error: field 'dstaddr' has incomplete type qpid/sys/posix/SystemInfo.cpp: In function 'void qpid::sys::SystemInfo::getLocalIpAddresses(uint16_t, std::vectorqpid::Address, std::allocatorqpid::Address )': qpid/sys/posix/SystemInfo.cpp:63: error: 'PF_INET' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'SOCK_STREAM' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'socket' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:66: error: 'struct ifreq' has no member named 'ifr_ifindex' qpid/sys/posix/SystemInfo.cpp:67: error: 'SIOCGIFNAME' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:72: error: 'union ifreq::anonymous' has no member named 'ifru_addr' qpid/sys/posix/SystemInfo.cpp:73: error: invalid use of incomplete type 'struct qpid::sys::sockaddr_in' qpid/sys/posix/SystemInfo.cpp:72: error: forward declaration of 'struct qpid::sys::sockaddr_in' The incomplete type error can be fixed by including sys/socket.h before net/if.h. The 'struct ifreq' has no member named 'ifr_ifindex' can be fixed by: #ifdef __FreeBSD__ ifr.ifr_index = i; #else ifr.ifr_ifindex = i; #endif The 'SIOCGIFNAME' was not declared in this scope is hopefully solved by: #ifdef SIOCGIFNAME if (::ioctl (s, SIOCGIFNAME, ifr) 0) #else if (!if_indextoname(ifr.ifr_index, ifr.ifr_name)) #endif
[jira] Commented: (QPID-1811) Unable to compile qpid on FreeBSD
[ https://issues.apache.org/jira/browse/QPID-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13006557#comment-13006557 ] Steve Huston commented on QPID-1811: The supplied patches (or similar) were applied, which is why the jira was marked resolved. However, there were no patches supplied to provide a poller implementation that will work with FreeBSD. Such a poller implementation is required still in order to build on FreeBSD. Unable to compile qpid on FreeBSD - Key: QPID-1811 URL: https://issues.apache.org/jira/browse/QPID-1811 Project: Qpid Issue Type: Sub-task Components: C++ Broker Affects Versions: 0.6 Environment: FreeBSD 8-CURRENT on amd64 (64 bit) $ g++ -v Using built-in specs. Target: amd64-undermydesk-freebsd Configured with: FreeBSD/amd64 system compiler Thread model: posix gcc version 4.2.1 20070719 [FreeBSD] $ python -V Python 2.6.1 $ pkg_info | grep boost boost-python-1.37.0 Free peer-reviewed portable C++ source libraries svn trunk version, checked out now (r765092) ./configure CPPFLAGS=-I/usr/local/include -L/usr/local/lib LDFLAGS=-L/usr/local/lib --with-poller=poll Reporter: Attila Nagy Assignee: Andrew Stitcher Priority: Critical Fix For: 0.7 Attachments: freebsd.patch, qpidfbsdcompile.diff, sasl.diff I'm trying to build qpid c++ broker on FreeBSD. Problems found during the build process: -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/Thread.lo -MD -MP -MF qpid/sys/posix/.deps/Thread.Tpo -c qpid/sys/posix/Thread.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/Thread.o qpid/sys/posix/Thread.cpp: In member function 'long unsigned int qpid::sys::Thread::id()': qpid/sys/posix/Thread.cpp:64: error: invalid conversion from 'pthread*' to 'long unsigned int' I don't know whether it helps during the run, but allows to compile: return (unsigned long)impl-thread; -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/SystemInfo.lo -MD -MP -MF qpid/sys/posix/.deps/SystemInfo.Tpo -c qpid/sys/posix/SystemInfo.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/SystemInfo.o In file included from qpid/sys/posix/SystemInfo.cpp:25: /usr/include/net/if.h:293: error: field 'ifru_addr' has incomplete type /usr/include/net/if.h:294: error: field 'ifru_dstaddr' has incomplete type /usr/include/net/if.h:295: error: field 'ifru_broadaddr' has incomplete type /usr/include/net/if.h:327: error: field 'ifra_addr' has incomplete type /usr/include/net/if.h:328: error: field 'ifra_broadaddr' has incomplete type /usr/include/net/if.h:329: error: field 'ifra_mask' has incomplete type /usr/include/net/if.h:427: error: field 'addr' has incomplete type /usr/include/net/if.h:428: error: field 'dstaddr' has incomplete type qpid/sys/posix/SystemInfo.cpp: In function 'void qpid::sys::SystemInfo::getLocalIpAddresses(uint16_t, std::vectorqpid::Address, std::allocatorqpid::Address )': qpid/sys/posix/SystemInfo.cpp:63: error: 'PF_INET' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'SOCK_STREAM' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'socket' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:66: error: 'struct ifreq' has no member named 'ifr_ifindex' qpid/sys/posix/SystemInfo.cpp:67: error: 'SIOCGIFNAME' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:72: error: 'union ifreq::anonymous' has no member named 'ifru_addr' qpid/sys/posix/SystemInfo.cpp:73: error: invalid use of incomplete type 'struct qpid::sys::sockaddr_in' qpid/sys/posix/SystemInfo.cpp:72: error: forward declaration of 'struct qpid::sys::sockaddr_in' The incomplete type error can be fixed by including sys/socket.h before net/if.h. The 'struct ifreq' has no member named 'ifr_ifindex' can be fixed by: #ifdef __FreeBSD__ ifr.ifr_index = i; #else ifr.ifr_ifindex = i; #endif The 'SIOCGIFNAME' was not declared in this scope is hopefully solved by: #ifdef SIOCGIFNAME if (::ioctl (s, SIOCGIFNAME, ifr) 0) #else if
[jira] Commented: (QPID-1811) Unable to compile qpid on FreeBSD
[ https://issues.apache.org/jira/browse/QPID-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12860913#action_12860913 ] Andrew Stitcher commented on QPID-1811: --- Applied patch for saslpasswd issue on trunk at r938026. Unable to compile qpid on FreeBSD - Key: QPID-1811 URL: https://issues.apache.org/jira/browse/QPID-1811 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.6 Environment: FreeBSD 8-CURRENT on amd64 (64 bit) $ g++ -v Using built-in specs. Target: amd64-undermydesk-freebsd Configured with: FreeBSD/amd64 system compiler Thread model: posix gcc version 4.2.1 20070719 [FreeBSD] $ python -V Python 2.6.1 $ pkg_info | grep boost boost-python-1.37.0 Free peer-reviewed portable C++ source libraries svn trunk version, checked out now (r765092) ./configure CPPFLAGS=-I/usr/local/include -L/usr/local/lib LDFLAGS=-L/usr/local/lib --with-poller=poll Reporter: Attila Nagy Assignee: Andrew Stitcher Priority: Critical Attachments: freebsd.patch, qpidfbsdcompile.diff, sasl.diff I'm trying to build qpid c++ broker on FreeBSD. Problems found during the build process: -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/Thread.lo -MD -MP -MF qpid/sys/posix/.deps/Thread.Tpo -c qpid/sys/posix/Thread.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/Thread.o qpid/sys/posix/Thread.cpp: In member function 'long unsigned int qpid::sys::Thread::id()': qpid/sys/posix/Thread.cpp:64: error: invalid conversion from 'pthread*' to 'long unsigned int' I don't know whether it helps during the run, but allows to compile: return (unsigned long)impl-thread; -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/SystemInfo.lo -MD -MP -MF qpid/sys/posix/.deps/SystemInfo.Tpo -c qpid/sys/posix/SystemInfo.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/SystemInfo.o In file included from qpid/sys/posix/SystemInfo.cpp:25: /usr/include/net/if.h:293: error: field 'ifru_addr' has incomplete type /usr/include/net/if.h:294: error: field 'ifru_dstaddr' has incomplete type /usr/include/net/if.h:295: error: field 'ifru_broadaddr' has incomplete type /usr/include/net/if.h:327: error: field 'ifra_addr' has incomplete type /usr/include/net/if.h:328: error: field 'ifra_broadaddr' has incomplete type /usr/include/net/if.h:329: error: field 'ifra_mask' has incomplete type /usr/include/net/if.h:427: error: field 'addr' has incomplete type /usr/include/net/if.h:428: error: field 'dstaddr' has incomplete type qpid/sys/posix/SystemInfo.cpp: In function 'void qpid::sys::SystemInfo::getLocalIpAddresses(uint16_t, std::vectorqpid::Address, std::allocatorqpid::Address )': qpid/sys/posix/SystemInfo.cpp:63: error: 'PF_INET' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'SOCK_STREAM' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'socket' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:66: error: 'struct ifreq' has no member named 'ifr_ifindex' qpid/sys/posix/SystemInfo.cpp:67: error: 'SIOCGIFNAME' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:72: error: 'union ifreq::anonymous' has no member named 'ifru_addr' qpid/sys/posix/SystemInfo.cpp:73: error: invalid use of incomplete type 'struct qpid::sys::sockaddr_in' qpid/sys/posix/SystemInfo.cpp:72: error: forward declaration of 'struct qpid::sys::sockaddr_in' The incomplete type error can be fixed by including sys/socket.h before net/if.h. The 'struct ifreq' has no member named 'ifr_ifindex' can be fixed by: #ifdef __FreeBSD__ ifr.ifr_index = i; #else ifr.ifr_ifindex = i; #endif The 'SIOCGIFNAME' was not declared in this scope is hopefully solved by: #ifdef SIOCGIFNAME if (::ioctl (s, SIOCGIFNAME, ifr) 0) #else if (!if_indextoname(ifr.ifr_index, ifr.ifr_name)) #endif break; The forward declaration of 'struct qpid::sys::sockaddr_in' can be solved by including net/pfvar.h after if.h
[jira] Commented: (QPID-1811) Unable to compile qpid on FreeBSD
[ https://issues.apache.org/jira/browse/QPID-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12836692#action_12836692 ] Andrew Stitcher commented on QPID-1811: --- I really like the patch which uses getifaddrs() for portability - I will test and apply that. The patch for saslpasswd2 isn't IMO portable enough. Now we've just specified 2 possible locations it might occur in, I suggest 2 possibilities here: either look for saslpasswd2 in the configure phase (using a list of locations like /usr/sbin:/usr/local/sbin:/sbin etc.) so that adding a new location would be easy. And/or try to run it from the path (this should work on FreeBSD usually), then if that fails try /usr/sbin which is the specific location for Red Enterprise 5 where this is not on the default user PATH. For recent Fedoras it is on the path, for recent Debian it is too. As for exposing pthread_t, I am against this, as we have worked hard to isolate the threading (and other platform specific) libraries from the main code. Essentially the Id is not meant to be a reference to a thread (pthread_t) it is meant to be a (preferably low integer) id value that can be printed for the thread. Exposing pthread_t to the rest of qpid means making all the qpid code know about pthreads (At least from an include perspective) and means adding pointless typedefs or #defines for Windows which doesn't use pthreads. Another solution needed. Maybe the simplest would be simply to cast into an intptr_t would that work for FreeBSD? Unable to compile qpid on FreeBSD - Key: QPID-1811 URL: https://issues.apache.org/jira/browse/QPID-1811 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.6 Environment: FreeBSD 8-CURRENT on amd64 (64 bit) $ g++ -v Using built-in specs. Target: amd64-undermydesk-freebsd Configured with: FreeBSD/amd64 system compiler Thread model: posix gcc version 4.2.1 20070719 [FreeBSD] $ python -V Python 2.6.1 $ pkg_info | grep boost boost-python-1.37.0 Free peer-reviewed portable C++ source libraries svn trunk version, checked out now (r765092) ./configure CPPFLAGS=-I/usr/local/include -L/usr/local/lib LDFLAGS=-L/usr/local/lib --with-poller=poll Reporter: Attila Nagy Priority: Blocker Attachments: freebsd.patch, qpidfbsdcompile.diff I'm trying to build qpid c++ broker on FreeBSD. Problems found during the build process: -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/Thread.lo -MD -MP -MF qpid/sys/posix/.deps/Thread.Tpo -c qpid/sys/posix/Thread.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/Thread.o qpid/sys/posix/Thread.cpp: In member function 'long unsigned int qpid::sys::Thread::id()': qpid/sys/posix/Thread.cpp:64: error: invalid conversion from 'pthread*' to 'long unsigned int' I don't know whether it helps during the run, but allows to compile: return (unsigned long)impl-thread; -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/SystemInfo.lo -MD -MP -MF qpid/sys/posix/.deps/SystemInfo.Tpo -c qpid/sys/posix/SystemInfo.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/SystemInfo.o In file included from qpid/sys/posix/SystemInfo.cpp:25: /usr/include/net/if.h:293: error: field 'ifru_addr' has incomplete type /usr/include/net/if.h:294: error: field 'ifru_dstaddr' has incomplete type /usr/include/net/if.h:295: error: field 'ifru_broadaddr' has incomplete type /usr/include/net/if.h:327: error: field 'ifra_addr' has incomplete type /usr/include/net/if.h:328: error: field 'ifra_broadaddr' has incomplete type /usr/include/net/if.h:329: error: field 'ifra_mask' has incomplete type /usr/include/net/if.h:427: error: field 'addr' has incomplete type /usr/include/net/if.h:428: error: field 'dstaddr' has incomplete type qpid/sys/posix/SystemInfo.cpp: In function 'void qpid::sys::SystemInfo::getLocalIpAddresses(uint16_t, std::vectorqpid::Address, std::allocatorqpid::Address )': qpid/sys/posix/SystemInfo.cpp:63: error: 'PF_INET' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'SOCK_STREAM' was not declared in this
[jira] Commented: (QPID-1811) Unable to compile qpid on FreeBSD
[ https://issues.apache.org/jira/browse/QPID-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12802227#action_12802227 ] Bruno Matos commented on QPID-1811: --- If the pthread_t structure depends on implementation, could we use the boost high level threading mechanisms instead of qpid/sys/posix/Thread.cpp? I'm trying to compile qpid in mac os x, I know this is a long road, but I'm trying one step at a time. :) Thank you. Unable to compile qpid on FreeBSD - Key: QPID-1811 URL: https://issues.apache.org/jira/browse/QPID-1811 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.6 Environment: FreeBSD 8-CURRENT on amd64 (64 bit) $ g++ -v Using built-in specs. Target: amd64-undermydesk-freebsd Configured with: FreeBSD/amd64 system compiler Thread model: posix gcc version 4.2.1 20070719 [FreeBSD] $ python -V Python 2.6.1 $ pkg_info | grep boost boost-python-1.37.0 Free peer-reviewed portable C++ source libraries svn trunk version, checked out now (r765092) ./configure CPPFLAGS=-I/usr/local/include -L/usr/local/lib LDFLAGS=-L/usr/local/lib --with-poller=poll Reporter: Attila Nagy Priority: Blocker Attachments: qpidfbsdcompile.diff I'm trying to build qpid c++ broker on FreeBSD. Problems found during the build process: -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/Thread.lo -MD -MP -MF qpid/sys/posix/.deps/Thread.Tpo -c qpid/sys/posix/Thread.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/Thread.o qpid/sys/posix/Thread.cpp: In member function 'long unsigned int qpid::sys::Thread::id()': qpid/sys/posix/Thread.cpp:64: error: invalid conversion from 'pthread*' to 'long unsigned int' I don't know whether it helps during the run, but allows to compile: return (unsigned long)impl-thread; -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/SystemInfo.lo -MD -MP -MF qpid/sys/posix/.deps/SystemInfo.Tpo -c qpid/sys/posix/SystemInfo.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/SystemInfo.o In file included from qpid/sys/posix/SystemInfo.cpp:25: /usr/include/net/if.h:293: error: field 'ifru_addr' has incomplete type /usr/include/net/if.h:294: error: field 'ifru_dstaddr' has incomplete type /usr/include/net/if.h:295: error: field 'ifru_broadaddr' has incomplete type /usr/include/net/if.h:327: error: field 'ifra_addr' has incomplete type /usr/include/net/if.h:328: error: field 'ifra_broadaddr' has incomplete type /usr/include/net/if.h:329: error: field 'ifra_mask' has incomplete type /usr/include/net/if.h:427: error: field 'addr' has incomplete type /usr/include/net/if.h:428: error: field 'dstaddr' has incomplete type qpid/sys/posix/SystemInfo.cpp: In function 'void qpid::sys::SystemInfo::getLocalIpAddresses(uint16_t, std::vectorqpid::Address, std::allocatorqpid::Address )': qpid/sys/posix/SystemInfo.cpp:63: error: 'PF_INET' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'SOCK_STREAM' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'socket' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:66: error: 'struct ifreq' has no member named 'ifr_ifindex' qpid/sys/posix/SystemInfo.cpp:67: error: 'SIOCGIFNAME' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:72: error: 'union ifreq::anonymous' has no member named 'ifru_addr' qpid/sys/posix/SystemInfo.cpp:73: error: invalid use of incomplete type 'struct qpid::sys::sockaddr_in' qpid/sys/posix/SystemInfo.cpp:72: error: forward declaration of 'struct qpid::sys::sockaddr_in' The incomplete type error can be fixed by including sys/socket.h before net/if.h. The 'struct ifreq' has no member named 'ifr_ifindex' can be fixed by: #ifdef __FreeBSD__ ifr.ifr_index = i; #else ifr.ifr_ifindex = i; #endif The 'SIOCGIFNAME' was not declared in this scope is hopefully solved by: #ifdef SIOCGIFNAME if (::ioctl (s, SIOCGIFNAME, ifr) 0) #else if (!if_indextoname(ifr.ifr_index, ifr.ifr_name)) #endif break; The forward declaration of 'struct
[jira] Commented: (QPID-1811) Unable to compile qpid on FreeBSD
[ https://issues.apache.org/jira/browse/QPID-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12802353#action_12802353 ] Sam Hendley commented on QPID-1811: --- I agree with you, we have been looking at this issue as well, trying to compile for cygwin and arm. I have been thinking of using boost threading and boost asio to make new target that matches the implict interface of the posix/solaris and windows system implementations. This is a pattern we have used for some of our own projects, we started writing platform specific code for the system specific stuff like threading and locks and then found we could replace it all with boost constructs. One nice thing about going that route is we were forced to treat the system specific stuff like a black box from the main code (as qpid has done) so it made the transition to boos/asio very easy. QPid may be similar, they allready are carrying all of the necessary boost dependecies for asio so thats a big plus. Unable to compile qpid on FreeBSD - Key: QPID-1811 URL: https://issues.apache.org/jira/browse/QPID-1811 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.6 Environment: FreeBSD 8-CURRENT on amd64 (64 bit) $ g++ -v Using built-in specs. Target: amd64-undermydesk-freebsd Configured with: FreeBSD/amd64 system compiler Thread model: posix gcc version 4.2.1 20070719 [FreeBSD] $ python -V Python 2.6.1 $ pkg_info | grep boost boost-python-1.37.0 Free peer-reviewed portable C++ source libraries svn trunk version, checked out now (r765092) ./configure CPPFLAGS=-I/usr/local/include -L/usr/local/lib LDFLAGS=-L/usr/local/lib --with-poller=poll Reporter: Attila Nagy Priority: Blocker Attachments: qpidfbsdcompile.diff I'm trying to build qpid c++ broker on FreeBSD. Problems found during the build process: -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/Thread.lo -MD -MP -MF qpid/sys/posix/.deps/Thread.Tpo -c qpid/sys/posix/Thread.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/Thread.o qpid/sys/posix/Thread.cpp: In member function 'long unsigned int qpid::sys::Thread::id()': qpid/sys/posix/Thread.cpp:64: error: invalid conversion from 'pthread*' to 'long unsigned int' I don't know whether it helps during the run, but allows to compile: return (unsigned long)impl-thread; -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/SystemInfo.lo -MD -MP -MF qpid/sys/posix/.deps/SystemInfo.Tpo -c qpid/sys/posix/SystemInfo.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/SystemInfo.o In file included from qpid/sys/posix/SystemInfo.cpp:25: /usr/include/net/if.h:293: error: field 'ifru_addr' has incomplete type /usr/include/net/if.h:294: error: field 'ifru_dstaddr' has incomplete type /usr/include/net/if.h:295: error: field 'ifru_broadaddr' has incomplete type /usr/include/net/if.h:327: error: field 'ifra_addr' has incomplete type /usr/include/net/if.h:328: error: field 'ifra_broadaddr' has incomplete type /usr/include/net/if.h:329: error: field 'ifra_mask' has incomplete type /usr/include/net/if.h:427: error: field 'addr' has incomplete type /usr/include/net/if.h:428: error: field 'dstaddr' has incomplete type qpid/sys/posix/SystemInfo.cpp: In function 'void qpid::sys::SystemInfo::getLocalIpAddresses(uint16_t, std::vectorqpid::Address, std::allocatorqpid::Address )': qpid/sys/posix/SystemInfo.cpp:63: error: 'PF_INET' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'SOCK_STREAM' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'socket' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:66: error: 'struct ifreq' has no member named 'ifr_ifindex' qpid/sys/posix/SystemInfo.cpp:67: error: 'SIOCGIFNAME' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:72: error: 'union ifreq::anonymous' has no member named 'ifru_addr' qpid/sys/posix/SystemInfo.cpp:73: error: invalid use of incomplete type 'struct qpid::sys::sockaddr_in' qpid/sys/posix/SystemInfo.cpp:72: error: forward declaration of 'struct
[jira] Commented: (QPID-1811) Unable to compile qpid on FreeBSD
[ https://issues.apache.org/jira/browse/QPID-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12802370#action_12802370 ] Bruno Matos commented on QPID-1811: --- We just need someone of the core team to point us the way... :) Unable to compile qpid on FreeBSD - Key: QPID-1811 URL: https://issues.apache.org/jira/browse/QPID-1811 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.6 Environment: FreeBSD 8-CURRENT on amd64 (64 bit) $ g++ -v Using built-in specs. Target: amd64-undermydesk-freebsd Configured with: FreeBSD/amd64 system compiler Thread model: posix gcc version 4.2.1 20070719 [FreeBSD] $ python -V Python 2.6.1 $ pkg_info | grep boost boost-python-1.37.0 Free peer-reviewed portable C++ source libraries svn trunk version, checked out now (r765092) ./configure CPPFLAGS=-I/usr/local/include -L/usr/local/lib LDFLAGS=-L/usr/local/lib --with-poller=poll Reporter: Attila Nagy Priority: Blocker Attachments: qpidfbsdcompile.diff I'm trying to build qpid c++ broker on FreeBSD. Problems found during the build process: -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/Thread.lo -MD -MP -MF qpid/sys/posix/.deps/Thread.Tpo -c qpid/sys/posix/Thread.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/Thread.o qpid/sys/posix/Thread.cpp: In member function 'long unsigned int qpid::sys::Thread::id()': qpid/sys/posix/Thread.cpp:64: error: invalid conversion from 'pthread*' to 'long unsigned int' I don't know whether it helps during the run, but allows to compile: return (unsigned long)impl-thread; -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/SystemInfo.lo -MD -MP -MF qpid/sys/posix/.deps/SystemInfo.Tpo -c qpid/sys/posix/SystemInfo.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/SystemInfo.o In file included from qpid/sys/posix/SystemInfo.cpp:25: /usr/include/net/if.h:293: error: field 'ifru_addr' has incomplete type /usr/include/net/if.h:294: error: field 'ifru_dstaddr' has incomplete type /usr/include/net/if.h:295: error: field 'ifru_broadaddr' has incomplete type /usr/include/net/if.h:327: error: field 'ifra_addr' has incomplete type /usr/include/net/if.h:328: error: field 'ifra_broadaddr' has incomplete type /usr/include/net/if.h:329: error: field 'ifra_mask' has incomplete type /usr/include/net/if.h:427: error: field 'addr' has incomplete type /usr/include/net/if.h:428: error: field 'dstaddr' has incomplete type qpid/sys/posix/SystemInfo.cpp: In function 'void qpid::sys::SystemInfo::getLocalIpAddresses(uint16_t, std::vectorqpid::Address, std::allocatorqpid::Address )': qpid/sys/posix/SystemInfo.cpp:63: error: 'PF_INET' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'SOCK_STREAM' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'socket' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:66: error: 'struct ifreq' has no member named 'ifr_ifindex' qpid/sys/posix/SystemInfo.cpp:67: error: 'SIOCGIFNAME' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:72: error: 'union ifreq::anonymous' has no member named 'ifru_addr' qpid/sys/posix/SystemInfo.cpp:73: error: invalid use of incomplete type 'struct qpid::sys::sockaddr_in' qpid/sys/posix/SystemInfo.cpp:72: error: forward declaration of 'struct qpid::sys::sockaddr_in' The incomplete type error can be fixed by including sys/socket.h before net/if.h. The 'struct ifreq' has no member named 'ifr_ifindex' can be fixed by: #ifdef __FreeBSD__ ifr.ifr_index = i; #else ifr.ifr_ifindex = i; #endif The 'SIOCGIFNAME' was not declared in this scope is hopefully solved by: #ifdef SIOCGIFNAME if (::ioctl (s, SIOCGIFNAME, ifr) 0) #else if (!if_indextoname(ifr.ifr_index, ifr.ifr_name)) #endif break; The forward declaration of 'struct qpid::sys::sockaddr_in' can be solved by including net/pfvar.h after if.h
[jira] Commented: (QPID-1811) Unable to compile qpid on FreeBSD
[ https://issues.apache.org/jira/browse/QPID-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12789301#action_12789301 ] Alan Conway commented on QPID-1811: --- A POSIX compliant select() or poll() based implementation of the Poller would be great for Unix portability, as you say the current set of Pollers are all tied to OS-specific mechanisms. Look at qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp and qpid/cpp/src/qpid/sys/windows/IocpPoller.cpp for examples of how to implement a Poller. Unable to compile qpid on FreeBSD - Key: QPID-1811 URL: https://issues.apache.org/jira/browse/QPID-1811 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.6 Environment: FreeBSD 8-CURRENT on amd64 (64 bit) $ g++ -v Using built-in specs. Target: amd64-undermydesk-freebsd Configured with: FreeBSD/amd64 system compiler Thread model: posix gcc version 4.2.1 20070719 [FreeBSD] $ python -V Python 2.6.1 $ pkg_info | grep boost boost-python-1.37.0 Free peer-reviewed portable C++ source libraries svn trunk version, checked out now (r765092) ./configure CPPFLAGS=-I/usr/local/include -L/usr/local/lib LDFLAGS=-L/usr/local/lib --with-poller=poll Reporter: Attila Nagy Priority: Blocker Attachments: qpidfbsdcompile.diff I'm trying to build qpid c++ broker on FreeBSD. Problems found during the build process: -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/Thread.lo -MD -MP -MF qpid/sys/posix/.deps/Thread.Tpo -c qpid/sys/posix/Thread.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/Thread.o qpid/sys/posix/Thread.cpp: In member function 'long unsigned int qpid::sys::Thread::id()': qpid/sys/posix/Thread.cpp:64: error: invalid conversion from 'pthread*' to 'long unsigned int' I don't know whether it helps during the run, but allows to compile: return (unsigned long)impl-thread; -8- g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -I/usr/local/include -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 -g -O2 -MT qpid/sys/posix/SystemInfo.lo -MD -MP -MF qpid/sys/posix/.deps/SystemInfo.Tpo -c qpid/sys/posix/SystemInfo.cpp -fPIC -DPIC -o qpid/sys/posix/.libs/SystemInfo.o In file included from qpid/sys/posix/SystemInfo.cpp:25: /usr/include/net/if.h:293: error: field 'ifru_addr' has incomplete type /usr/include/net/if.h:294: error: field 'ifru_dstaddr' has incomplete type /usr/include/net/if.h:295: error: field 'ifru_broadaddr' has incomplete type /usr/include/net/if.h:327: error: field 'ifra_addr' has incomplete type /usr/include/net/if.h:328: error: field 'ifra_broadaddr' has incomplete type /usr/include/net/if.h:329: error: field 'ifra_mask' has incomplete type /usr/include/net/if.h:427: error: field 'addr' has incomplete type /usr/include/net/if.h:428: error: field 'dstaddr' has incomplete type qpid/sys/posix/SystemInfo.cpp: In function 'void qpid::sys::SystemInfo::getLocalIpAddresses(uint16_t, std::vectorqpid::Address, std::allocatorqpid::Address )': qpid/sys/posix/SystemInfo.cpp:63: error: 'PF_INET' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'SOCK_STREAM' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:63: error: 'socket' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:66: error: 'struct ifreq' has no member named 'ifr_ifindex' qpid/sys/posix/SystemInfo.cpp:67: error: 'SIOCGIFNAME' was not declared in this scope qpid/sys/posix/SystemInfo.cpp:72: error: 'union ifreq::anonymous' has no member named 'ifru_addr' qpid/sys/posix/SystemInfo.cpp:73: error: invalid use of incomplete type 'struct qpid::sys::sockaddr_in' qpid/sys/posix/SystemInfo.cpp:72: error: forward declaration of 'struct qpid::sys::sockaddr_in' The incomplete type error can be fixed by including sys/socket.h before net/if.h. The 'struct ifreq' has no member named 'ifr_ifindex' can be fixed by: #ifdef __FreeBSD__ ifr.ifr_index = i; #else ifr.ifr_ifindex = i; #endif The 'SIOCGIFNAME' was not declared in this scope is hopefully solved by: #ifdef SIOCGIFNAME if (::ioctl (s, SIOCGIFNAME, ifr) 0) #else if (!if_indextoname(ifr.ifr_index, ifr.ifr_name))