Hey, it seems that xfce4-settings relies on the PATH_MAX value to be defined, which is not the case on hurd, so it fails to build. There's a build log available at https://buildd.debian.org/status/fetch.php?pkg=xfce4-settings&arch=hurd-i386&ver=4.8.1-3&stamp=1303349756 The usual way to fix this is to use realpath(), so I'll try to provide a patch for that.
Created attachment 3625 fix PATH_MAX beeing undefined on HURD Ok, realpath() doesn't look like the correct way to fix that, so I just used g_strdup_printf() to allocate the memory. I guess g_vasnprintf() would do the job too but I'm not so sure which one should be preferred.
Can't we use #ifndef MAX_PATH #define MAX_PATH 4096 #endif
Sure we can, but isn't using a dynamically allocated string better? I mean, in most cases we won't overflow 4096, but it's still a hard limit which isn't really needed.
Doesn't hurt the performance or memory usage, if you don't use this a lot.
I'm not too sure I correctly parse your last comment but, basically, I don't think hardcoding 4096 and having a statically allocated 4k-long buffer is really a problem by itself. It's just that it means enforcing random limits on system which don't have them (and on purpose, because they are arbitrary). So yes it's a quick and easy fix but it might not be the best one :)
Mm sorry, I didn't look at the patch, yeah that is better. However, you want to use: file = g_build_path (dirs[i], file, NULL);
Created attachment 3628 fix PATH_MAX beeing undefined on HURD I didn't know about g_build_path() (though I guess you meant g_build_filename()) so here's an updated patch.
Fixed in 57ade33.