Closed priyadarshan closed 6 years ago
Thanks, looks like some include flags at this stage were inadvertently lost in a refactoring a bit ago. I just pushed a fix, if you pull the most recent branch this should build again.
Thank you so much for considering this.
I have pulled latest commit, and now I get this:
# gmake config
echo CC=cc > config.mak
echo CONFIG_CFLAGS=-O3 -std=gnu11 >> config.mak
echo WITH_UBLIO=local >> config.mak
echo WITH_UTF8PROC=local >> config.mak
root@store:~/src/hfsfuse # gmake
cc -O3 -std=gnu11 -DFUSE_USE_VERSION=28 -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I /root/src/hfsfuse/lib -c -o src/hfsfuse.o src/hfsfuse.c
src/hfsfuse.c:34:10: fatal error: 'version.h' file not found
#include "version.h"
^~~~~~~~~~~
1 error generated.
gmake: *** [Makefile:61: src/hfsfuse.o] Error 1
You can run make version
to generate this (only needs to be done once), but I'll convert this into a regular make rule that is built with the source files.
Thanks, and sorry for being slow.
I have done that, and I get:
# gmake version
echo \#define HFSFUSE_VERSION_STRING > src/version.h
root@store:~/src/hfsfuse # gmake config
echo CC=cc > config.mak
echo CONFIG_CFLAGS=-O3 -std=gnu11 >> config.mak
echo WITH_UBLIO=local >> config.mak
echo WITH_UTF8PROC=local >> config.mak
root@store:~/src/hfsfuse # gmake
cc -O3 -std=gnu11 -DFUSE_USE_VERSION=28 -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I /root/src/hfsfuse/lib -c -o src/hfsfuse.o src/hfsfuse.c
src/hfsfuse.c:328:10: error: use of undeclared identifier 'ENODATA'
return -ENODATA;
^
1 error generated.
gmake: *** [Makefile:61: src/hfsfuse.o] Error 1
PS: I have also pulled very latest commit, with same error as above.
Seems that FreeBSD does not support this error, but has a comparable one. I'm not able to test on FreeBSD currently, so these reports are very helpful, thanks! I pushed a change to use the alternative error code on FreeBSD.
Thanks, it compiles nicely now:
root@store:~/src/hfsfuse # gmake
echo \#define HFSFUSE_VERSION_STRING > src/version.h
cc -O3 -std=gnu11 -DFUSE_USE_VERSION=28 -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I /root/src/hfsfuse/lib -c -o src/hfsfuse.o src/hfsfuse.c
gmake -C lib/libhfsuser/
gmake[1]: Entering directory '/root/src/hfsfuse/lib/libhfsuser'
cc -O3 -std=gnu11 -DHAVE_BIRTHTIME -I/usr/local/include -DHAVE_UBLIO -DHAVE_UTF8PROC -I /root/src/hfsfuse/lib -c -o cache.o cache.c
cc -O3 -std=gnu11 -DHAVE_BIRTHTIME -I/usr/local/include -DHAVE_UBLIO -DHAVE_UTF8PROC -I /root/src/hfsfuse/lib -c -o features.o features.c
cc -O3 -std=gnu11 -DHAVE_BIRTHTIME -I/usr/local/include -DHAVE_UBLIO -DHAVE_UTF8PROC -I /root/src/hfsfuse/lib -c -o hfsuser.o hfsuser.c
ar rcs libhfsuser.a cache.o features.o hfsuser.o
ranlib libhfsuser.a
gmake[1]: Leaving directory '/root/src/hfsfuse/lib/libhfsuser'
gmake -C lib/libhfs/
gmake[1]: Entering directory '/root/src/hfsfuse/lib/libhfs'
cc -O3 -std=gnu11 -c -o endian.o endian.c
cc -O3 -std=gnu11 -c -o unicode.o unicode.c
cc -O3 -std=gnu11 -c -o libhfs.o libhfs.c
ar rcs libhfs.a endian.o unicode.o libhfs.o
ranlib libhfs.a
gmake[1]: Leaving directory '/root/src/hfsfuse/lib/libhfs'
gmake -C lib/ublio/
gmake[1]: Entering directory '/root/src/hfsfuse/lib/ublio'
cc -g -O2 -Wall -O3 -std=gnu11 -c ublio.c -o ublio.o
ar rcs libublio.a ublio.o
gmake[1]: Leaving directory '/root/src/hfsfuse/lib/ublio'
gmake -C lib/utf8proc/
gmake[1]: Entering directory '/root/src/hfsfuse/lib/utf8proc'
cc -O3 -std=gnu11 -fPIC -std=c99 -Wall -Wmissing-prototypes -pedantic -DUTF8PROC_EXPORTS -c -o utf8proc.o utf8proc.c
rm -f libutf8proc.a
ar rs libutf8proc.a utf8proc.o
ar: warning: creating libutf8proc.a
cc -shared -o libutf8proc.so.2.0.0 -Wl,-soname -Wl,libutf8proc.so.2 utf8proc.o
chmod a-x libutf8proc.so.2.0.0
ln -f -s libutf8proc.so.2.0.0 libutf8proc.so
ln -f -s libutf8proc.so.2.0.0 libutf8proc.so.2
gmake[1]: Leaving directory '/root/src/hfsfuse/lib/utf8proc'
cc -O3 -std=gnu11 -L/usr/local/lib -o hfsfuse src/hfsfuse.o lib/libhfsuser/libhfsuser.a lib/libhfs/libhfs.a lib/ublio/libublio.a lib/utf8proc/libutf8proc.a -lfuse -lpthread
cc -O3 -std=gnu11 -DFUSE_USE_VERSION=28 -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I /root/src/hfsfuse/lib -c -o src/hfsdump.o src/hfsdump.c
cc -O3 -std=gnu11 -L/usr/local/lib -o hfsdump src/hfsdump.o lib/libhfsuser/libhfsuser.a lib/libhfs/libhfs.a lib/ublio/libublio.a lib/utf8proc/libutf8proc.a -lpthread
This is what I get with `gmake install``
root@store:~/src/hfsfuse # gmake install
gmake -C lib/libhfsuser/
gmake[1]: Entering directory '/root/src/hfsfuse/lib/libhfsuser'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory '/root/src/hfsfuse/lib/libhfsuser'
gmake -C lib/libhfs/
gmake[1]: Entering directory '/root/src/hfsfuse/lib/libhfs'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory '/root/src/hfsfuse/lib/libhfs'
gmake -C lib/ublio/
gmake[1]: Entering directory '/root/src/hfsfuse/lib/ublio'
gmake[1]: 'libublio.a' is up to date.
gmake[1]: Leaving directory '/root/src/hfsfuse/lib/ublio'
gmake -C lib/utf8proc/
gmake[1]: Entering directory '/root/src/hfsfuse/lib/utf8proc'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory '/root/src/hfsfuse/lib/utf8proc'
install hfsfuse /usr/local/bin/
Before I test it copying a large amount of files, am I correct in saying that utf8proc
has not been compiled in?
Some of those files use German or Slavic pathnames, so I would need to have utf8proc
, right?
Thank you so much.
utf8proc was included, you should also be able to see this by running hfsfuse -v
Wonderful, thank you.
This is what I get:
hfsfuse -v
hfsfuse version
Built with:
FUSE API v2.9
libhfs RCSID $NetBSD: libhfs.c,v 1.14 2015/06/21 13:40:25 maxv Exp $
ublio v0.1
utf8proc v1.3.0
I am going to test it now copying several gigabytes and report back.
Thank you so much for your time, and for hfsfuse
.
After testing on two of our FreeBSD servers, I can confirm hfsfuse
works as expected. It is a bit slow (see #8) but otherwise truly a lifesaver.
As far as it concerns me, you could close this ticket if you wish.
Thank you for the help.
Please forgive my ignorance of gmake compilation.
I am trying to compile this on FreeBSD 11.1-RELEASE-p4.
I seem to have
fuse.h
already on my system:But when I run
gmake
right aftergmake config
I getHow can I make it work?