From: Björn H. <bjo...@it...> - 2011-07-20 13:11:56
|
Hello, I was wondering if there are instructions somewhere on how to apply the patches? I have tried various things but all have been failing. I am probably just missing something very obvious... This is on RHEL 5 - 2.6.18-238.5.1.el5. I have tried two ways: 1.) Copy the files from the snapshot into (a copy of) the current 2.8.5 install (since the snapshots don't contain all the necessary files to compile it) 2.) Use the automake, aclocal, autocoonf tools on the snapshot to generate the necessary makefiles etc. 1.) For the latest snapshot (utimens change from July 4) I get the below compile error. I assume it is picking up the wrong fcntl.h, although from what I could tell it was using the one in my /usr/include, which does have the definition of AT_SYMLINK_NOFOLLOW. I have downloaded the snapshot of the latest patch () and copied it into (a copy of) my local 2.8.5, e.g. replacing all the files in 2.8.5. with the ones that are in the snapshot ziptar. I did this because the snapshot is missing things like configure and Makefile.in files, but I am not sure if this is the correct procedure? Here is the compile output with latest patch (July 4): make[1]: Entering directory `/home/devel/fuse285test/example' gcc -DHAVE_CONFIG_H -I. -I../include -I../include -D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -W -Wno-sign-compare -Wstrict-prototypes -Wmissing-declarations -Wwrite-strings -g -O2 -fno-strict-aliasing -MT fusexmp.o -MD -MP -MF .deps/fusexmp.Tpo -c -o fusexmp.o fusexmp.c fusexmp.c: In function 'xmp_utimens': fusexmp.c:220: warning: implicit declaration of function 'utimensat' fusexmp.c:220: error: 'AT_SYMLINK_NOFOLLOW' undeclared (first use in this function) fusexmp.c:220: error: (Each undeclared identifier is reported only once fusexmp.c:220: error: for each function it appears in.) make[1]: *** [fusexmp.o] Error 1 make[1]: Leaving directory `/home/devel/fuse285test/example' make: *** [all-recursive] Error 1 With an earlier snapshot (May 19) that doesn't have the AT_SYMLINK_NOFOLLOW variable in it yet, I get a different error: Making all in example make[1]: Entering directory `/root/Downloads/fuse-a785697/example' gcc -DHAVE_CONFIG_H -I. -I../include -I../include -D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -W -Wno-sign-compare -Wstrict-prototypes -Wmissing-declarations -Wwrite-strings -g -O3 -fno-strict-aliasing -MT fusexmp.o -MD -MP -MF .deps/fusexmp.Tpo -c -o fusexmp.o fusexmp.c mv -f .deps/fusexmp.Tpo .deps/fusexmp.Po /bin/sh ../libtool --tag=CC --mode=link gcc -Wall -W -Wno-sign-compare -Wstrict-prototypes -Wmissing-declarations -Wwrite-strings -g -O3 -fno-strict-aliasing -o fusexmp fusexmp.o ../lib/libfuse.la -pthread -lrt -ldl libtool: link: gcc -Wall -W -Wno-sign-compare -Wstrict-prototypes -Wmissing-declarations -Wwrite-strings -g -O3 -fno-strict-aliasing -o .libs/fusexmp fusexmp.o -pthread ../lib/.libs/libfuse.so -lrt -ldl -pthread -Wl,-rpath -Wl,/usr/local/lib ../lib/.libs/libfuse.so: undefined reference to `fuse_buf_copy' ../lib/.libs/libfuse.so: undefined reference to `fuse_buf_size' collect2: ld returned 1 exit status make[1]: *** [fusexmp] Fehler 1 make[1]: Leaving directory `/root/Downloads/fuse-a785697/example' make: *** [all-recursive] Fehler 1 I have taken out the example from the build as I don't need it, but obviously I still get a run time failure because it can't resolve fuse_buf_copy and fuse_buf_size. 2.) I then tried to use the auto generation tools, but that worked even less. I should note that AC_PROG_LIBTOOL is in the confiugre.in file, so I am not sure why it is complaining. [root@localhost fusenewtestaclocal]# automake lib/Makefile.am:6: Libtool library used but `LIBTOOL' is undefined lib/Makefile.am:6: lib/Makefile.am:6: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL' lib/Makefile.am:6: to `configure.in' and run `aclocal' and `autoconf' again. [root@localhost fusenewtestaclocal]# aclocal /usr/share/aclocal/log4c.m4:7: warning: underquoted definition of AM_PATH_LOG4C run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal aclocal:configure.in:76: warning: macro `AM_ICONV' not found in library [root@localhost fusenewtestaclocal]# autoconf configure.in:8: error: possibly undefined macro: AC_PROG_LIBTOOL If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure.in:76: error: possibly undefined macro: AM_ICONV [root@localhost fusenewtestaclocal]# ./configure configure: error: cannot find macro directory `m4' [root@localhost fusenewtestaclocal]# Making all in example make[1]: Entering directory `/root/Downloads/fuse-a785697/example' gcc -DHAVE_CONFIG_H -I. -I../include -I../include -D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -W -Wno-sign-compare -Wstrict-prototypes -Wmissing-declarations -Wwrite-strings -g -O3 -fno-strict-aliasing -MT fusexmp.o -MD -MP -MF .deps/fusexmp.Tpo -c -o fusexmp.o fusexmp.c mv -f .deps/fusexmp.Tpo .deps/fusexmp.Po /bin/sh ../libtool --tag=CC --mode=link gcc -Wall -W -Wno-sign-compare -Wstrict-prototypes -Wmissing-declarations -Wwrite-strings -g -O3 -fno-strict-aliasing -o fusexmp fusexmp.o ../lib/libfuse.la -pthread -lrt -ldl libtool: link: gcc -Wall -W -Wno-sign-compare -Wstrict-prototypes -Wmissing-declarations -Wwrite-strings -g -O3 -fno-strict-aliasing -o .libs/fusexmp fusexmp.o -pthread ../lib/.libs/libfuse.so -lrt -ldl -pthread -Wl,-rpath -Wl,/usr/local/lib ../lib/.libs/libfuse.so: undefined reference to `fuse_buf_copy' ../lib/.libs/libfuse.so: undefined reference to `fuse_buf_size' collect2: ld returned 1 exit status make[1]: *** [fusexmp] Fehler 1 make[1]: Leaving directory `/root/Downloads/fuse-a785697/example' make: *** [all-recursive] Fehler 1 Any help would be greatly appreciated. Thanks! bjorn |