-
Notifications
You must be signed in to change notification settings - Fork 129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build script doesn't work MacOS Sonoma 14.4 #143
Comments
Same problem, and can not find a proper solution.... |
me also I don't know why it happens that's why I added a ticket |
Same here... |
Same issue |
mark |
Adding EDIT: diff --git a/fuse-ext2/fuse-ext2.h b/fuse-ext2/fuse-ext2.h
index 07fd1db..09399ed 100644
--- a/fuse-ext2/fuse-ext2.h
+++ b/fuse-ext2/fuse-ext2.h
@@ -178,7 +178,7 @@ int op_fgetattr (const char *path, struct stat *stbuf, struct fuse_file_info *fi
int op_getattr (const char *path, struct stat *stbuf);
-int op_getxattr(const char *path, const char *name, char *value, size_t size);
+int op_getxattr(const char *path, const char *name, char *value, size_t size, uint32_t position);
ext2_file_t do_open (ext2_filsys e2fs, const char *path, int flags);
diff --git a/fuse-ext2/op_getxattr.c b/fuse-ext2/op_getxattr.c
index 27f95c3..1c7f783 100644
--- a/fuse-ext2/op_getxattr.c
+++ b/fuse-ext2/op_getxattr.c
@@ -15,7 +15,7 @@
static int do_getxattr(ext2_filsys e2fs, struct ext2_inode *node, const char *name,
char *value, size_t size);
-int op_getxattr(const char *path, const char *name, char *value, size_t size) {
+int op_getxattr(const char *path, const char *name, char *value, size_t size, uint32_t position) {
int rt;
ext2_ino_t ino;
struct ext2_inode inode; |
Thanks for your solution. |
i am not a programmer how can I apply the patch in the script or on the command line ? this is the script I use how can I implement the patch just rename to sh |
patch fuse-ext2/fuse-ext2.h getxattr-macos-fix.patch |
@DexterSLamb |
got it thanks. |
I still get the same error after applying the patch.. I am kinda lost at this point |
I needed an other script. because e2fslibs could not be found and isn't installable |
to find e2fslibs you need to adjust PATHS: nano ~/.zshrc
source ~/.zshrc |
this is my error: /Library/Developer/CommandLineTools/usr/bin/make all-recursive |
so.. I've restarted, then i deleted the whole repo and redownloaded it git clone https://github.com/alperakcan/fuse-ext2.git /tmp/ext4 then I've modified the two files manually (using the patch diff info) I ran the script: ./autogen.sh it asked to install an Xcode module. sudo xcodebuild -license then I ran the script again: ./autogen.sh now it finally works: % fuse-ext2 --version fuse-ext2 0.0.11 29 - FUSE EXT2FS Driver Copyright (C) 2008-2015 Alper Akcan [email protected] Usage: fuse-ext2 <device|image_file> <mount_point> [-o option[,...]] Options: ro, force, allow_other Example: fuse-ext2 /dev/sda1 /mnt/sda1 |
Great work thanks for sharing. |
@alperakcan Do you think the patch that fixes compilation (#143 (comment)) could be merged? Or was this function signature correct at some point, maybe for an older FUSE version? |
new to FUSE and this project, just had my compilation fail on me because of this error. |
I just had this error. I am very new to this and FUSE and not sure if I should try running any of the above scripts because of that. Not sure what to do :/ MacOS - Sonoma 14.2.1 - Intel |
AFAICS, the argument is new, possibly introduced with Sonoma. In order for this to be merged, I think one would have to
|
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -DHAVE_CONFIG_H -I/usr/local/include -D__FreeBSD__=10 -idirafter/opt/gnu/include -idirafter/usr/local/include/fuse/ -MT fuse_ext2-fuse-ext2.o -MD -MP -MF .deps/fuse_ext2-fuse-ext2.Tpo -c -o fuse_ext2-fuse-ext2.o
test -f 'fuse-ext2.c' || echo './'
fuse-ext2.cfuse-ext2.c:301:20: error: incompatible function pointer types initializing 'int (*)(const char *, const char *, char , size_t, uint32_t)' (aka 'int ()(const char *, const char *, char *, unsigned long, unsigned int)') with an expression of type 'int (const char *, const char *, char *, size_t)' (aka 'int (const char *, const char *, char , unsigned long)') [-Wincompatible-function-pointer-types]
.getxattr = op_getxattr,
^~~~~~~~~~~
1 error generated.
make[2]: *** [fuse_ext2-fuse-ext2.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Making install in fuse-ext2
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -DHAVE_CONFIG_H -I/usr/local/include -D__FreeBSD__=10 -idirafter/opt/gnu/include -idirafter/usr/local/include/fuse/ -MT fuse_ext2-fuse-ext2.o -MD -MP -MF .deps/fuse_ext2-fuse-ext2.Tpo -c -o fuse_ext2-fuse-ext2.o
test -f 'fuse-ext2.c' || echo './'
fuse-ext2.cfuse-ext2.c:301:20: error: incompatible function pointer types initializing 'int ()(const char *, const char *, char , size_t, uint32_t)' (aka 'int ()(const char *, const char *, char *, unsigned long, unsigned int)') with an expression of type 'int (const char *, const char *, char *, size_t)' (aka 'int (const char *, const char *, char *, unsigned long)') [-Wincompatible-function-pointer-types]
.getxattr = op_getxattr,
^~~~~~~~~~~
1 error generated.
make[1]: *** [fuse_ext2-fuse-ext2.o] Error 1
make: *** [install-recursive] Error 1
The text was updated successfully, but these errors were encountered: