matil019 / haskell-libfuse3 Goto Github PK
View Code? Open in Web Editor NEWA Haskell binding for libfuse-3.x
Home Page: https://hackage.haskell.org/package/libfuse3
License: MIT License
A Haskell binding for libfuse-3.x
Home Page: https://hackage.haskell.org/package/libfuse3
License: MIT License
Hello! Thanks for writing this package binding.
I have an issue using this package with stack (both from including the package name into package.yaml
and/or direct git repository reference into stack.yaml) and I'm failing to build my project.
I could build the library in isolation and as a dependency with cabal just fine though.
OS: OpenSUSE 15.3 Leap
Stack version: Version 2.7.5, Git revision ba147e6f59b2da75b1beb98b1888cce97f7032b1 x86_64 hpack-0.34.4
C's libfuse3 was installed from the official package manager fuse3-devel
(version: 3.6.1-3.3.8)
Build log of (stack build):
Trying to generate configure with autoreconf in /tmp/stack-d952671704453c33/libfuse3-0.1.2.0/
libfuse3> configure
libfuse3> [1 of 2] Compiling Main ( /tmp/stack-d952671704453c33/libfuse3-0.1.2.0/Setup.hs, /tmp/stack-d952671704453c33/libfuse3-0.1.2.0/.stack-work/dist/x86_64-linux-tinfo6/Cabal-3.4.1.0/setup/Main.o )
libfuse3> [2 of 2] Compiling StackSetupShim ( /home/modotte/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /tmp/stack-d952671704453c33/libfuse3-0.1.2.0/.stack-work/dist/x86_64-linux-tinfo6/Cabal-3.4.1.0/setup/StackSetupShim.o )
libfuse3> Linking /tmp/stack-d952671704453c33/libfuse3-0.1.2.0/.stack-work/dist/x86_64-linux-tinfo6/Cabal-3.4.1.0/setup/setup ...
libfuse3> Configuring libfuse3-0.1.2.0...
libfuse3> build
libfuse3> Preprocessing library for libfuse3-0.1.2.0..
libfuse3> compiling .stack-work/dist/x86_64-linux-tinfo6/Cabal-3.4.1.0/build/System/LibFuse3/Internal_hsc_make.c failed (exit code 1)
libfuse3> rsp file was: ".stack-work/dist/x86_64-linux-tinfo6/Cabal-3.4.1.0/build/System/LibFuse3/hsc2hscall22993-0.rsp"
libfuse3> command was: /usr/bin/gcc -c .stack-work/dist/x86_64-linux-tinfo6/Cabal-3.4.1.0/build/System/LibFuse3/Internal_hsc_make.c -o .stack-work/dist/x86_64-linux-tinfo6/Cabal-3.4.1.0/build/System/LibFuse3/Internal_hsc_make.o -fuse-ld=gold -D__GLASGOW_HASKELL__=900 -Dlinux_BUILD_OS=1 -Dx86_64_BUILD_ARCH=1 -Dlinux_HOST_OS=1 -Dx86_64_HOST_ARCH=1 -Iinclude -I/usr/include/fuse3 -I.stack-work/dist/x86_64-linux-tinfo6/Cabal-3.4.1.0/build/include -I/usr/include/fuse3 -I.stack-work/dist/x86_64-linux-tinfo6/Cabal-3.4.1.0/build/autogen -I.stack-work/dist/x86_64-linux-tinfo6/Cabal-3.4.1.0/build/global-autogen -include .stack-work/dist/x86_64-linux-tinfo6/Cabal-3.4.1.0/build/autogen/cabal_macros.h -I/home/modotte/.stack/programs/x86_64-linux/ghc-tinfo6-9.0.2/lib64/ghc-9.0.2/unix-2.7.2.2/include -I/home/modotte/.stack/programs/x86_64-linux/ghc-tinfo6-9.0.2/lib64/ghc-9.0.2/time-1.9.3/include -I/home/modotte/.stack/snapshots/x86_64-linux-tinfo6/f9ac3f602e4f7d9c0347503494e57a84725c58d20ba3eac85bd77d188e49f3a3/9.0.2/lib/x86_64-linux-ghc-9.0.2/primitive-0.7.3.0-EikPDi9CXNiB9f5MDJybeY/include -I/home/modotte/.stack/programs/x86_64-linux/ghc-tinfo6-9.0.2/lib64/ghc-9.0.2/bytestring-0.10.12.1/include -I/home/modotte/.stack/programs/x86_64-linux/ghc-tinfo6-9.0.2/lib64/ghc-9.0.2/base-4.15.1.0/include -I/home/modotte/.stack/programs/x86_64-linux/ghc-tinfo6-9.0.2/lib64/ghc-9.0.2/ghc-bignum-1.1/include -I/home/modotte/.stack/programs/x86_64-linux/ghc-tinfo6-9.0.2/lib64/ghc-9.0.2/include -I/home/modotte/.stack/programs/x86_64-linux/ghc-tinfo6-9.0.2/lib64/ghc-9.0.2/include/
libfuse3> error: In file included from /usr/include/fuse3/fuse.h:19:0,
libfuse3> from Internal.hsc:66:
libfuse3> /usr/include/fuse3/fuse_common.h:791:4: error: #error only API version 30 or greater is supported
libfuse3> # error only API version 30 or greater is supported
libfuse3> ^~~~~
libfuse3> /tmp/stack-d952671704453c33/libfuse3-0.1.2.0/In file included from Internal.hsc:67:0:
libfuse3> /usr/include/fuse3/fuse_lowlevel.h:22:2: error: #error FUSE_USE_VERSION not defined
libfuse3> #error FUSE_USE_VERSION not defined
libfuse3> ^~~~~
libfuse3>
Progress 1/2
-- While building package libfuse3-0.1.2.0 (scroll up to its section to see the error) using:
/tmp/stack-d952671704453c33/libfuse3-0.1.2.0/.stack-work/dist/x86_64-linux-tinfo6/Cabal-3.4.1.0/setup/setup --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-3.4.1.0 build --ghc-options " -fdiagnostics-color=always"
Process exited with code: ExitFailure 1
Thanks.
This package is marked broken in nixpkgs
. I have tried to troubleshoot the problem, but I am not sure what to do. It looks like the package is not properly integrated with nix. There is an extra step required during build (as explained in README), that is autoreconf -fiv
. Not sure, but maybe this required step is not performed during automatic nix build process.
Pinging @peti for an idea, what to do in this case.
So, this works:
cd haskell-libfuse3
cabal2nix . --shell > shell.nix
nix-shell
autoreconf -fiv
cabal build
But this does not work:
cd haskell-libfuse3
cabal2nix . --shell > shell.nix
nix-build shell.nix
It fails with the following error:
error: In file included from /nix/store/swa9qg5awjlnsk75011dfkq76lk895ql-fuse-3.10.0/include/fuse3/fuse.h:19,
from Internal.hsc:66:
/nix/store/swa9qg5awjlnsk75011dfkq76lk895ql-fuse-3.10.0/include/fuse3/fuse_common.h:838:4: error: #error only API version 30 or greater is supported
838 | # error only API version 30 or greater is supported
| ^~~~~
In file included from Internal.hsc:67:
/nix/store/swa9qg5awjlnsk75011dfkq76lk895ql-fuse-3.10.0/include/fuse3/fuse_lowlevel.h:22:2: error: #error FUSE_USE_VERSION not defined
22 | #error FUSE_USE_VERSION not defined
| ^~~~~
builder for '/nix/store/1abk98nxacd3l17pk2f462fz8d3zcqsk-libfuse3-0.1.2.0.drv' failed with exit code 1
error: build of '/nix/store/1abk98nxacd3l17pk2f462fz8d3zcqsk-libfuse3-0.1.2.0.drv' failed
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.