New issue 170 by beamerb...@gmail.com: s3fs >= 1.25 won't install on CentOS
5.5
http://code.google.com/p/s3fs/issues/detail?id=170
The installation notes in the Wiki say "Tested on Fedora 14 Desktop Edition
and CentOS 5.5." Furthermore, they say to do this prior to installing:
...
yum install fuse
yum install fuse-devel
...
However, as of version 1.25, s3fs requires FUSE 2.8.4, while the VERY
LATEST version of CentOS only has FUSE 2.7.4 in its repositories (openSUSE,
on the other hand, has 2.8.4 it its repositories). So, the installation
instructions do NOT work for CentOS 5.5 anymore on or after s3fs version
1.25 (and thus are not tested on CentOS 5.5 for those versions).
CentOS users will have in otherwise upgrade their version of fuse to
install the latest version of s3fs. An update to the CentOS instructions
with the recommended way of getting the latest version of fuse installed
would be appreciated (I still haven't come up with a plan yet ... I prefer
to install from repositories for common software like that). :)
Thanks.
By the way, I can successfully install and run s3fs 1.40 on openSUSE 11.3
with the following steps:
1. zypper install gcc libstdc++-devel gcc-c++ fuse* fuse-devel curl*
curl-devel libxml2* libxml2-devel openssl-devel mailcap
2. modprobe fuse
3. cd /usr/local/src
4. wget http://s3fs.googlecode.com/files/s3fs-1.40.tar.gz (get URL for
latest version)
5. tar -xzvf s3fs-1.40.tar.gz
6. rm s3fs-1.40.tar.gz
7. mv s3fs-1.40 s3fs
8. cd s3fs
9. ./configure --prefix=/usr
10. make
11. make install
Comment #2 on issue 170 by moore...@suncup.net: s3fs >= 1.25 won't install
on CentOS 5.5
http://code.google.com/p/s3fs/issues/detail?id=170
Maybe your expectations might be too high in that documentation is always
kept current with this dynamic, rapidly changing project? You might just
have to "roll with the changes", or wait until its maturity meets your
needs.
Please consider becoming a contributor. Once you have figured out how to
get the latest version of s3fs working on the latest CentOS, then you can
provide a patch to the Wiki page -- that would be most appreciated. Thanks!
Comment #3 on issue 170 by moore...@suncup.net: s3fs >= 1.25 won't install
on CentOS 5.5
http://code.google.com/p/s3fs/issues/detail?id=170
(No comment was entered for this change.)
I don't expect the documentation to necessarily be updated immediately to
work on a new release, but when it says "Tested with CentOS 5.5" I expect
THAT to stay accurate. When people see "Tested on CentOS 5.5" they expect
the instructions to work on CentOS 5.5. So, even saying "these instructions
do not work for CentOS 5.5 after 1.25" would be fine with me, because then
the expectation would be gone. Since I found an error in the documentation
(it is incorrect), I did what I was supposed to do and reported a bug. Is
there a problem with reporting a bug with the documentation when there is
an error in the documentation?
Meanwhile, I AM trying to solve this problem myself, but I'm having trouble:
I uninstalled the older version of fuse and downloaded 2.8.4 sources
with ./configure, make, make install just like the instructions said. I
also ran modprobe fuse and ldconfig.
# ldconfig -v|grep fuse
libfuse.so.2 -> libfuse.so.2.8.4
libfuse.so.2 -> libfuse.so.2.7.4
libfuse.so.2 -> libfuse.so.2.8.4
Then I tried to configure s3fs again and got this:
configure: error: Package requirements (fuse >= 2.8.4 libcurl >= 7.0
libxml-2.0 >= 2.6 libcrypto >= 0.9) were not met:
No package 'fuse' found
So it's not finding my newly installed fuse at all now. Suggestions on what
I'm missing or might try next?
% pkg-config --modversion fuse
should return something newer than 2.7.4
If not, then the install of the newer fuse didn't go as expected.
I suspect that your fuse install is going into /usr/local -- your OS
install might be set up to look at /usr only (or /usr first).
If *I* were trying to fix this, I would run the ./configure with the
--prefix=/usr option (I tread lightly here, because there is a holy war
concerning /usr vs. /usr/local and I really don't want to get involved -- I
know what works for me)
# pkg-config --modversion fuse
Package fuse was not found in the pkg-config search path.
Perhaps you should add the directory containing `fuse.pc'
to the PKG_CONFIG_PATH environment variable
No package 'fuse' found
So I look for fuse.pc on (per man pkg-config) the default PKG_CONFIG_PATH
path (the environmental variable is not set) which is the libdir where
pkg-config is installed, and I find this:
# more /usr/lib/pkgconfig/fuse.pc
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: fuse
Description: Filesystem in Userspace
Version: 2.8.4
Libs: -L${libdir} -lfuse -pthread -lrt -ldl
Cflags: -I${includedir}/fuse -D_FILE_OFFSET_BITS=64
By the way, I did ./configure FUSE with the --prefix=/usr option.
# export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib64/pkgconfig/
# pkg-config --modversion fuse
2.8.4
I was then able to configure, make and make install s3fs without error. I
can successfully mount and perform file operations without issue. However,
HTTPS does not seem to work.
I did a lot of crap trying to get this to work, and I'm suspicious I may
have messed up some system libraries, so I'm going to roll back my virtual
machine and try again. I'll post complete CentOS 5.5 install instructions
soon.
Alright, I got it to work. Using the following steps on a brand new CentOS
5.5 installation, I can install and run s3fs 1.40. Please consider this as
on update to the documentation.
1. yum remove fuse fuse* fuse-devel
2. yum install gcc libstdc++-devel gcc-c++ curl curl* curl-devel libxml2
libxml2* libxml2-devel openssl-devel mailcap
3. cd /usr/local/src
4.
wget "https://downloads.sourceforge.net/project/fuse/fuse-2.X/2.8.4/fuse-2.8.4.tar.gz?r=&ts=1299709935&use_mirror=cdnetworks-us-1"
5. tar -xzvf fuse-2.8.4.tar.gz
6. rm fuse-2.8.4.tar.gz
7. mv fuse-2.8.4 fuse
8. cd fuse/
9. ./configure --prefix=/usr
10. make
11. make install
12. export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib64/pkgconfig/
13. ldconfig
14. modprobe fuse
15. pkg-config --modversion fuse (confirm that 2.8.4 is the version
displayed)
16. cd ../
17. wget http://s3fs.googlecode.com/files/s3fs-1.40.tar.gz (get URL for
latest version)
18. tar -xzvf s3fs-X.XX.tar.gz
19. rm s3fs-X.XX.tar.gz
20. mv s3fs-X.XX s3fs
21. cd s3fs
22. ./configure --prefix=/usr
23. make
24. make install
Also, in case anyone's interested or you want to add it to the
documentation, the following steps successfully install s3fs 1.40 on
openSUSE 11.3 (much less complicated):
1. zypper install gcc libstdc++-devel gcc-c++ fuse fuse* fuse-devel curl
curl* curl-devel libxml2 libxml2* libxml2-devel openssl-devel mailcap
2. modprobe fuse
3. cd /usr/local/src
4. wget http://s3fs.googlecode.com/files/s3fs-1.40.tar.gz (get URL for
latest version)
5. tar -xzvf s3fs-X.XX.tar.gz
6. rm s3fs-X.XX.tar.gz
7. mv s3fs-X.XX s3fs
8. cd s3fs
One more note: With CentOS 5.5, once you restart the machine, if you try to
mount again, you get this:
# ls -l /s3/backups/
total 0
# mount /s3/backups/
fuse: device not found, try 'modprobe fuse' first
# modprobe fuse
# mount /s3/backups/
# ls -l /s3/backups/
total 0
drwxr-xr-x 1 root root 0 Mar 9 11:35 dns1
drwxr-xr-x 1 root root 0 Mar 9 11:49 dns2
drwxr-xr-x 1 root root 0 Mar 9 16:47 temp
This is not the case with openSUSE. The drive mounts automatically just
fine. This may just be something I have to live with on CentOS 5.5. Or,
maybe you have a suggestion to fix this?
Comment #11 on issue 170 by moore...@suncup.net: s3fs >= 1.25 won't install
on CentOS 5.5
http://code.google.com/p/s3fs/issues/detail?id=170
Added two notes to the Installation page for CentOS:
- explicitly states that the instructions were tested and valid for a
previous version of s3fs and not tested on subsequent versions
- refers users to this issue for instructions on getting FUSE 2.8.4
installed on CentOS 5.5
to load modules on startup:
http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-kernel-modules-persistant.html
# echo modprobe foo >> /etc/rc.modules
# chmod +x /etc/rc.modules
I got comment#8 worked. however, all operation must run under root. cannot
use sudo.
When trying to mount the file system, I get the following error:
/bin/mount: unrecognized option `--no-canonicalize'
Any idea on what is causing this problem?
Regarding comment #14, please see issue #228 (short answer: your version of
util-linux is likely before 2.18 and fuse requires at least that.)
Hey guys,
I've followed the instructions to get this installed on CentOS 5.x (5.7 in
my case).
$ pkg-config --modversion fuse
2.8.4
$ echo $PKG_CONFIG_PATH
/usr/lib/pkgconfig/:/usr/lib64/pkgconfig/
The above looks good, but configure is failing with the following error
message:
configure: error: Package requirements (fuse >= 2.8.4 libcurl >= 7.0
libxml-2.0 >= 2.6 libcrypto >= 0.9) were not met:
"No package 'fuse' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables DEPS_CFLAGS
and DEPS_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details."
Has anybody else encountered this? Any ideas as to how I can resolve it?
The instructions for installing on Cent 5 (comment 8) don't work. They
fail on the step 'modprobe fuse' with the error "FATAL: Module fuse not
found."
The process in #8 will install perfectly on Centos 6 x64, many thanks!
Comment #8 works for my Centos 5.7. Thanks!