The main reason why they haven't been merged yet is that it had dependencies on a very recent version of FUSE, and there didn't seem to be a good way in the submitted patches of checking to see whether we had the correct FUSE API supported by the FUSE libraries installed on the system.
![fuse4x homebrew fuse4x homebrew](https://coolestguidesontheplanet.com/wp-content/uploads/2014/04/brew-ntfs-3g.png)
There are some patches that are pending in my queue that add native support for FUSE to e2fsprogs. Those sorts of brew hacks are not going to be anything I can comment intelligently on, unfortunately. So that points to bugs in how brew is either invoking the configure script, or if I recall correctly, how it works around the configure script. This required adding some new function prototypes that use a blk64_t type, and the makefile errors that were attach were related to that. The errors that I saw seemed to indicate that it's a problem with either the brew configuration or local patches applied by brew that don't take into account the fact that newer versions of e2fsprogs (newer than 1.42.x) now support block numbers larger than 32 bits. These were all problems that you could have worked around by adding -std=c89 in your CFLAGS - and for all I know, the brew scripts may have done that already. This mainly involved fixes to how we handled the inline keywoard so the e2fsprogs build system can support building under the legacy GCC C89 extensions as well as the C99 standard (which is what Clang uses by default).
![fuse4x homebrew fuse4x homebrew](http://myzephyrs.com/fuses1981.jpg)
![fuse4x homebrew fuse4x homebrew](https://jeelabs.org/wp-content/uploads/2011/09/Screen-Shot-2011-09-24-at-0.33.33.png)
I've just pushed updates to the maint and next branches of the e2fsprogs git tree so we can now compile under Clang without any problems. I could be wrong about this, of course, but the fact that the error refers to, and then ext2fuse fails with complaints about e2fsprogs types, they could be related: :1:10: fatal error: 'asm/types.h' file not foundĪsm_types.c:3:1: warning: type specifier missing, defaults to 'int' Īsm_types.c:12:2: warning: #warning _U8_TYPEDEF not defined Īsm_types.c:21:2: warning: #warning _S8_TYPEDEF not defined Īsm_types.c:30:2: warning: #warning _U16_TYPEDEF not defined Īsm_types.c:39:2: warning: #warning _S16_TYPEDEF not defined Īsm_types.c:49:2: warning: #warning _U32_TYPEDEF not defined Īsm_types.c:58:2: warning: #warning _S32_TYPEDEF not defined Īsm_types.c:68:2: warning: #warning _U64_TYPEDEF not defined Īsm_types.c:77:2: warning: #warning _S64_TYPEDEF not defined Checking whether byte ordering is bigendian.