Red Hat Bugzilla – Bug 522267
Windows: Qpid C++ pid_t and ssize_t 3rd-party compat
Last modified: 2015-11-15 20:11:46 EST
https://issues.apache.org/jira/browse/QPID-1951 These are currently declared in IntegerTypes.h but cause compile-time conflicts with other libraries (i.e., Grid) that also must declare these types. Not clear if they should be exposed as is.
These definitions should simply be removed from the windows code base. It looks like the ssize_t definition is trivially removable from the windows code. The pid_t looks used in more places and would be a little fiddlier
This issue needs an upstream qpid JIRA reported as the work is going to be done upstream - is there a reported JIRA?
https://issues.apache.org/jira/browse/QPID-1951
ssize_t and pid_t types are now removed from qpid/sys/windows/IntegerTypes.h header as suggested. Reproduced on qpidc-0.5.829175-3.fc11.src.rpm, fixed lately on qpid-cpp-mrg-0.7.935473-1.el5.src.rpm. The change which fixed that is here: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/sys/windows/IntegerTypes.h?r1=822963&r2=890929&diff_format=h -> VERIFIED
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Cause: Windows compilation of Qpid public headers with 3rd-party headers that define pid_t and ssize_t Consequence: compilation fails Fix: removal and/or movement to private headers or implementation code Result: compilation succeeds
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1,4 +1,4 @@ Cause: Windows compilation of Qpid public headers with 3rd-party headers that define pid_t and ssize_t Consequence: compilation fails -Fix: removal and/or movement to private headers or implementation code +Fix: removal and/or movement of pid_t, ssize_t declarations to private headers or implementation code Result: compilation succeeds
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1,4 +1 @@ -Cause: Windows compilation of Qpid public headers with 3rd-party headers that define pid_t and ssize_t +Compiling Qpid on Windows failed because Qpid defined the pid_t and ssize_t type declarations, which some third-party headers also define. This update moves these declarations to private headers or implementation code, with the result that compilation succeeds on Windows systems.-Consequence: compilation fails -Fix: removal and/or movement of pid_t, ssize_t declarations to private headers or implementation code -Result: compilation succeeds
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1 +1 @@ -Compiling Qpid on Windows failed because Qpid defined the pid_t and ssize_t type declarations, which some third-party headers also define. This update moves these declarations to private headers or implementation code, with the result that compilation succeeds on Windows systems.+Compiling Qpid on Windows failed because Qpid defined the pid_t and ssize_t type declarations in public headers, which some third-party headers also define. This update moves these declarations to private headers or implementation code, with the result that compilation succeeds on Windows systems.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2010-0773.html