Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

librefuse vs ntfs-3g



Hello,

I've been trying to figure out why NTFS-3g doesn't build on the NetBSD-8 and-current and found that the Librefuse library updated to track some changes in LIBFUSE3, http://mail-index.netbsd.org/source-changes/2016/11/20/msg079195.html.
But unfortunately these changes are incompatible with the previous version of the API.

I have a few questions:
1-The version of the Librefuse library should not be changed to reflect the update?
2-Should the previous version be maintained in any way to maintain compatibility with existing software?
3-Should I open a PR to document this? If yes, which category: Lib or pkg?


Building NTFS-3g show the following error:

gcc -DHAVE_CONFIG_H -I. -I..   -D_KERNTYPES -I/usr/pkg/include                           -DFUSE_USE_VERSION=26                                   -I../include/ntfs-3g -O2 -D_KERNTYPES -D_NETBSD_SOURCE -D_FORTIFY_SOURCE=2 -I/usr/pkg/include -Wall -MT ntfs_3g-ntfs-3g.o -MD -MP -MF .deps/ntfs_3g-ntfs-3g.Tpo -c -o ntfs_3g-ntfs-3g.o `test -f 'ntfs-3g.c' || echo './'`ntfs-3g.c
In file included from ../include/ntfs-3g/mft.h:30:0,
                 from ../include/ntfs-3g/index.h:60,
                 from ../include/ntfs-3g/volume.h:53,
                 from ../include/ntfs-3g/inode.h:34,
                 from ../include/ntfs-3g/attrib.h:33,
                 from ntfs-3g.c:86:
ntfs-3g.c: In function 'usage':
ntfs-3g.c:3528:58: warning: implicit declaration of function 'fuse_version' [-Wimplicit-function-declaration]
  ntfs_log_info(usage_msg, EXEC_NAME, VERSION, FUSE_TYPE, fuse_version(),
                                                          ^
../include/ntfs-3g/logging.h:95:123: note: in definition of macro 'ntfs_log_info'
 #define ntfs_log_info(FORMAT, ARGS...) ntfs_log_redirect(__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_INFO,NULL,FORMAT,##ARGS)
                                                                                                                           ^
ntfs-3g.c: In function 'try_fuse_mount':
ntfs-3g.c:3657:18: warning: passing argument 1 of 'fuse_mount' from incompatible pointer type [-Wincompatible-pointer-types]
  fc = fuse_mount(opts.mnt_point, &margs);
                  ^
In file included from ntfs-3g.c:30:0:
/usr/include/fuse.h:156:5: note: expected 'struct fuse *' but argument is of type 'char *'
 int fuse_mount(struct fuse *, const char *);
     ^
ntfs-3g.c:3657:34: warning: passing argument 2 of 'fuse_mount' from incompatible pointer type [-Wincompatible-pointer-types]
  fc = fuse_mount(opts.mnt_point, &margs);
                                  ^
In file included from ntfs-3g.c:30:0:
/usr/include/fuse.h:156:5: note: expected 'const char *' but argument is of type 'struct fuse_args *'
 int fuse_mount(struct fuse *, const char *);
     ^
ntfs-3g.c:3657:5: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
  fc = fuse_mount(opts.mnt_point, &margs);
     ^
ntfs-3g.c: In function 'mount_fuse':
ntfs-3g.c:3705:16: warning: passing argument 1 of 'fuse_new' from incompatible pointer type [-Wincompatible-pointer-types]
  fh = fuse_new(ctx->fc, &args , &ntfs_3g_ops, sizeof(ntfs_3g_ops), NULL);
                ^
In file included from ntfs-3g.c:30:0:
/usr/include/fuse.h:153:14: note: expected 'struct fuse_args *' but argument is of type 'struct fuse_chan *'
 struct fuse *fuse_new(struct fuse_args *,
              ^
ntfs-3g.c:3705:25: warning: passing argument 2 of 'fuse_new' from incompatible pointer type [-Wincompatible-pointer-types]
  fh = fuse_new(ctx->fc, &args , &ntfs_3g_ops, sizeof(ntfs_3g_ops), NULL);
                         ^
In file included from ntfs-3g.c:30:0:
/usr/include/fuse.h:153:14: note: expected 'const struct fuse_operations *' but argument is of type 'struct fuse_args *'
 struct fuse *fuse_new(struct fuse_args *,
              ^
ntfs-3g.c:3705:33: warning: passing argument 3 of 'fuse_new' makes integer from pointer without a cast [-Wint-conversion]
  fh = fuse_new(ctx->fc, &args , &ntfs_3g_ops, sizeof(ntfs_3g_ops), NULL);
                                 ^
In file included from ntfs-3g.c:30:0:
/usr/include/fuse.h:153:14: note: expected 'size_t {aka long unsigned int}' but argument is of type 'struct fuse_operations *'
 struct fuse *fuse_new(struct fuse_args *,
              ^
ntfs-3g.c:3705:47: warning: passing argument 4 of 'fuse_new' makes pointer from integer without a cast [-Wint-conversion]
  fh = fuse_new(ctx->fc, &args , &ntfs_3g_ops, sizeof(ntfs_3g_ops), NULL);
                                               ^
In file included from ntfs-3g.c:30:0:
/usr/include/fuse.h:153:14: note: expected 'void *' but argument is of type 'long unsigned int'
 struct fuse *fuse_new(struct fuse_args *,
              ^
ntfs-3g.c:3705:7: error: too many arguments to function 'fuse_new'
  fh = fuse_new(ctx->fc, &args , &ntfs_3g_ops, sizeof(ntfs_3g_ops), NULL);
       ^
In file included from ntfs-3g.c:30:0:
/usr/include/fuse.h:153:14: note: declared here
 struct fuse *fuse_new(struct fuse_args *,
              ^
ntfs-3g.c:3720:15: warning: passing argument 1 of 'fuse_unmount' from incompatible pointer type [-Wincompatible-pointer-types]
  fuse_unmount(opts.mnt_point, ctx->fc);
               ^
In file included from ntfs-3g.c:30:0:
/usr/include/fuse.h:157:6: note: expected 'struct fuse *' but argument is of type 'char *'
 void fuse_unmount(struct fuse *);
      ^
ntfs-3g.c:3720:2: error: too many arguments to function 'fuse_unmount'
  fuse_unmount(opts.mnt_point, ctx->fc);
  ^
In file included from ntfs-3g.c:30:0:
/usr/include/fuse.h:157:6: note: declared here
 void fuse_unmount(struct fuse *);
      ^
ntfs-3g.c:3716:1: warning: label 'err_destory' defined but not used [-Wunused-label]
 err_destory:
 ^
ntfs-3g.c: In function 'main':
ntfs-3g.c:3999:15: warning: passing argument 1 of 'fuse_unmount' from incompatible pointer type [-Wincompatible-pointer-types]
  fuse_unmount(opts.mnt_point, ctx->fc);
               ^
In file included from ntfs-3g.c:30:0:
/usr/include/fuse.h:157:6: note: expected 'struct fuse *' but argument is of type 'char *'
 void fuse_unmount(struct fuse *);
      ^
ntfs-3g.c:3999:2: error: too many arguments to function 'fuse_unmount'
  fuse_unmount(opts.mnt_point, ctx->fc);
  ^
In file included from ntfs-3g.c:30:0:
/usr/include/fuse.h:157:6: note: declared here
 void fuse_unmount(struct fuse *);
      ^
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/filesystems/fuse-ntfs-3g/work/ntfs-3g_ntfsprogs-2015.3.14/src
*** Error code 1

Stop.
make[1]: stopped in /usr/pkgsrc/filesystems/fuse-ntfs-3g
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/filesystems/fuse-ntfs-3g
nb8beta#


Best regards
Vicente


Home | Main Index | Thread Index | Old Index