I have installed Solaris 11 on a SunFire X4100 server (AMD processor).
There is a fuse implementation from an OpenSolaris project built on the machine,
neon is installed from sources. gcc3.4.6 comes from the package available on sunfrreware.com.
When trying to compile davfs2-1.2.2, make fails saying
Making all in po
Making all in etc
Making all in man
Making all in de
Making all in es
Making all in src
gcc -DPROGRAM_NAME=\"mount.davfs\" -DDAV_SYS_CONF_DIR=\"/usr/local/etc/davfs2\" -DDAV_SYS_RUN=\"/var/run/mount.davfs\" -DDAV_SYS_CACHE=\"/var/cache/davfs2\" -DDAV_SECRETS=\"secrets\" -DDAV_CONFIG=\"davfs2.conf\" -DDAV_CERTS_DIR=\"certs\" -DDAV_CLICERTS_DIR=\"private\" -DDAV_DATA_DIR=\"/usr/local/share/davfs2\" -DLOCALEDIR=\"/usr/local/share/locale\" -DDAV_USER=\"davfs2\" -DDAV_GROUP=\"davfs2\" -DHAVE_CONFIG_H -I. -I.. -I/usr/local/include -Wall -g -O2 -I/usr/include/neon -D_LARGEFILE64_SOURCE -DNE_LFS -MT cache.o -MD -MP -MF .deps/cache.Tpo -c -o cache.o cache.c
cache.c:26:18: argz.h: Datei oder Verzeichnis nicht gefunden
cache.c:29:19: error.h: Datei oder Verzeichnis nicht gefunden
cache.c: In function `dav_init_cache':
cache.c:424: Warnung: implizite Deklaration der Funktion »LOG_MAKEPRI«
cache.c:478: Warnung: implizite Deklaration der Funktion »error«
cache.c: In function `write_node':
cache.c:2676: Warnung: unsigned int Format, mode_t Argument (Argument 5)
*** Error code 1
make: Fatal error: Command failed for target `cache.o'
Current working directory /opt/install/davfs2-1.2.2/src
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
case $f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
target=`echo all-recursive | sed s/-recursive//`; \
list='po etc man src'; for subdir in $list; do \
echo "Making $target in $subdir"; \
if test "$subdir" = "."; then \
(cd $subdir && make $local_target) \
|| eval $failcom; \
if test "$dot_seen" = "no"; then \
make "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Current working directory /opt/install/davfs2-1.2.2
*** Error code 1
make: Fatal error: Command failed for target `all'
I can only see warnings, no error.
Is there any experience with buildimg davfs2 on Solaris? Is that possible at all?
Thank you for a short hint,
most probably davfs2 can be build and run on Solaris. But there is some work to do.
I use the GNU tools to build davfs2 in order to keep it port*able*. But it is not yet port*ed* to anything but GNU/Linux. As I have neither experience with porting to another OS nor with Solaris, I cannot do this. But if you succeed, I would like to include your work into the davfs2-sources.
As far as I know (and I don't know much), this are the issues with porting:
- missing or differently named header files:
e.g.: "cache.c:29:19: error.h: Datei oder Verzeichnis nicht gefunden"
You have to find the matching header file on Solaris, and than make the includes
You may check the output of ./configure and config.h to find header related problems.
- missing functions and macros:
davfs2 uses GNU extensions, so some of the functions may not be available on Solaris.
In this case you will have to conditionally define a replacement function for this.
- There might be problems with missing or differently defined data types.
- There might be problems with the fuse-devices. davfs2 uses /dev/fuse, major 10, minor 229,
for communication with the kernel. This may be different on Solaris.
You make look at the fuse_kernel.h from your kernel sources for differences and make
conditional changes in davfs2 defaults.h and kernel_interface.h.
As I told, I am not able to do this, nevertheless some hints:
- You may look at the sources of other packages (like e.g. neon). Probable a lot of
the porting problems are allready solved there.
- For missing functions you may look at http://www.gnu.org/software/gnulib/.
- You may look for help on Solaris related news groups and web sites.
- You will most probably have to change configure.ac and use ./bootstrap to rebuild the package.
Please tell me about your progress and further problems.
Have a lot of fun and time