libfuse problems (does it need a specific version from libfuse?)
Created by: vpereira
by make all
the fuse crate complains about some missing functions from libfuse. I suspect that I have to have a specific version from libfuse? However searching on the master branch from libfuse I couldn't find those "missing functions" either.
I'm using Linux openSUSE, here are the packages that I have installed (related with libfuse):
vpereira@kimura:/dev/redox> lsmod | grep fuse
fuse 106496 3
vpereira@kimura:/dev/redox> zypper info fuse-devel
Loading repository data...
Reading installed packages...
Information for package fuse-devel:
Repository: openSUSE-42.1-0 Name: fuse-devel Version: 2.9.3-8.2 Arch: x86_64 Vendor: openSUSE Installed: Yes Status: up-to-date Installed Size: 280.7 KiB Summary: Development package for FUSE (userspace filesystem) modules Description: This package contains all include files, libraries and configuration files needed to develop programs that use the fuse (FUSE) library to implement kernel-default (Linux) file systems in user space. With fuse-devel, administrators can compile and install other user space file systems which can be found at http://fuse.sourceforge.net/wiki vpereira@kimura:~/dev/redox> zypper info fuse Loading repository data... Reading installed packages...
Information for package fuse:
Repository: openSUSE-42.1-0 Name: fuse Version: 2.9.3-8.2 Arch: x86_64 Vendor: openSUSE Installed: Yes Status: up-to-date Installed Size: 242.4 KiB Summary: User space File System Description: With FUSE, a user space program can export a file system through the kernel-default (Linux kernel). User space file systems which are implemented using FUSE are provided by the following packages:
- curlftpfs (mount FTP servers),
- encfs (layered file encryption),
- fuseiso (mount iso, img, bin, mdf and nrg CD-ROM images),
- fusepod (mount iPods),
- fusesmb (mount a fully browseable network neighborhood),
- gphotofs (mount gphoto-supported cameras),
- ntfs-3g (mount NTFS volumes read-write),
- obexfs (mount of bluetooth devices),
- sshfs (mount over ssh),
- wdfs (mount of WebDAV shares) This package contains the mount binaries for fuse (might not be needed by some FUSE filesystems like ntfs-3g) and the documentation for FUSE. After installing fuse-devel, administrators can compile and install other user space file systems which can be found at http://fuse.sourceforge.net/wiki
Backtrace from make all
echo exit | cargo run --manifest-path crates/redoxfs/Cargo.toml --bin redoxfs-utility build/i386-unknown-redox/debug/filesystem.bin
Finished debug [unoptimized + debuginfo] target(s) in 0.0 secs
Running crates/redoxfs/target/debug/redoxfs-utility build/i386-unknown-redox/debug/filesystem.bin
redoxfs: created filesystem build/i386-unknown-redox/debug/filesystem.bin
redoxfs# mkdir -p build/i386-unknown-redox/debug/filesystem/
cargo run --manifest-path crates/redoxfs/Cargo.toml --bin redoxfs-fuse build/i386-unknown-redox/debug/filesystem.bin build/i386-unknown-redox/debug/filesystem/ &
sleep 2
Compiling redoxfs v0.1.0 (file:///home/vpereira/dev/redox/crates/redoxfs)
error: linking with cc
failed: exit code: 1
|
= note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/home/vpereira/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/vpereira/dev/redox/crates/redoxfs/target/debug/redoxfs_fuse.0.o" "-o" "/home/vpereira/dev/redox/crates/redoxfs/target/debug/redoxfs_fuse" "-Wl,--gc-sections" "-pie" "-nodefaultlibs" "-L" "/home/vpereira/dev/redox/crates/redoxfs/target/debug/deps" "-L" "/usr/lib64" "-L" "/home/vpereira/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "-Wl,-Bdynamic" "/home/vpereira/dev/redox/crates/redoxfs/target/debug/deps/libredoxfs.rlib" "/home/vpereira/dev/redox/crates/redoxfs/target/debug/deps/libfuse-d47811d01e926407.rlib" "/home/vpereira/dev/redox/crates/redoxfs/target/debug/deps/libtime-750bfdd52feafcb7.rlib" "/home/vpereira/dev/redox/crates/redoxfs/target/debug/deps/liblog-bf16bb9a4912b11d.rlib" "/home/vpereira/dev/redox/crates/redoxfs/target/debug/deps/liblibc-1417726cb94dbc83.rlib" "/home/vpereira/dev/redox/crates/redoxfs/target/debug/deps/liblibc-0c57a2126eb1e7e8.rlib" "/home/vpereira/dev/redox/crates/redoxfs/target/debug/deps/libsystem.rlib" "/home/vpereira/dev/redox/crates/redoxfs/target/debug/deps/libthread_scoped-6ad7d7414456fed5.rlib" "/home/vpereira/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-411f48d3.rlib" "/home/vpereira/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-411f48d3.rlib" "/home/vpereira/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-411f48d3.rlib" "/home/vpereira/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librand-411f48d3.rlib" "/home/vpereira/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcollections-411f48d3.rlib" "/home/vpereira/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_unicode-411f48d3.rlib" "/home/vpereira/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-411f48d3.rlib" "/home/vpereira/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc_jemalloc-411f48d3.rlib" "/home/vpereira/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-411f48d3.rlib" "/home/vpereira/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-411f48d3.rlib" "-l" "fuse3" "-l" "util" "-l" "c" "-l" "m" "-l" "dl" "-l" "pthread" "-l" "gcc_s" "-l" "pthread" "-l" "c" "-l" "m" "-l" "rt" "-l" "util" "-l" "compiler-rt"
= note: /home/vpereira/dev/redox/crates/redoxfs/target/debug/deps/libfuse-d47811d01e926407.rlib(fuse-d47811d01e926407.0.o): In function fuse::channel::unmount::libc_umount': /home/vpereira/.cargo/registry/src/github.com-1ecc6299db9ec823/fuse-0.2.8/src/channel.rs:186: undefined reference to
fuse_unmount_compat22'
/home/vpereira/dev/redox/crates/redoxfs/target/debug/deps/libfuse-d47811d01e926407.rlib(fuse-d47811d01e926407.0.o): In function fuse::channel::{{impl}}::new::{{closure}}::{{closure}}': /home/vpereira/.cargo/registry/src/github.com-1ecc6299db9ec823/fuse-0.2.8/src/channel.rs:85: undefined reference to
fuse_mount_compat25'
collect2: error: ld returned 1 exit status
error: aborting due to previous error
error: Could not compile redoxfs
.
To learn more, run the command again with --verbose.
cp -RL filesystem/* build/i386-unknown-redox/debug/filesystem/
sync
fusermount -u build/i386-unknown-redox/debug/filesystem/
fusermount: entry for /home/vpereira/dev/redox/build/i386-unknown-redox/debug/filesystem not found in /etc/mtab
Makefile:671: recipe for target 'build/i386-unknown-redox/debug/filesystem.bin' failed
make: [build/i386-unknown-redox/debug/filesystem.bin] Error 1 (ignored)
rm -rf build/i386-unknown-redox/debug/filesystem/
nasm -f bin -o build/i386-unknown-redox/debug/harddrive.bin -l build/i386-unknown-redox/debug/harddrive.list -D ARCH_i386 -D TIME="date "+%F %T"
" -ibuild/i386-unknown-redox/debug/ -ikernel/ -ifilesystem/ kernel/harddrive.asm