[Boost.System] Porting to HP-UX PA_RISC.

Hi. HP-UX PA_RISC is missing EOWNERDEAD and ENOTRECOVERABLE system error code constants required by the Boost System library. They are not critical to Boost System and are only converted to some Boost System constants as a convenience to the user. My guess is that they should not be used by Boost System unless the base OS defines them. Tested with the Boost System library distributed with the Boost ASIO 1.38 release. [This is related to our todays posting (PA_RISC HP-UX 11.11 port) on the Boost ASIO list.] Hope this helps. Best regards, Jurko Gospodnetić

It is not just PA_RISC: these errno values are not defined on HP-UX ia64 either. They are also not defined on Tru64 and VMS and, based on comments in <boost/cerrno.hpp>, on Windows. <boost/cerrno.hpp> defines unique values for errno values missing on different systems. These (unique) values are high enough to not collide with the values in <errno.h>. I think, this is for completeness and I don't understand why you think that the missing values should not be defined at all. The author of Boost.System library will give you definitive answer. Thanks, Boris ----- Original Message ----- From: "Jurko Gospodnetić" <jurko.gospodnetic@docte.hr> To: <boost@lists.boost.org> Sent: Wednesday, December 05, 2007 10:46 AM Subject: [boost] [Boost.System] Porting to HP-UX PA_RISC.
Hi.
HP-UX PA_RISC is missing EOWNERDEAD and ENOTRECOVERABLE system error code constants required by the Boost System library. They are not critical to Boost System and are only converted to some Boost System constants as a convenience to the user. My guess is that they should not be used by Boost System unless the base OS defines them.
Tested with the Boost System library distributed with the Boost ASIO 1.38 release. [This is related to our todays posting (PA_RISC HP-UX 11.11 port) on the Boost ASIO list.]
Hope this helps.
Best regards, Jurko Gospodnetić
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Hi. Thanks for the reply.
<boost/cerrno.hpp> defines unique values for errno values missing on different systems. These (unique) values are high enough to not collide with the values in <errno.h>. I think, this is for completeness and I don't understand why you think that the missing values should not be defined at all.
We did not know about this header, nor really how these error codes were intended to be used. Just saw that the mentioned ones that were missing were causing compilation errors for Boost ASIO and that they were not getting used anywhere in code except to declare an unused constant so the simplest thing to do as a quick-fix was to skip their use with an #ifdef. I'll go check now whether perhaps some header (in Boost ASIO or Boost System) is forgetting to include this boost/cerrno.hpp header. Then a clean fix would be simple. :-) Best regards, Jurko Gospodnetić

Hi.
<boost/cerrno.hpp> defines unique values for errno values missing on different systems. These (unique) values are high enough to not collide with the values in <errno.h>. I think, this is for completeness and I don't understand why you think that the missing values should not be defined at all.
Ok, we found the problem and it was local to our environment. We were using boost/cerrno.hpp from the boost 1.34.1 release by mistake which did not define the preprocessor constants in question. Once we replaced it with the one in the Boost ASIO 0.3.8 distribution (includes Boost System) everything works fine. Thanks for the tip! Best regards, Jurko Gospodnetić
participants (2)
-
Boris Gubenko
-
Jurko Gospodnetić