Git Product home page Git Product logo

Comments (10)

GoogleCodeExporter avatar GoogleCodeExporter commented on June 14, 2024
Thanks for the bug report. If you come up with a patch I'll apply it. I've had 
trouble dealing with OS X and s3backer (I'm not a Mac expert).

Original comment by [email protected] on 4 Aug 2011 at 1:50

  • Changed state: Accepted

from s3backer.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 14, 2024
Well, using pkg-config when you look for libfuse is probably a good move on any 
platform.

In general, Mac OS is a lot like FreeBSD (albeit on a Mach kernel) and an awful 
lot of the stuff is just the same as FreeBSD.  The main thing about MacPorts is 
that by default it puts stuff in /opt/local not /usr/local (though you should 
avoid hardwiring that) to avoid any possible clash with Apple.  In fact, Apple 
don't put anything in /usr/local so that would've been fine, but there you go.

I'll be trying out s3backer with fuse4x some more and will let you know how 
that goes.

Original comment by [email protected] on 4 Aug 2011 at 2:00

from s3backer.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 14, 2024
The build does already use pkg-config on OS X, it's just that it doesn't work 
reliably and/or MacFUSE has a screwed up fuse.pc file.

See for example OS X notes on 
http://code.google.com/p/s3backer/wiki/BuildAndInstall

If some command line ./configure environment variables are all that's needed, 
I'll note them on that wiki page, etc.

Original comment by [email protected] on 4 Aug 2011 at 2:06

from s3backer.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 14, 2024
I tested this.  pkg-config ran fine and output the following (from memory since 
I'm not on that machine) when typed at the shell prompt immediately after the 
configure failed.

  -L /opt/local/lib -lfuse

These weren't used in the *configure* script, so configure complained that fuse 
was absent.  The actual make might use pkg-config, but the configure complains 
and won't complete.  I had a look through the configure script and could see 
that it wasn't invoking pkg-config to do its checks.

Original comment by [email protected] on 4 Aug 2011 at 2:10

from s3backer.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 14, 2024
Just checked again since I want it on this machine too.  Here's a transcript 
from a second ago.  By the way, the -I /opt/local/include seems to be critical. 
 When I didn't include it yesterday I got compiler warnings and stack check 
fail when running s3backer.  I believe it was a 32/64-bit issue with linking 
SSL from/opt/local/lib but using incompatible headers from /usr/local/include.

I hope this is helpful!

rb@Crane$ cd s3backer-1.3.2/
rb@Crane$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... scripts/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make sets $(MAKE)... (cached) 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 for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for pkg-config... /opt/local/bin/pkg-config
checking pkg-config is at least version 0.19... yes
checking for FUSE... yes
checking for curl_version in -lcurl... yes
checking for BIO_new in -lcrypto... yes
checking for XML_ParserCreate in -lexpat... yes
checking for fuse_version in -lfuse... no
configure: error: required library libfuse missing
rb@Crane$ pkg-config --libs fuse
-pthread -L/opt/local/lib -lfuse -liconv 
rb@Crane$ ls -l /opt/local/lib/*fuse*
-rwxr-xr-x  1 root  admin  185024  4 Aug 15:10 /opt/local/lib/libfuse.2.dylib
-rw-r--r--  1 root  admin  239984  4 Aug 15:10 /opt/local/lib/libfuse.a
lrwxr-xr-x  1 root  admin      15  4 Aug 15:10 /opt/local/lib/libfuse.dylib -> 
libfuse.2.dylib
-rwxr-xr-x  1 root  admin     935  4 Aug 15:10 /opt/local/lib/libfuse.la

rb@Crane$ CFLAGS='-I /opt/local/include' LIBS='-L /opt/local/lib' ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... scripts/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make sets $(MAKE)... (cached) 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 for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for pkg-config... /opt/local/bin/pkg-config
checking pkg-config is at least version 0.19... yes
checking for FUSE... yes
checking for curl_version in -lcurl... yes
checking for BIO_new in -lcrypto... yes
checking for XML_ParserCreate in -lexpat... yes
checking for fuse_version in -lfuse... yes
checking for compressBound in -lz... yes
checking for pthread_create in -lpthread... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/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 whether fdatasync is declared... no
checking for ANSI C header files... (cached) yes
checking assert.h usability... yes
checking assert.h presence... yes
checking for assert.h... yes
checking ctype.h usability... yes
checking ctype.h presence... yes
checking for ctype.h... yes
checking curl/curl.h usability... yes
checking curl/curl.h presence... yes
checking for curl/curl.h... yes
checking err.h usability... yes
checking err.h presence... yes
checking for err.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking expat.h usability... yes
checking expat.h presence... yes
checking for expat.h... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdint.h... (cached) yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for unistd.h... (cached) yes
checking sys/queue.h usability... yes
checking sys/queue.h presence... yes
checking for sys/queue.h... yes
checking openssl/bio.h usability... yes
checking openssl/bio.h presence... yes
checking for openssl/bio.h... yes
checking openssl/buffer.h usability... yes
checking openssl/buffer.h presence... yes
checking for openssl/buffer.h... yes
checking openssl/evp.h usability... yes
checking openssl/evp.h presence... yes
checking for openssl/evp.h... yes
checking openssl/hmac.h usability... yes
checking openssl/hmac.h presence... yes
checking for openssl/hmac.h... yes
checking openssl/md5.h usability... yes
checking openssl/md5.h presence... yes
checking for openssl/md5.h... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating debian/Makefile
config.status: creating config.h
config.status: executing depfiles commands

Original comment by [email protected] on 4 Aug 2011 at 2:15

from s3backer.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 14, 2024
By the way, it's no longer MacFuse (that project died years ago) but fuse4x.  
It has recently been added to MacPorts.  See 
https://trac.macports.org/ticket/29917 for background.  MacPorts are very 
diligent about pkg-config, in my experience, and MacPorts is a very stable 
system.  The fact it has turned up in MacPorts is why I'm trying s3backer again.

Thanks again.  I really like the engineering of s3backer and I'm looking 
forward to using it.

Original comment by [email protected] on 4 Aug 2011 at 2:21

from s3backer.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 14, 2024
The following change to "configure.ac" fixed the problem, but just as you are 
not a Mac export I am not an autoconf expert.  But I couldn't see another way 
to do it from the autoconf docs.  Note: this is not a mac-specific change.  Any 
system which has fuse outside of the standard library search path will need 
this.  It's a bit puzzling why PKG_CHECK_MODULES doesn't do this automatically.

@@ -49,6 +49,8 @@
 PKG_PROG_PKG_CONFIG(0.19)
 PKG_CHECK_MODULES(FUSE, fuse,,
     [AC_MSG_ERROR(["fuse" not found in pkg-config])])
+LIBS="$LIBS $FUSE_LIBS" export LIBS
+CFLAGS="$CFLAGS $FUSE_CFLAGS" export CFLAGS

Original comment by [email protected] on 4 Aug 2011 at 3:03

from s3backer.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 14, 2024
Question: what happens on your system if you install the latest version of all 
the MacPorts stuff (including fuse4x), then take the current s3backer 1.3.2 
distribution and do this:

    $ PATH="/opt/local/bin:${PATH}"
    $ ./configure

This seems to work on my system. For example:

    $ pkg-config --libs fuse
    -pthread -L/opt/local/lib -lfuse -liconv

when pkg-config is in my $PATH.

Original comment by [email protected] on 4 Aug 2011 at 8:47

from s3backer.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 14, 2024
/opt/local/bin is already on my path on both Macs, and pkg-config works exactly 
as it does for you.  That's in my transcript above.  But the configure script 
from autoconf does not use that --libs output when it's checking for libfuse.  
It just tries -lfuse without the -L/opt/local/lib.  Did you try the configure 
also?

Original comment by [email protected] on 4 Aug 2011 at 9:05

from s3backer.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 14, 2024
OK, now I get it... ./configure was working for me because I still had MacFUSE 
installed.

I've committed a variation of your patch to fix configure.ac in r458.

Thanks!

Original comment by [email protected] on 4 Aug 2011 at 9:57

  • Changed state: Fixed

from s3backer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.