multimediamike / xbfuse

Mount Xbox and Xbox 360 disk images via FUSE
http://multimedia.cx/xbfuse/
GNU General Public License v2.0
72 stars 11 forks source link

configure: error: Unable to find fuse.h #1

Closed patatetom closed 6 years ago

patatetom commented 6 years ago

hi,

I am not familiar with compiling and have problems when trying to compile xbfuse : could you take a look at the following and point me in the right direction ?

xbfuse-master $ ./autogen.sh 
configure.ac:15: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2503: _AC_PREPROC_IFELSE is expanded from...
../../lib/autoconf/general.m4:2518: AC_PREPROC_IFELSE is expanded from...
configure.ac:15: the top level
configure.ac:15: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2503: _AC_PREPROC_IFELSE is expanded from...
../../lib/autoconf/general.m4:2518: AC_PREPROC_IFELSE is expanded from...
configure.ac:15: the top level
configure.ac:15: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2503: _AC_PREPROC_IFELSE is expanded from...
../../lib/autoconf/general.m4:2518: AC_PREPROC_IFELSE is expanded from...
configure.ac:15: the top level
configure.ac:15: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2503: _AC_PREPROC_IFELSE is expanded from...
../../lib/autoconf/general.m4:2518: AC_PREPROC_IFELSE is expanded from...
configure.ac:15: the top level
configure.ac:2: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated.  For more info, see:
configure.ac:2: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation
xbfuse-master $ ./configure 
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for fuse_main in -lfuse... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fuse/fuse.h usability... no
checking fuse/fuse.h presence... no
checking for fuse/fuse.h... no
configure: error: Unable to find fuse.h
xbfuse-master $ cat config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by xbfuse configure 1.0, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ ./configure 

## --------- ##
## Platform. ##
## --------- ##

hostname = archlive
uname -m = x86_64
uname -r = 4.14.17-1-lts
uname -s = Linux
uname -v = #1 SMP Sat Feb 3 21:30:38 CET 2018

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /home/pascal/.local/bin
PATH: /bin
PATH: /usr/bin
PATH: /usr/local/bin
PATH: /usr/local/sbin
PATH: /usr/bin/site_perl
PATH: /usr/bin/vendor_perl
PATH: /usr/bin/core_perl

## ----------- ##
## Core tests. ##
## ----------- ##

configure:2120: checking for a BSD-compatible install
configure:2188: result: /bin/install -c
configure:2199: checking whether build environment is sane
configure:2254: result: yes
configure:2405: checking for a thread-safe mkdir -p
configure:2444: result: /bin/mkdir -p
configure:2451: checking for gawk
configure:2467: found /bin/gawk
configure:2478: result: gawk
configure:2489: checking whether make sets $(MAKE)
configure:2511: result: yes
configure:2540: checking whether make supports nested variables
configure:2557: result: yes
configure:2735: checking for gcc
configure:2751: found /bin/gcc
configure:2762: result: gcc
configure:2991: checking for C compiler version
configure:3000: gcc --version >&5
gcc (GCC) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:3011: $? = 0
configure:3000: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --enable-libmpx --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp
Thread model: posix
gcc version 7.3.0 (GCC) 
configure:3011: $? = 0
configure:3000: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3011: $? = 1
configure:3000: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'; did you mean '--version'?
gcc: fatal error: no input files
compilation terminated.
configure:3011: $? = 1
configure:3031: checking whether the C compiler works
configure:3053: gcc    conftest.c  >&5
configure:3057: $? = 0
configure:3105: result: yes
configure:3108: checking for C compiler default output file name
configure:3110: result: a.out
configure:3116: checking for suffix of executables
configure:3123: gcc -o conftest    conftest.c  >&5
configure:3127: $? = 0
configure:3149: result: 
configure:3171: checking whether we are cross compiling
configure:3179: gcc -o conftest    conftest.c  >&5
configure:3183: $? = 0
configure:3190: ./conftest
configure:3194: $? = 0
configure:3209: result: no
configure:3214: checking for suffix of object files
configure:3236: gcc -c   conftest.c >&5
configure:3240: $? = 0
configure:3261: result: o
configure:3265: checking whether we are using the GNU C compiler
configure:3284: gcc -c   conftest.c >&5
configure:3284: $? = 0
configure:3293: result: yes
configure:3302: checking whether gcc accepts -g
configure:3322: gcc -c -g  conftest.c >&5
configure:3322: $? = 0
configure:3363: result: yes
configure:3380: checking for gcc option to accept ISO C89
configure:3443: gcc  -c -g -O2  conftest.c >&5
configure:3443: $? = 0
configure:3456: result: none needed
configure:3481: checking whether gcc understands -c and -o together
configure:3503: gcc -c conftest.c -o conftest2.o
configure:3506: $? = 0
configure:3503: gcc -c conftest.c -o conftest2.o
configure:3506: $? = 0
configure:3518: result: yes
configure:3546: checking for style of include used by make
configure:3574: result: GNU
configure:3600: checking dependency style of gcc
configure:3711: result: gcc3
configure:3732: checking for fuse_main in -lfuse
configure:3757: gcc -o conftest -g -O2  -Wall    conftest.c -lfuse   >&5
configure:3757: $? = 0
configure:3766: result: yes
configure:3785: checking how to run the C preprocessor
configure:3816: gcc -E  -Wall  conftest.c
configure:3816: $? = 0
configure:3830: gcc -E  -Wall  conftest.c
conftest.c:12:10: fatal error: ac_nonexistent.h: No such file or directory
 #include <ac_nonexistent.h>
          ^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:3830: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "xbfuse"
| #define PACKAGE_TARNAME "xbfuse"
| #define PACKAGE_VERSION "1.0"
| #define PACKAGE_STRING "xbfuse 1.0"
| #define PACKAGE_BUGREPORT "mike@multimedia.cx"
| #define PACKAGE_URL ""
| #define PACKAGE "xbfuse"
| #define VERSION "1.0"
| #define HAVE_LIBFUSE 1
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3855: result: gcc -E
configure:3875: gcc -E  -Wall  conftest.c
configure:3875: $? = 0
configure:3889: gcc -E  -Wall  conftest.c
conftest.c:12:10: fatal error: ac_nonexistent.h: No such file or directory
 #include <ac_nonexistent.h>
          ^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:3889: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "xbfuse"
| #define PACKAGE_TARNAME "xbfuse"
| #define PACKAGE_VERSION "1.0"
| #define PACKAGE_STRING "xbfuse 1.0"
| #define PACKAGE_BUGREPORT "mike@multimedia.cx"
| #define PACKAGE_URL ""
| #define PACKAGE "xbfuse"
| #define VERSION "1.0"
| #define HAVE_LIBFUSE 1
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3918: checking for grep that handles long lines and -e
configure:3976: result: /bin/grep
configure:3981: checking for egrep
configure:4043: result: /bin/grep -E
configure:4048: checking for ANSI C header files
configure:4068: gcc -c -g -O2  -Wall  conftest.c >&5
configure:4068: $? = 0
configure:4141: gcc -o conftest -g -O2  -Wall    conftest.c -lfuse  >&5
configure:4141: $? = 0
configure:4141: ./conftest
configure:4141: $? = 0
configure:4152: result: yes
configure:4165: checking for sys/types.h
configure:4165: gcc -c -g -O2  -Wall  conftest.c >&5
configure:4165: $? = 0
configure:4165: result: yes
configure:4165: checking for sys/stat.h
configure:4165: gcc -c -g -O2  -Wall  conftest.c >&5
configure:4165: $? = 0
configure:4165: result: yes
configure:4165: checking for stdlib.h
configure:4165: gcc -c -g -O2  -Wall  conftest.c >&5
configure:4165: $? = 0
configure:4165: result: yes
configure:4165: checking for string.h
configure:4165: gcc -c -g -O2  -Wall  conftest.c >&5
configure:4165: $? = 0
configure:4165: result: yes
configure:4165: checking for memory.h
configure:4165: gcc -c -g -O2  -Wall  conftest.c >&5
configure:4165: $? = 0
configure:4165: result: yes
configure:4165: checking for strings.h
configure:4165: gcc -c -g -O2  -Wall  conftest.c >&5
configure:4165: $? = 0
configure:4165: result: yes
configure:4165: checking for inttypes.h
configure:4165: gcc -c -g -O2  -Wall  conftest.c >&5
configure:4165: $? = 0
configure:4165: result: yes
configure:4165: checking for stdint.h
configure:4165: gcc -c -g -O2  -Wall  conftest.c >&5
configure:4165: $? = 0
configure:4165: result: yes
configure:4165: checking for unistd.h
configure:4165: gcc -c -g -O2  -Wall  conftest.c >&5
configure:4165: $? = 0
configure:4165: result: yes
configure:4177: checking fuse/fuse.h usability
configure:4177: gcc -c -g -O2  -Wall  conftest.c >&5
In file included from /usr/include/fuse/fuse.h:26:0,
                 from conftest.c:55:
/usr/include/fuse/fuse_common.h:33:2: error: #error Please add -D_FILE_OFFSET_BITS=64 to your compile flags!
 #error Please add -D_FILE_OFFSET_BITS=64 to your compile flags!
  ^~~~~
configure:4177: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "xbfuse"
| #define PACKAGE_TARNAME "xbfuse"
| #define PACKAGE_VERSION "1.0"
| #define PACKAGE_STRING "xbfuse 1.0"
| #define PACKAGE_BUGREPORT "mike@multimedia.cx"
| #define PACKAGE_URL ""
| #define PACKAGE "xbfuse"
| #define VERSION "1.0"
| #define HAVE_LIBFUSE 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| /* end confdefs.h.  */
| #include <stdio.h>
| #ifdef HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #ifdef HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #ifdef STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # ifdef HAVE_STDLIB_H
| #  include <stdlib.h>
| # endif
| #endif
| #ifdef HAVE_STRING_H
| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
| #  include <memory.h>
| # endif
| # include <string.h>
| #endif
| #ifdef HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #ifdef HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| #ifdef HAVE_STDINT_H
| # include <stdint.h>
| #endif
| #ifdef HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <fuse/fuse.h>
configure:4177: result: no
configure:4177: checking fuse/fuse.h presence
configure:4177: gcc -E  -Wall  conftest.c
In file included from /usr/include/fuse/fuse.h:26:0,
                 from conftest.c:22:
/usr/include/fuse/fuse_common.h:33:2: error: #error Please add -D_FILE_OFFSET_BITS=64 to your compile flags!
 #error Please add -D_FILE_OFFSET_BITS=64 to your compile flags!
  ^~~~~
configure:4177: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "xbfuse"
| #define PACKAGE_TARNAME "xbfuse"
| #define PACKAGE_VERSION "1.0"
| #define PACKAGE_STRING "xbfuse 1.0"
| #define PACKAGE_BUGREPORT "mike@multimedia.cx"
| #define PACKAGE_URL ""
| #define PACKAGE "xbfuse"
| #define VERSION "1.0"
| #define HAVE_LIBFUSE 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| /* end confdefs.h.  */
| #include <fuse/fuse.h>
configure:4177: result: no
configure:4177: checking for fuse/fuse.h
configure:4177: result: no
configure:4181: error: Unable to find fuse.h

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_c_compiler_gnu=yes
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_header_fuse_fuse_h=no
ac_cv_header_inttypes_h=yes
ac_cv_header_memory_h=yes
ac_cv_header_stdc=yes
ac_cv_header_stdint_h=yes
ac_cv_header_stdlib_h=yes
ac_cv_header_string_h=yes
ac_cv_header_strings_h=yes
ac_cv_header_sys_stat_h=yes
ac_cv_header_sys_types_h=yes
ac_cv_header_unistd_h=yes
ac_cv_lib_fuse_fuse_main=yes
ac_cv_objext=o
ac_cv_path_EGREP='/bin/grep -E'
ac_cv_path_GREP=/bin/grep
ac_cv_path_install='/bin/install -c'
ac_cv_path_mkdir=/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_CPP='gcc -E'
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_cc_c89=
ac_cv_prog_cc_g=yes
ac_cv_prog_make_make_set=yes
am_cv_CC_dependencies_compiler_type=gcc3
am_cv_make_support_nested_variables=yes
am_cv_prog_cc_c_o=yes

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} /tmp/xbfuse-master/missing aclocal-1.15'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AM_BACKSLASH='\'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='1'
AM_V='$(V)'
AUTOCONF='${SHELL} /tmp/xbfuse-master/missing autoconf'
AUTOHEADER='${SHELL} /tmp/xbfuse-master/missing autoheader'
AUTOMAKE='${SHELL} /tmp/xbfuse-master/missing automake-1.15'
AWK='gawk'
CC='gcc'
CCDEPMODE='depmode=gcc3'
CFLAGS='-g -O2'
CPP='gcc -E'
CPPFLAGS=' -Wall '
CYGPATH_W='echo'
DEFS=''
DEPDIR='.deps'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='/bin/grep -E'
EXEEXT=''
GREP='/bin/grep'
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LDFLAGS=' '
LIBOBJS=''
LIBS='-lfuse '
LTLIBOBJS=''
MAKEINFO='${SHELL} /tmp/xbfuse-master/missing makeinfo'
MKDIR_P='/bin/mkdir -p'
OBJEXT='o'
PACKAGE='xbfuse'
PACKAGE_BUGREPORT='mike@multimedia.cx'
PACKAGE_NAME='xbfuse'
PACKAGE_STRING='xbfuse 1.0'
PACKAGE_TARNAME='xbfuse'
PACKAGE_URL=''
PACKAGE_VERSION='1.0'
PATH_SEPARATOR=':'
SET_MAKE=''
SHELL='/bin/sh'
STRIP=''
VERSION='1.0'
ac_ct_CC='gcc'
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE=''
am__fastdepCC_FALSE='#'
am__fastdepCC_TRUE=''
am__include='include'
am__isrc=''
am__leading_dot='.'
am__nodep='_no'
am__quote=''
am__tar='$${TAR-tar} chof - "$$tardir"'
am__untar='$${TAR-tar} xf -'
bindir='${exec_prefix}/bin'
build_alias=''
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='NONE'
host_alias=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /tmp/xbfuse-master/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='NONE'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME "xbfuse"
#define PACKAGE_TARNAME "xbfuse"
#define PACKAGE_VERSION "1.0"
#define PACKAGE_STRING "xbfuse 1.0"
#define PACKAGE_BUGREPORT "mike@multimedia.cx"
#define PACKAGE_URL ""
#define PACKAGE "xbfuse"
#define VERSION "1.0"
#define HAVE_LIBFUSE 1
#define STDC_HEADERS 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRINGS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_UNISTD_H 1

configure: exit 1

the fuse headers seem to be well installed :

xbfuse-master $ pacman -Ql fuse{2,3} | grep fuse.h
fuse2 /usr/include/fuse.h
fuse2 /usr/include/fuse/fuse.h
fuse3 /usr/include/fuse3/fuse.h

config.log says to add -D_FILE_OFFSET_BITS=64 to my compile flags ; how to do it ?

multimediamike commented 6 years ago

I'm happy to learn someone is still interested in this program I wrote more than a decade ago. Some bitrot may have settled it, as you have observed. If you need this utility, I might be able to bring it up to modern standards.

patatetom commented 6 years ago

thanks for the offer, I'll take it, that's very kind of you.

multimediamike commented 6 years ago

I found that it still works to compile it manually:

cd src gcc -D_FILE_OFFSET_BITS=64 -Wall main.c tree.c xdvdfs.c -o xbfuse -lfuse ./xbfuse

This assumes that you have the FUSE dev files installed (and it looks like you do).

I will update the documentation with this workaround.

multimediamike commented 6 years ago

Updated documentation (also in the related gcfuse project for GameCube filesystems).

patatetom commented 6 years ago

thank you Mike, I'll try at once. I also found this last night : https://github.com/aur-archive/xbfuse-git

patatetom commented 6 years ago

the compilation works fine but the disk access doesn't seem to work.

the command ./xbfuse /dev/sdc ./test/ takes a few minutes to render the hand (presumably the time of the census for 250Gb) and the content is really strange :

ls -lgGh ./test/
total 0
-r--r--r-- 1 2,8G  9 févr. 08:59 ''$'\236''8'$'\270\364\242\241\003\241\363''8'$'\t\304''Ie'

yet no error is returned...

xbfuse waits for an archive file :

./xbfuse 
Usage: ./xbfuse <archive_file> <mount_point> [<options>] [<FUSE library options>]
Available options:
    -q - quiet mode (print only error messages)

what do you mean by archive_file ?

multimediamike commented 6 years ago

It sounds like you are putting an Xbox(360) disc directly in your Linux computer and trying to run xbfuse to interpret the filesystem. This will not work. Xbox(360) discs have 2 regions: locked and unlocked. The unlocked region has a brief movie instructing you to put the disc in a proper console. The locked region has the game's data.

Your drive's firmware can read the unlocked region but does not know how to read the locked region. Thus, it becomes necessary to use other methods and utilities to read the locked region's sectors into an archive file. This utility interprets that archive file.

Ripping Xbox(360) discs is beyond the scope of this utility. I will update the documentation to clarify this scope.

patatetom commented 6 years ago

indeed, I'm trying to access the content of a hard disk, and not a DVD disk : sorry for the time I wasted. it'll at least have allowed you to refresh your repo ;-)

since you've been working on xbox data access, do you have any leads to give me for what I'm trying to do ?

multimediamike commented 6 years ago

Indeed! I am happy to get a push to get this repo modernized.

I'm afraid I have no data on accessing an Xbox's HD. I have only looked into the optical discs.

TheMuso commented 5 years ago

Firstly, I have some changes locally to modernize xbfuse such that configure/make/make install will work again. By the time you read this, I will likely have filed a pull request.

Secondly, for Xbox hard drive access, you can use https://github.com/mborgerson/fatx.git which is a read-only FATX fuse implementation. If you need to access a modded Xbox's extended partitions, you want to use a fork, which is https://github.com/ldotsfan/fatx.git.

Hope this helps.

patatetom commented 5 years ago

@TheMuso : thanks for the links, there's also https://github.com/patatetom/xtaf.

TheMuso commented 5 years ago

There are differences between fatx for the 360 and the original xbox, endianness being just one of them.

patatetom commented 5 years ago

@TheMuso : thanks for the info.