You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Manuel Teira (JIRA)" <qp...@incubator.apache.org> on 2008/07/24 10:17:31 UTC

[jira] Created: (QPID-1198) Changes for the solaris port

Changes for the solaris port
----------------------------

                 Key: QPID-1198
                 URL: https://issues.apache.org/jira/browse/QPID-1198
             Project: Qpid
          Issue Type: New Feature
          Components: C++ Broker
    Affects Versions: M3
            Reporter: Manuel Teira
             Fix For: M3


Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.

This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 

Other changes are:

1.- Missing include files
2.- Some GNUishms in system calls. I think there're two cases for this:
   2.1.- POSIX strerror_r doesn't return the buffer.
   2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
3.- No FTP and LOG_FTP syslog categories on Solaris.
4.- The private inheritance bug in the solaris compiler
5.- The Uuid.h solaris non-const members. 
6.- Some explicit namespacing. In some parts of the code.
7.- Replace all the u_intN_t typenames with  uintN_t typenames.
8.- The queue issue. Name already used in solaris system headers.
9.-Some minor bashisms in scripts, complaining under pure sh shells.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (QPID-1198) Changes for the solaris port

Posted by "Andrew Stitcher (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Stitcher reassigned QPID-1198:
-------------------------------------

    Assignee: Andrew Stitcher

> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M3
>            Reporter: Manuel Teira
>            Assignee: Andrew Stitcher
>             Fix For: M3
>
>         Attachments: solaris-port.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1198) Changes for the solaris port

Posted by "Marnie McCormack (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12653278#action_12653278 ] 

Marnie McCormack commented on QPID-1198:
----------------------------------------

Feedback on status of this item on qpid-dev from Manuel (part of M4 item review):

Unfortunately, I'm under a high workload, and don't expect to have time in the near future to take a look at this issue.
I just can say that the last time I watched the state of the trunk, not all the changes needed for the solaris port to work, were on the repository, some problems with the solaris linker and implicit library dependencies, as I commented some time ago here, comes to my mind. I remember also reversed condition in the configure.ac regarding the usage of the Sun Workshop compiler and some other things. Probably recent changes in the repository could have broken solaris specific stuff. Sadly, as I've already said, I have no time to dedicate to this, but I will try to contribute again as soon as possible, probably no sooner than February. :-(

> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M3
>            Reporter: Manuel Teira
>            Assignee: Andrew Stitcher
>             Fix For: M4
>
>         Attachments: acl.patch, ecfpoller-refactoring.patch, localaddrs.patch, solaris-port.patch, syslog-feature-test.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1198) Changes for the solaris port

Posted by "Manuel Teira (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12622514#action_12622514 ] 

Manuel Teira commented on QPID-1198:
------------------------------------

Lack of time again. :-(

Coming back to this issue. Thanks for all your comments and help. Currently, only two differences remain, the Options.cpp one, for the LOG_FTP and LOG_AUTHPRIV being feature checked, and the local IP Addresses. For the first one I'm committing a patch. for the second one, I have to work on it, perhaps I could have something the next week. Unfortunately, not soon enough to reach M3. :-(

Regards.


> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M3
>            Reporter: Manuel Teira
>            Assignee: Andrew Stitcher
>             Fix For: M3
>
>         Attachments: solaris-port.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1198) Changes for the solaris port

Posted by "Manuel Teira (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Manuel Teira updated QPID-1198:
-------------------------------

    Attachment: localaddrs.patch

Changes to provide system dependent Local Addr information.

- New qpid::Address splitted out of qpid::Url
- qpid::sys::SystemInfo implementations for linux and solaris
- New methods in qpid::sys::SystemInfo to deal with the interface addresses
- Usage of the new qpid::sys::SystemInfo methods in qpid::Url
- Inclusion of qpid::Address in qpid::sys::SystemInfo and qpid::Url



> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M3
>            Reporter: Manuel Teira
>            Assignee: Andrew Stitcher
>             Fix For: M3
>
>         Attachments: acl.patch, ecfpoller-refactoring.patch, localaddrs.patch, solaris-port.patch, syslog-feature-test.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Re: [jira] Commented: (QPID-1198) Changes for the solaris port

Posted by Gordon Sim <gs...@redhat.com>.
Manuel Teira (JIRA) wrote:
> Manuel Teira commented on QPID-1198: 
> ------------------------------------

> All the qpid tests are successfully passed, on a Sparc based solaris
> 10 machine, with a Sun Studio 12 toolchain.

Nice work, Manuel!

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Commented: (QPID-1198) Changes for the solaris port

Posted by "Manuel Teira (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12682948#action_12682948 ] 

Manuel Teira commented on QPID-1198:
------------------------------------

Changes have been refactored to fit in the new Poller model.
Some remaining problems with bashishms, non scoped STL algorithms, and some other minor issues.

All the qpid tests are successfully passed, on a Sparc based solaris 10 machine, with a Sun Studio 12 toolchain.

This is true since 755161, prior to the branching for M5. So, I'm going to mark this issue with M5 fixing.


> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M3
>            Reporter: Manuel Teira
>            Assignee: Andrew Stitcher
>         Attachments: acl.patch, ecfpoller-refactoring.patch, localaddrs.patch, solaris-port.patch, syslog-feature-test.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Commented: (QPID-1198) Changes for the solaris port

Posted by "Andrew Stitcher (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12709073#action_12709073 ] 

Andrew Stitcher commented on QPID-1198:
---------------------------------------

Is this bug now closed re M5? Does M5 compile/run on Solaris?

Manuel can you elucidate?


> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M4
>            Reporter: Manuel Teira
>            Assignee: Andrew Stitcher
>             Fix For: 0.5
>
>         Attachments: acl.patch, ecfpoller-refactoring.patch, localaddrs.patch, solaris-port.patch, syslog-feature-test.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Issue Comment Edited: (QPID-1198) Changes for the solaris port

Posted by "Andrew Stitcher (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12617950#action_12617950 ] 

astitcher edited comment on QPID-1198 at 7/29/08 1:49 PM:
----------------------------------------------------------------

There are a couple of changes here that I don't plan to merge as is:

cpp/src/qpid/log/Options.cpp

This needs to be changed to use feature tests for LOG_AUTHPRIV and LOG_FTP which are checked for in the autoconf script.

So the code should end up looking like:

#ifdef HAVE_LOG_AUTHPRIV
...
#endif
...
#ifdef HAVE_LOG_FTP
...
#endif

cpp/src/qpid/Url.cpp

The platform dependent code in here (the function getIpAddressesUrl) needs to be separated out and split into 2 files one for linux and one for Solaris. I think that the original linux code isn't that great, but that's besides the point!

One thing that I'm very intent on is keeping any #ifdef SUNOS...#endif conidtional compiles from the code:
It is pretty well established now that this is not the way to write portable code - indeed the whole rationale of autoconf is to allow the use of feature tests in portable code.

I'm okay with the platform dictating which files get compiled though which is why I suggest creating implementations for the different platforms.

      was (Author: astitcher):
    There a couple of changes here that I don't plan to merge as is:

cpp/src/qpid/log/Options.cpp

This needs to be changed to use feature tests for LOG_AUTHPRIV and LOG_FTP which are checked for in the autoconf script.

So the code should end up looking like:

#ifdef HAVE_LOG_AUTHPRIV
...
#endif
...
#ifdef HAVE_LOG_FTP
...
#endif

cpp/src/qpid/Url.cpp

The platform dependent code in here (the function getIpAddressesUrl) needs to be separated out and split into 2 files one for linux and one for Solaris. I think that the original linux code isn't that great, but that's besides the point!

One thing that I'm very intent on is keeping any #ifdef SUNOS...#endif conidtional compiles from the code:
It is pretty well established now that this is not the way to write portable code - indeed the whole rationale of autoconf is to allow the use of feature tests in portable code.

I'm okay with the platform dictating which files get compiled though which is why I suggest creating implementations for the different platforms.
  
> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M3
>            Reporter: Manuel Teira
>            Assignee: Andrew Stitcher
>             Fix For: M3
>
>         Attachments: solaris-port.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1198) Changes for the solaris port

Posted by "Manuel Teira (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12622523#action_12622523 ] 

Manuel Teira commented on QPID-1198:
------------------------------------

I agree with the implementation for the getLocalIpAddress issue that Steve proposed. If no objections, I'm going to implement it that way.

Regards.


> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M3
>            Reporter: Manuel Teira
>            Assignee: Andrew Stitcher
>             Fix For: M3
>
>         Attachments: solaris-port.patch, syslog-feature-test.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1198) Changes for the solaris port

Posted by "Manuel Teira (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Manuel Teira updated QPID-1198:
-------------------------------

        Fix Version/s: 0.5
    Affects Version/s:     (was: M3)
                       M4

> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M4
>            Reporter: Manuel Teira
>            Assignee: Andrew Stitcher
>             Fix For: 0.5
>
>         Attachments: acl.patch, ecfpoller-refactoring.patch, localaddrs.patch, solaris-port.patch, syslog-feature-test.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-1198) Changes for the solaris port

Posted by "Manuel Teira (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Manuel Teira updated QPID-1198:
-------------------------------

    Attachment: ecfpoller-refactoring.patch

Refactoring of the solaris ECFPoller to honour the changes in svn rev 680395
Nasty SunCC workaround not needed anymore!



> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M3
>            Reporter: Manuel Teira
>            Assignee: Andrew Stitcher
>             Fix For: M3
>
>         Attachments: acl.patch, ecfpoller-refactoring.patch, solaris-port.patch, syslog-feature-test.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1198) Changes for the solaris port

Posted by "Andrew Stitcher (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12617948#action_12617948 ] 

Andrew Stitcher commented on QPID-1198:
---------------------------------------

As of Tue Jul 29 @ 21:27 GMT I've applied a lot of this patch:

What I've applied so far is the code that is really mostly tidy up of the existing code base for platform independence:
Things like extra #includes that are really necessary across platforms; use of uint* instead of u_int*; shell script fixes to work with sh as well as bash; some extra c++ namespace qualification.

What's left is the actual Solaris port code, and some parts that are more fiddly.


> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M3
>            Reporter: Manuel Teira
>            Assignee: Andrew Stitcher
>             Fix For: M3
>
>         Attachments: solaris-port.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1198) Changes for the solaris port

Posted by "Manuel Teira (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Manuel Teira updated QPID-1198:
-------------------------------

    Attachment: solaris-port.patch

> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M3
>            Reporter: Manuel Teira
>             Fix For: M3
>
>         Attachments: solaris-port.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1198) Changes for the solaris port

Posted by "Gordon Sim (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gordon Sim updated QPID-1198:
-----------------------------

    Fix Version/s:     (was: M4)

Unfortunately this has not made it into M4.

> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M3
>            Reporter: Manuel Teira
>            Assignee: Andrew Stitcher
>         Attachments: acl.patch, ecfpoller-refactoring.patch, localaddrs.patch, solaris-port.patch, syslog-feature-test.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1198) Changes for the solaris port

Posted by "Manuel Teira (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Manuel Teira updated QPID-1198:
-------------------------------

    Attachment: acl.patch

Check for the library providing the acl API, since Solaris includes it as part of libc whereas linux provides a different library.

> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M3
>            Reporter: Manuel Teira
>            Assignee: Andrew Stitcher
>             Fix For: M3
>
>         Attachments: acl.patch, solaris-port.patch, syslog-feature-test.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1198) Changes for the solaris port

Posted by "Andrew Stitcher (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12617950#action_12617950 ] 

Andrew Stitcher commented on QPID-1198:
---------------------------------------

There a couple of changes here that I don't plan to merge as is:

cpp/src/qpid/log/Options.cpp

This needs to be changed to use feature tests for LOG_AUTHPRIV and LOG_FTP which are checked for in the autoconf script.

So the code should end up looking like:

#ifdef HAVE_LOG_AUTHPRIV
...
#endif
...
#ifdef HAVE_LOG_FTP
...
#endif

cpp/src/qpid/Url.cpp

The platform dependent code in here (the function getIpAddressesUrl) needs to be separated out and split into 2 files one for linux and one for Solaris. I think that the original linux code isn't that great, but that's besides the point!

One thing that I'm very intent on is keeping any #ifdef SUNOS...#endif conidtional compiles from the code:
It is pretty well established now that this is not the way to write portable code - indeed the whole rationale of autoconf is to allow the use of feature tests in portable code.

I'm okay with the platform dictating which files get compiled though which is why I suggest creating implementations for the different platforms.

> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M3
>            Reporter: Manuel Teira
>            Assignee: Andrew Stitcher
>             Fix For: M3
>
>         Attachments: solaris-port.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1198) Changes for the solaris port

Posted by "Manuel Teira (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Manuel Teira updated QPID-1198:
-------------------------------

    Attachment: syslog-feature-test.patch

> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M3
>            Reporter: Manuel Teira
>            Assignee: Andrew Stitcher
>             Fix For: M3
>
>         Attachments: solaris-port.patch, syslog-feature-test.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1198) Changes for the solaris port

Posted by "Steve Huston (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12617964#action_12617964 ] 

Steve Huston commented on QPID-1198:
------------------------------------

Re the Url.cpp file and getIpAddressesUrl(), I also worked on this for the Windows port. The approach I have there is:

- Move the Address and TcpAddress class defs from qpid/Url.h to a new file, qpid/Address.h.
- Add a getLocalIpAddresses method to sys::SystemInfo
- Change Url to call SystemInfo::getLocalIpAddresses

Then all that needs to be reimplemented on each platform is the particulars about how to look up local IP addresses.

> Changes for the solaris port
> ----------------------------
>
>                 Key: QPID-1198
>                 URL: https://issues.apache.org/jira/browse/QPID-1198
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: M3
>            Reporter: Manuel Teira
>            Assignee: Andrew Stitcher
>             Fix For: M3
>
>         Attachments: solaris-port.patch
>
>
> Patch with changes needed to have the project compiling under Sun Studio 12, on a Solaris Sparc machine. Tests are also passing.
> This patch summarizes all the changes in my local copy, including those from the non-resolved jira issues: QPID-1132 and QPID-1133. 
> Other changes are:
> 1.- Missing include files
> 2.- Some GNUishms in system calls. I think there're two cases for this:
>    2.1.- POSIX strerror_r doesn't return the buffer.
>    2.2. - pthread_yield is not POSIX compliant. Using sched_yield instead.
> 3.- No FTP and LOG_FTP syslog categories on Solaris.
> 4.- The private inheritance bug in the solaris compiler
> 5.- The Uuid.h solaris non-const members. 
> 6.- Some explicit namespacing. In some parts of the code.
> 7.- Replace all the u_intN_t typenames with  uintN_t typenames.
> 8.- The queue issue. Name already used in solaris system headers.
> 9.-Some minor bashisms in scripts, complaining under pure sh shells.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.