Skip to content

NetBSD: use librefuse#42

Draft
ThomasWaldmann wants to merge 7 commits into
mxmlnkn:masterfrom
ThomasWaldmann:netbsd-librefuse
Draft

NetBSD: use librefuse#42
ThomasWaldmann wants to merge 7 commits into
mxmlnkn:masterfrom
ThomasWaldmann:netbsd-librefuse

Conversation

@ThomasWaldmann
Copy link
Copy Markdown

No description provided.

@ThomasWaldmann
Copy link
Copy Markdown
Author

Guess there is a better(?) and easier(?) way on NetBSD:

  • do not use fuse and perfuse(d)
  • directly use librefuse library instead of libfuse, which implements fuse 3.10

@ThomasWaldmann
Copy link
Copy Markdown
Author

Yay, segfaults! \o/

@gdt
Copy link
Copy Markdown

gdt commented Jun 3, 2026

What's the status of this PR? I am trying to package mfusepy for pkgsrc and running into "can't find libfuse".

It would great if you could do a clean rebase relative to the latest.

@gdt
Copy link
Copy Markdown

gdt commented Jun 3, 2026

I've packaged 3.1.1 with the non-CI parts of this PR in pkgsrc-wip:py-mfusepy. find_library isn't finding librefuse, even though when I start up python it does, so I have a print/force-set/print addition to the code.

We can avoid the perfuse daemon that way.
@ThomasWaldmann
Copy link
Copy Markdown
Author

ThomasWaldmann commented Jun 3, 2026

@gdt The status is that I more or less gave up trying to get it working back then, after quite some hours.

I am not a NetBSD user, so maybe I am doing something wrong. Or that stuff just does not work.

I rebased it onto current master. The CI changes in here are just to put less load onto github, not running a lot of pointless jobs while trying to get NetBSD working.

@ThomasWaldmann
Copy link
Copy Markdown
Author

+ sudo -E python3 -m pytest -s -v -rs -k 'not struct_layout' tests
============================= test session starts ==============================
platform netbsd10 -- Python 3.11.15, pytest-9.0.3, pluggy-1.6.0 -- /usr/pkg/bin/python3
cachedir: .pytest_cache
rootdir: /home/runner/work/mfusepy/mfusepy/tests
configfile: pytest.ini
plugins: order-1.4.0
collecting ... collected 6 items / 1 deselected / 5 selected

tests/test_enoattr.py::test_enoattr_is_not_none PASSED
tests/test_examples.py::test_read_write_file_system[cli] FAILED
tests/test_examples.py::test_use_inode[cli] Fatal Python error: Segmentation fault

Current thread 0x00007c071435bc00 (most recent call first):
  File "/home/runner/work/mfusepy/mfusepy/mfusepy.py", line 1255 in time_of_timespec
  File "/home/runner/work/mfusepy/mfusepy/mfusepy.py", line 1926 in utimens_fuse_2
  File "/home/runner/work/mfusepy/mfusepy/mfusepy.py", line 1935 in utimens_fuse_3
  File "/home/runner/work/mfusepy/mfusepy/mfusepy.py", line 1491 in _wrapper
  File "/home/runner/work/mfusepy/mfusepy/mfusepy.py", line 1450 in __init__
  File "/home/runner/work/mfusepy/mfusepy/examples/memory_nullpath.py", line 270 in cli
  File "/usr/pkg/lib/python3.11/threading.py", line 982 in run
  File "/usr/pkg/lib/python3.11/threading.py", line 1045 in _bootstrap_inner
  File "/usr/pkg/lib/python3.11/threading.py", line 1002 in _bootstrap

Thread 0x00007c0715c3f800 (most recent call first):
  File "/home/runner/work/mfusepy/mfusepy/mfusepy.py", line 1450 in __init__
  File "/home/runner/work/mfusepy/mfusepy/examples/loopback.py", line 198 in cli
  File "/usr/pkg/lib/python3.11/threading.py", line 982 in run
  File "/usr/pkg/lib/python3.11/threading.py", line 1045 in _bootstrap_inner
  File "/usr/pkg/lib/python3.11/threading.py", line 1002 in _bootstrap

Thread 0x00007c0717c53800 (most recent call first):
  File "/usr/pkg/lib/python3.11/pathlib.py", line 1044 in open
  File "/usr/pkg/lib/python3.11/pathlib.py", line 1067 in write_bytes
  File "/home/runner/work/mfusepy/mfusepy/tests/test_examples.py", line 361 in test_use_inode
  File "/home/runner/.local/lib/python3.11/site-packages/_pytest/python.py", line 166 in pytest_pyfunc_call
  File "/home/runner/.local/lib/python3.11/site-packages/pluggy/_callers.py", line 121 in _multicall
  File "/home/runner/.local/lib/python3.11/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/home/runner/.local/lib/python3.11/site-packages/pluggy/_hooks.py", line 512 in __call__
  File "/home/runner/.local/lib/python3.11/site-packages/_pytest/python.py", line 1720 in runtest
  File "/home/runner/.local/lib/python3.11/site-packages/_pytest/runner.py", line 179 in pytest_runtest_call
  File "/home/runner/.local/lib/python3.11/site-packages/pluggy/_callers.py", line 121 in _multicall
  File "/home/runner/.local/lib/python3.11/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/home/runner/.local/lib/python3.11/site-packages/pluggy/_hooks.py", line 512 in __call__
  File "/home/runner/.local/lib/python3.11/site-packages/_pytest/runner.py", line 245 in <lambda>
  File "/home/runner/.local/lib/python3.11/site-packages/_pytest/runner.py", line 353 in from_call
  File "/home/runner/.local/lib/python3.11/site-packages/_pytest/runner.py", line 244 in call_and_report
  File "/home/runner/.local/lib/python3.11/site-packages/_pytest/runner.py", line 137 in runtestprotocol
  File "/home/runner/.local/lib/python3.11/site-packages/_pytest/runner.py", line 118 in pytest_runtest_protocol
  File "/home/runner/.local/lib/python3.11/site-packages/pluggy/_callers.py", line 121 in _multicall
  File "/home/runner/.local/lib/python3.11/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/home/runner/.local/lib/python3.11/site-packages/pluggy/_hooks.py", line 512 in __call__
  File "/home/runner/.local/lib/python3.11/site-packages/_pytest/main.py", line 396 in pytest_runtestloop
  File "/home/runner/.local/lib/python3.11/site-packages/pluggy/_callers.py", line 121 in _multicall
  File "/home/runner/.local/lib/python3.11/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/home/runner/.local/lib/python3.11/site-packages/pluggy/_hooks.py", line 512 in __call__
  File "/home/runner/.local/lib/python3.11/site-packages/_pytest/main.py", line 372 in _main
  File "/home/runner/.local/lib/python3.11/site-packages/_pytest/main.py", line 318 in wrap_session
  File "/home/runner/.local/lib/python3.11/site-packages/_pytest/main.py", line 365 in pytest_cmdline_main
  File "/home/runner/.local/lib/python3.11/site-packages/pluggy/_callers.py", line 121 in _multicall
  File "/home/runner/.local/lib/python3.11/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/home/runner/.local/lib/python3.11/site-packages/pluggy/_hooks.py", line 512 in __call__
  File "/home/runner/.local/lib/python3.11/site-packages/_pytest/config/__init__.py", line 199 in main
  File "/home/runner/.local/lib/python3.11/site-packages/_pytest/config/__init__.py", line 223 in console_main
  File "/home/runner/.local/lib/python3.11/site-packages/pytest/__main__.py", line 9 in <module>
  File "<frozen runpy>", line 88 in _run_code
  File "<frozen runpy>", line 198 in _run_module_as_main
bash: line 2:  4769 Segmentation fault         sudo -E python3 -m pytest -s -v -rs -k "not struct_layout" tests
+ rc=139
+ exit 139

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants