sahlberg / fuse-nfs

A FUSE module for NFSv3/4
GNU General Public License v3.0
172 stars 41 forks source link

Unable to build #5

Closed paulcwarren closed 8 years ago

paulcwarren commented 8 years ago

Hey there,

We grabbed your code today and tried building it but ran into the following issue:-

root@vagrant-ubuntu-trusty-64:/home/vagrant/fuse-nfs# make
make  all-recursive
make[1]: Entering directory `/home/vagrant/fuse-nfs'
Making all in doc
make[2]: Entering directory `/home/vagrant/fuse-nfs/doc'
test -z "/usr/bin/xsltproc" || /usr/bin/xsltproc -o fuse-nfs.1 http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl fuse-nfs.xml
/bin/bash: /usr/bin/xsltproc: No such file or directory
make[2]: [fuse-nfs.1] Error 127 (ignored)
make[2]: Leaving directory `/home/vagrant/fuse-nfs/doc'
Making all in fuse
make[2]: Entering directory `/home/vagrant/fuse-nfs/fuse'
gcc -DHAVE_CONFIG_H -I. -I..     -g -O2 -D_FILE_OFFSET_BITS=64 -MT fuse-nfs.o -MD -MP -MF .deps/fuse-nfs.Tpo -c -o fuse-nfs.o fuse-nfs.c
fuse-nfs.c: In function ‘fuse_nfs_getattr’:
fuse-nfs.c:40:21: error: storage size of ‘nfs_st’ isn’t known
  struct nfs_stat_64 nfs_st;
                     ^
fuse-nfs.c: In function ‘main’:
fuse-nfs.c:384:7: warning: assignment makes pointer from integer without a cast [enabled by default]
  urls = nfs_parse_url_dir(nfs, url);
       ^
fuse-nfs.c:391:27: error: dereferencing pointer to incomplete type
  ret = nfs_mount(nfs, urls->server, urls->path);
                           ^
fuse-nfs.c:391:41: error: dereferencing pointer to incomplete type
  ret = nfs_mount(nfs, urls->server, urls->path);
                                         ^
make[2]: *** [fuse-nfs.o] Error 1
make[2]: Leaving directory `/home/vagrant/fuse-nfs/fuse'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/vagrant/fuse-nfs'
make: *** [all] Error 2

Focussing on just fuse-nfs.c:40:21: error: storage size of ‘nfs_st’ isn’t known we saw this snippet during configure:-

...
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
./configure: line 12355: PKG_PROG_PKG_CONFIG: command not found
checking whether to enable assertions... yes
checking fuse.h usability... yes
checking fuse.h presence... no
configure: WARNING: fuse.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: fuse.h: proceeding with the compiler's result
checking for fuse.h... yes
checking nfsc/libnfs.h usability... yes
checking nfsc/libnfs.h presence... yes
checking for nfsc/libnfs.h... yes
...

Any clues?

Much appreciated

kocane commented 6 years ago

@paulcwarren did you figure this out?

paulcwarren commented 6 years ago

Oh yes. I cant remember what we figured out but we did so this is definitely closed.

kocane commented 6 years ago

@paulcwarren oh it was more meant like a "I'm in the same boat, as you were" but since it's been quite a while since you looked at this, I get why you can't remember the solution :-P

paulcwarren commented 6 years ago

Whoops sorry I thought it was @sahlberg cleaning up. We build this into CloudFoundry so I can point you at our build scripts for that so you can see how we do it there:

https://github.com/cloudfoundry/nfs-volume-release/blob/master/packages/fuse-nfs/packaging

All we really do is unpack the relevant tarballs of tooling and make it.

Hopefully, these will help.

someben commented 5 years ago

For me, "apt-get install xsltproc" worked on a Debian-ish setup.