rayantony / s3fs

Automatically exported from code.google.com/p/s3fs
GNU General Public License v2.0
0 stars 0 forks source link

s3fs >= 1.25 won't install on CentOS 5.5 #170

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
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.

Original issue reported on code.google.com by beamerb...@gmail.com on 9 Mar 2011 at 5:14

GoogleCodeExporter commented 9 years ago
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

Original comment by beamerb...@gmail.com on 9 Mar 2011 at 5:52

GoogleCodeExporter commented 9 years ago
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!

Original comment by dmoore4...@gmail.com on 9 Mar 2011 at 6:00

GoogleCodeExporter commented 9 years ago

Original comment by dmoore4...@gmail.com on 9 Mar 2011 at 6:03

GoogleCodeExporter commented 9 years ago
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?

Original comment by beamerb...@gmail.com on 9 Mar 2011 at 7:10

GoogleCodeExporter commented 9 years ago
% 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)

Original comment by dmoore4...@gmail.com on 9 Mar 2011 at 7:43

GoogleCodeExporter commented 9 years ago
# 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.

Original comment by beamerb...@gmail.com on 9 Mar 2011 at 8:42

GoogleCodeExporter commented 9 years ago
# 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.

Original comment by beamerb...@gmail.com on 9 Mar 2011 at 9:09

GoogleCodeExporter commented 9 years ago
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

Original comment by beamerb...@gmail.com on 9 Mar 2011 at 10:52

GoogleCodeExporter commented 9 years ago
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
9.   ./configure --prefix=/usr
10.   make
11.  make install

Original comment by beamerb...@gmail.com on 9 Mar 2011 at 10:54

GoogleCodeExporter commented 9 years ago
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?

Original comment by beamerb...@gmail.com on 9 Mar 2011 at 11:03

GoogleCodeExporter commented 9 years ago
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

Original comment by dmoore4...@gmail.com on 9 Mar 2011 at 11:11

GoogleCodeExporter commented 9 years ago
to load modules on startup: 
http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-kernel-modules-persi
stant.html

# echo modprobe foo >> /etc/rc.modules 
# chmod +x /etc/rc.modules

Original comment by kmcgrath...@gmail.com on 23 Mar 2011 at 7:03

GoogleCodeExporter commented 9 years ago
I got comment#8 worked. however, all operation must run under root. cannot use 
sudo.

Original comment by jirapong...@gmail.com on 6 Jun 2011 at 9:37

GoogleCodeExporter commented 9 years ago
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?

Original comment by dstover1...@gmail.com on 17 Nov 2011 at 2:33

GoogleCodeExporter commented 9 years ago
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.)

Original comment by eric.caron on 23 Nov 2011 at 1:06

GoogleCodeExporter commented 9 years ago
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?

Original comment by samuel....@gmail.com on 6 Dec 2011 at 11:22

GoogleCodeExporter commented 9 years ago
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."

Original comment by cheyenne...@gmail.com on 8 Dec 2011 at 6:35

GoogleCodeExporter commented 9 years ago
The process in #8 will install perfectly on Centos 6 x64, many thanks!

Original comment by JIm.R...@googlemail.com on 9 Dec 2011 at 12:50

GoogleCodeExporter commented 9 years ago
Comment #8 works for my Centos 5.7. Thanks!

Original comment by quie...@gmail.com on 1 Apr 2012 at 10:08

GoogleCodeExporter commented 9 years ago
The process in #8 does not work for me on CentOS 6.2 x64. 

./configure --prefix=/usr   (this works ok)
make (fails with lots of errors)

To ensure I have all the development environment on CentOS 6.2, I have already 
done 
yum groupinstall “Development Tools”

Any ideas how to build fuse-2.8.4 on CentOS 6.2??

Original comment by share...@gmail.com on 7 May 2012 at 6:01

GoogleCodeExporter commented 9 years ago
Hi Guys,

I am facing the below issue:

configure: error: Package requirements (fuse >= 2.8.4 libcurl >= 7.0 libxml-2.0 
>= 2.6 libcrypto >= 0.9) were not met:

Here is the output for fuse:

$ export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib64/pkgconfig/
$ pkg-config --modversion fuse
2.8.4

I can understand the error for rest of the missing packages, but why is it 
still looking for fuse >= 2.8.4

-Noman A.

Original comment by n.amir.j...@gmail.com on 10 Jul 2012 at 8:41

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Re: comment 12, loading Fuse automatically on reboot

to load modules on startup for CentOS/Redhat 6:
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Gui
de/sec-Persistent_Module_Loading.html

I had to 'export PKG_CONFIG_PATH=...' within the root user's .bashrc file and 
create a new file '/etc/sysconfig/modules/fuse.modules' with the following 
contents:

    #!/bin/sh
    exec 'ldconfig'
    exec 'modprobe fuse'

And then save and make it executable:
    chmod +x /etc/sysconfig/modules/fuse.modules

Original comment by e...@lemurheavy.com on 2 Aug 2012 at 3:33

GoogleCodeExporter commented 9 years ago
Hello,

I'm trying to install fuse to work with s3fs on centos 5.8 but not have much 
luck unfortunately.

Before running configure on fuse-2.9.2 I set:
[root@beta:~] #echo $PKG_CONFIG_PATH
/usr/lib/pkgconfig:/usr/lib64/pkgconfig/

Then ran ./configure --prefix=/usr

after a make and make install pkgconfig seems to go ok:

[root@beta:~] #pkg-config --modversion fuse
2.9.2

ldconfig returns no output (also good)

but modprobe fuse is where it all goes wrong and s3fs won't recognize the 
module. It really appears to not be installed:

[root@beta:~] #modprobe fuse
FATAL: Could not open 
'/lib/modules/2.6.18-308.1.1.el5xen/kernel/fs/fuse/fuse.ko': No such file or 
directory

An ls confirms this is right:
[root@beta:~] #ls /lib/modules/2.6.18-308.1.1.el5xen/kernel/fs/fuse/fuse.ko
ls: /lib/modules/2.6.18-308.1.1.el5xen/kernel/fs/fuse/fuse.ko: No such file or 
directory

And this is all I have in my filesystem module directory:

[root@beta:~] #ls /lib/modules/2.6.18-308.1.1.el5xen/kernel/fs/
autofs4     configfs  ecryptfs  ext4      fscache  hfsplus  jffs2  nfs         
nls       vfat
cachefiles  cramfs    exportfs  fat       gfs2     jbd      lockd  nfs_common  
squashfs  xfs
cifs        dlm       ext3      freevxfs  hfs      jbd2     msdos  nfsd        
udf

Am I missing something obvious? Is it _possible_ to get this work? Been 
head-desking over this all day practically.

Happy New Year 2013 btw :)

Thanks
Tim

Original comment by bluethundr on 1 Jan 2013 at 1:04

GoogleCodeExporter commented 9 years ago
Managed to install perfectly on CentOs6 and mount the drive where I wanted, now 
the difficult bit without much info, how do you mount drives automatically on 
reboot?

I need to load the modules on boot and mount the drive on boot.

Tried to follow comment 23, have created fuse.module and made it executable. I 
updated .bashrc but I wasn't sure what I was supposed to put in there, you 
didn't say? I guess you meant pointing to the fuse.module so I put

export PKG_CONFIG_PATH=/etc/sysconfig/modules/fuse.modules

I added s3fs#bucketname /path/name/s3 fuse 
allow_other,use_cache=/tmp,default_acl=public-read 0 0
to etc/fstab as well, but alas, nothing works on reboot. Can anyone give me 
clearer instructions, like the ones I used in #8 to get the thing installed and 
running!

Original comment by dan.john...@gmail.com on 2 Feb 2013 at 6:42

GoogleCodeExporter commented 9 years ago
Almost perfect steps outlined in this article, make certain you run -yum 
install make on a clean version of centos 6.x

http://www.curvve.com/blog/servers/2013/install-s3fs-and-fuse-on-centos-6-rhel-a
nd-mount-s3-drive-on-ec2/

Original comment by antoniog...@gmail.com on 15 Jul 2013 at 2:29

GoogleCodeExporter commented 9 years ago
In order to get fuse to recognize as a running module I also had to modify the 
PKG_CONFIG_PATH with this command 

cd /usr

echo "export PKG_CONFIG_PATH=\$PKG_CONFIG_PATH:/usr/""`find -name "fuse.pc" \
        | head -n 1 | xargs dirname`" >> ~/.bash_profile

. ~/.bash_profile

Original comment by antoniog...@gmail.com on 15 Jul 2013 at 5:10

GoogleCodeExporter commented 9 years ago
Hi, all

Please see  issue 317 .
http://code.google.com/p/s3fs/issues/detail?id=317

You can mount s3fs at booting, by setting s3fs with "_netdev" option in fstab 
and setting netfs ON by chkconfig.

Regards,

Original comment by ggta...@gmail.com on 27 Aug 2013 at 10:00

GoogleCodeExporter commented 9 years ago
in reply to #8 beamerb...@gmail.com
have said i have done all the steps u have said but at 18th step i get this 
error

[root@visolve saravanan]# tar -xzvf s3fs-X.XX.tar.gz.1tar (child): 
s3fs-X.XX.tar.gz.1: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
how to proceed further

Original comment by raghaven...@gmail.com on 1 Oct 2013 at 6:33

GoogleCodeExporter commented 9 years ago
I think the file that you are trying to untar is corrupted. You can follow
the link here
http://classyscribbles.wordpress.com/2013/01/25/recovering-corrupted-files-in-li
nux/of
how to untar a corrupted file. After untaring it you can proceed
further
with the normal steps.

Original comment by itpradee...@gmail.com on 1 Oct 2013 at 7:02

GoogleCodeExporter commented 9 years ago
Hi raghavendrasaravanan

I rechecked tar file now, but it did not have a problem.

The error you got is "Cannot open: No such file or directory".
Possibly, do you typo the tar file name?
(The file name specified in error log is s3fs-X.XX.tar.gz.1...."1" is typo?)

If you can, please re-donwload the tar file and retry it.
If your problem is not fixed, please let me know.

Regards,

Original comment by ggta...@gmail.com on 1 Oct 2013 at 7:56

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Stumbling across this, Centos 6.x still uses fuse 2.8.3 in its repo. And it is 
not so simple in my case to uninstall existing versions of fuse because I want 
to install this on a machine running Cloudera CDH, and if I uninstall fuse, yum 
also wants to uninstall the cloudera manager agent which would defeat the whole 
point. 

Any idea why it still has not been upgraded?

And just to be clear -- I understand that this group/list are not the 
maintainers of CentOS and do not have control of versions of software available 
in the Yum repositories. It just seemed curious to me and I wondered if others 
have had similar experiences.

Original comment by j...@onprem.com on 2 Feb 2015 at 11:55

GoogleCodeExporter commented 9 years ago
Hi, josh

I think so, but we are not maintainers for fuse.

Original comment by ggta...@gmail.com on 7 Feb 2015 at 5:58