glensc / plex-fuse

Plex FUSE Filesystem: Mount Plex Media Server as local filesystem
BSD 3-Clause "New" or "Revised" License
6 stars 1 forks source link

Installing on macOS #96

Open neofright opened 4 months ago

neofright commented 4 months ago

Hi,

Thanks for this project. I'm excited to try it as an alternative to sshfs or an sftp server.

I am already using fuse-t as I am on macOS. When trying to install plex-fuse with pipx I get the following compilation errors:

Fatal error from pip prevented installation. Full pip output in file:
    /Users/neofright/.local/pipx/logs/cmd_2024-04-24_13.48.19_pip_errors.log

pip failed to build package:
    fuse-python

Some possibly relevant errors from pip install:
    error: subprocess-exited-with-error
    fuseparts/_fusemodule.c:1394:2: error: incompatible function pointer types assigning to 'int (*)(const char *, const char *, char *, size_t, uint32_t)' (aka 'int (*)(const char *, const char *, char *, unsigned long, unsigned int)') from 'int (const char *, const char *, char *, size_t)' (aka 'int (const char *, const char *, char *, unsigned long)') [-Wincompatible-function-pointer-types]
    fuseparts/_fusemodule.c:1396:2: error: incompatible function pointer types assigning to 'int (*)(const char *, const char *, const char *, size_t, int, uint32_t)' (aka 'int (*)(const char *, const char *, const char *, unsigned long, int, unsigned int)') from 'int (const char *, const char *, const char *, size_t, int)' (aka 'int (const char *, const char *, const char *, unsigned long, int)') [-Wincompatible-function-pointer-types]
    error: command '/usr/bin/clang' failed with exit code 1

Error installing plex-fuse.

Do you have any experience or pointers for overcoming this issue?

glensc commented 4 months ago

I am developing this on macOS, and it just works. both x86_64 and arm64.

However, I'm not sure what fuse implementation it used. might be that it used osxfuse even I had fuse-t installed.

on x86_64 system I have:

➜ brew info osxfuse
Warning: Formula osxfuse was renamed to homebrew/cask/osxfuse.
==> osxfuse: 3.11.2
https://osxfuse.github.io/
Installed
/usr/local/Caskroom/osxfuse/3.11.2 (26 files, 6.9MB)
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/o/osxfuse.rb

if you're able to reproduce building wheel on github actions, libfuse maintainer maybe accepts adding it to pypi:

glensc commented 4 months ago

and in any case, if you want to fix compilation errors, then it's this project:

neofright commented 4 months ago

No problem, thanks. I appreciate the reply. If I do manage to get python-fuse to work for me I'll reply here.

glensc commented 2 months ago

I relealized i could just share wheel built on my system, and I already did that for linux:

❯ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig pip wheel fuse-python==1.0.8
Collecting fuse-python==1.0.8
  Using cached fuse_python-1.0.8.tar.gz (34 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: fuse-python
  Building wheel for fuse-python (pyproject.toml) ... done
  Created wheel for fuse-python: filename=fuse_python-1.0.8-cp311-cp311-macosx_10_15_x86_64.whl size=39337 sha256=646c40d327e9fd08e6399cd3cca8f5a13b923a45d34cdfbe4b46297c20122400
  Stored in directory: /Users/glen/Library/Caches/pip/wheels/c8/97/fc/04660d7d06df7e8a7dc5f4ae544554c61dd4cb275b166c44f9
Successfully built fuse-python