Opened 3 months ago

Last modified 4 weeks ago

#54781 reopened defect

osxfuse @3.6.3: use of undeclared identifiers 'VOL_CAP_FMT_NO_IMMUTABLE_FILES' 'VOL_CAP_FMT_NO_PERMISSIONS'

Reported by: mklein-de (Michael Klein) Owned by: drkp (Dan Ports)
Priority: Normal Milestone:
Component: ports Version:
Keywords: elcapitan Cc: todmorrison (Tod Morrison), anatol (Anatol Pomozov)
Port: osxfuse

Description

first error is:

/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_macports_macports-ports_fuse_osxfuse/osxfuse/work/osxfuse-osxfuse-87d266a/kext/osxfuse/fuse_vfsops.c:857:11: error: use of undeclared identifier 'VOL_CAP_FMT_NO_IMMUTABLE_FILES'
        | VOL_CAP_FMT_NO_IMMUTABLE_FILES
          ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_macports_macports-ports_fuse_osxfuse/osxfuse/work/osxfuse-osxfuse-87d266a/kext/osxfuse/fuse_vfsops.c:858:11: error: use of undeclared identifier 'VOL_CAP_FMT_NO_PERMISSIONS'
        | VOL_CAP_FMT_NO_PERMISSIONS
          ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_macports_macports-ports_fuse_osxfuse/osxfuse/work/osxfuse-osxfuse-87d266a/kext/osxfuse/fuse_vfsops.c:1244:60: error: implicit conversion from 'int' to '__uint16_t' (aka 'unsigned short') changes value from 1430668627 to 17747 [-Werror,-Wconstant-conversion]
    VFSATTR_RETURN(attr, f_signature, OSSwapBigToHostInt16(FUSEFS_SIGNATURE));
                                      ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~

full log attached

Attachments (2)

main.log (700.3 KB) - added by mklein-de (Michael Klein) 3 months ago.
osxfuse-3.7.1.log (441.9 KB) - added by mklein-de (Michael Klein) 3 months ago.

Download all attachments as: .zip

Change History (14)

Changed 3 months ago by mklein-de (Michael Klein)

comment:1 Changed 3 months ago by ryandesign (Ryan Schmidt)

  • Cc dports@… drkp removed
  • Keywords elcapitan added
  • Owner set to drkp
  • Status changed from new to assigned
  • Summary changed from osxfuse 3.6.3 fails to build on 10.11.6 (Xcode 8.2.1) to osxfuse @3.6.3: use of undeclared identifiers 'VOL_CAP_FMT_NO_IMMUTABLE_FILES' 'VOL_CAP_FMT_NO_PERMISSIONS'

Indeed VOL_CAP_FMT_NO_IMMUTABLE_FILES and VOL_CAP_FMT_NO_PERMISSIONS appear to have been introduced in Sierra; I would think that trying to use them on El Capitan won't work.

It looks like the use of these constants was added to osxfuse as part of "experimental support for macOS 10.13".

Curiously, the build did succeed on El Capitan on our build server. It is using Xcode 7.3.1, to your 8.2.1; perhaps that's a relevant difference.

You should probably report this bug to the developers so they can fix it.

comment:2 Changed 3 months ago by ryandesign (Ryan Schmidt)

osxfuse only tries to use those new constants when the kernel's VERSION_MAJOR is 16 or greater. Xcode 7.3.1's 10.11 SDK defines VERSION_MAJOR as 15 (in /System/Library/Frameworks/Kernel.framework/Versions/A/Headers/libkern/version.h) which explains why it would work on our build server. Your Xcode 8.2.1 apparently contains the 10.12 SDK, which defines VERSION_MAJOR as 16. But if the build command is getting the VERSION_MAJOR definition from the SDK then I'm not sure why it isn't also getting the definition of those missing constants from the SDK.

comment:4 Changed 3 months ago by drkp (Dan Ports)

We use a downloaded binary of the osxfuse kext on modern OSes anyway to get around code-signing issues, so we might as well not try to build it.

comment:5 Changed 3 months ago by Dan R. K. Ports <drkp@…>

  • Resolution set to fixed
  • Status changed from assigned to closed

In 60351f9bd866d1dabd6834a3984f10922b2ae15c/macports-ports:

osxfuse: update to v3.7.1; disable kext build on Mavericks and later

Closes: #54781
Closes: #54561

comment:6 follow-up: Changed 3 months ago by mklein-de (Michael Klein)

  • Resolution fixed deleted
  • Status changed from closed to reopened

Thanks, but I'm still getting build errors. The binary kext seems to be fetched, but built anyway. I'll attach the full log.

I was also getting checksum errors for the prefpane module. Looking at the diff it looks like it's still at the same version, but the expected checksum has changed.

Changed 3 months ago by mklein-de (Michael Klein)

comment:7 Changed 3 months ago by Schamschula (Marius Schamschula)

  • Cc Schamschula added

comment:8 in reply to: ↑ 6 Changed 3 months ago by Schamschula (Marius Schamschula)

Replying to mklein-de:

Thanks, but I'm still getting build errors. The binary kext seems to be fetched, but built anyway. I'll attach the full log.

I was also getting checksum errors for the prefpane module. Looking at the diff it looks like it's still at the same version, but the expected checksum has changed.

The issue has its own ticket: #54892

comment:9 Changed 3 months ago by Schamschula (Marius Schamschula)

  • Cc Schamschula removed

comment:10 Changed 2 months ago by todmorrison (Tod Morrison)

  • Cc todmorrison added

comment:11 Changed 4 weeks ago by anatol (Anatol Pomozov)

I updated my laptop to High Sierra and I see this osxfuse compilation failure. What I need to do to install the osxfuse package?

comment:12 Changed 4 weeks ago by anatol (Anatol Pomozov)

  • Cc anatol added
Note: See TracTickets for help on using tickets.