[
https://issues.apache.org/jira/browse/DAEMON-294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13628994#comment-13628994
]
Emmanuel Bourg commented on DAEMON-294:
---------------------------------------
Also, from the GNU Hurd Porting Guidelines:
http://www.gnu.org/software/hurd/hurd/porting/guidelines.html#PATH_MAX_tt_MAX_PATH_tt_MAXPATHL
{quote}Every unconditionalized use of PATH_MAX, MAX_PATH or MAXPATHLEN is a
POSIX incompatibility. If there is no upper limit on the length of a path (as
its the case for GNU), this symbol is not defined in any header file. Instead,
you need to either use a different implementation that does not rely on the
length of a string or use sysconf() to query the length at runtime. If
sysconf() returns -1, you have to use realloc() to allocate the needed memory
dynamically. Usually it is thus simpler to just use dynamic allocation.
Sometimes the amount is actually known. Else, a geometrically growing loop can
be used: for instance, see [Alioth
patch|http://alioth.debian.org/tracker/download.php/30628/410472/303735/1575/cpulimit-path-max-fix.patch]
or [Pulseaudio
patch|http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=patch-pulse;att=1;bug=522100].
Note that in some cases there are GNU extensions that just work fine: when the
__GLIBC__ macro is defined, getcwd() calls can be just replaced by
get_current_dir_name() calls.
Note: constants such as _POSIX_PATH_MAX are only the minimum required value for
a potential corresponding PATH_MAX macro. They are not a replacement for
PATH_MAX, just the minimum value that one can assume.
Note 2: Yes, some POSIX functions such as realpath() actually assume that
PATH_MAX is defined. This is a bug of the POSIX standard, which got fixed in
the latest revisions, in which one can simply pass NULL to get a dynamically
allocated buffer.{quote}
> Compilation fails on GNU Hurd
> -----------------------------
>
> Key: DAEMON-294
> URL: https://issues.apache.org/jira/browse/DAEMON-294
> Project: Commons Daemon
> Issue Type: Bug
> Affects Versions: 1.0.10
> Reporter: Emmanuel Bourg
> Priority: Minor
>
> The compilation of Commons Daemon fails on GNU Hurd as reported by the buildd
> instance used by Debian. It breaks with the following error:
> {code}arguments.c:61:17: error: 'PATH_MAX' undeclared (first use in this
> function){code}
> The full report is available here:
> https://buildd.debian.org/status/package.php?p=commons-daemon
> https://buildd.debian.org/status/fetch.php?pkg=commons-daemon&arch=hurd-i386&ver=1.0.10-3&stamp=1345183045
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira