Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 284706 - net-fs/curlftpfs-0.9.2: emerge fails, missing fuse_opt.h, fuse-2.7.4 installed
Summary: net-fs/curlftpfs-0.9.2: emerge fails, missing fuse_opt.h, fuse-2.7.4 installed
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Network Filesystems
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-12 15:32 UTC by Klaus Häming
Modified: 2009-09-22 00:13 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Klaus Häming 2009-09-12 15:32:49 UTC
emerge of net-fs/curlftpfs-0.9.2 fails

Reproducible: Always

Steps to Reproduce:
emerge net-fs/curlftpfs
Actual Results:  
if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.  -DFUSE_USE_VERSION=26   -O2 -march=athlon-xp -pipe -fomit-frame-pointer -Wall -W -Wno-sign-compare -D_REENTRANT -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -D_FILE_OFFSET_BITS=64 -I/usr/local/include/fuse    -MT charset_utils.o -MD -MP -MF ".deps/charset_utils.Tpo" -c -o charset_utils.o charset_utils.c; \
        then mv -f ".deps/charset_utils.Tpo" ".deps/charset_utils.Po"; else rm -f ".deps/charset_utils.Tpo"; exit 1; fi
In file included from cache.c:9:
cache.h:13:22: error: fuse_opt.h: No such file or directory
make[2]: *** [cache.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from ftpfs-ls.h:12,
                 from ftpfs-ls.c:26:
cache.h:13:22: error: fuse_opt.h: No such file or directory
make[2]: *** [ftpfs-ls.o] Error 1
make[2]: Leaving directory `/var/tmp/portage/net-fs/curlftpfs-0.9.2/work/curlftpfs-0.9.2'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/net-fs/curlftpfs-0.9.2/work/curlftpfs-0.9.2'
make: *** [all] Error 2
 *
 * ERROR: net-fs/curlftpfs-0.9.2 failed.

Expected Results:  
emerge fine

when replacing
#include <fuse.h>
and
#include <fuse_opt.h>
with
#include <fuse/fuse.h>
and
#include <fuse/fuse_opt.h>
in cache.h and ftpfs.c in /var/tmp/portage/net-fs/curlftpfs-0.9.2/work/curlftpfs-0.9.2
the package compiles and a make install succeeds

there is a fuse.h in /usr/include/linux and in /usr/include/fuse, but only /usr/include/fuse contains fuse_opt.h

Probably configure assumes all the fuse files in /usr/include/linux.

the installed fuse Version is 2.7.4
Comment 1 Christian Faulhammer (RETIRED) gentoo-dev 2009-09-16 16:10:41 UTC
I cannot reproduce it. Please provide your emerge --info
Comment 2 Klaus Häming 2009-09-16 17:21:06 UTC
emerge --info
Portage 2.1.6.13 (default/linux/x86/2008.0/desktop, gcc-4.3.2, glibc-2.9_p20081201-r2, 2.6.30-gentoo-r5 i686)
=================================================================
System uname: Linux-2.6.30-gentoo-r5-i686-AMD_Phenom-tm-_II_X3_710_Processor-with-gentoo-1.12.11.1
Timestamp of tree: Tue, 15 Sep 2009 08:30:01 +0000
ccache version 2.4 [disabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.8-r1
dev-lang/python:     2.6.2-r1
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.4
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/apache2 /etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/rc.d /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev /etc/udev/rules.d /etc/wget"
CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://de-mirror.org/distro/gentoo/"
LANG="de_DE.utf8"
LDFLAGS="-Wl,-O1"
LINGUAS="de"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X a52 aac acl acpi alsa asm audacious berkdb bidi bluetooth branding bzip2 cairo cdda cdio cdr cli cracklib crypt cups dbus dia djbfft dri dts dvb dvd dvdr emboss emf enblend encode esd evo exif fam ffmpeg firefox flac fortran freetype gd gdbm gif gimp glitz gnutls gphoto2 gpm gstreamer gtk gtk2 hal httpd hybrid-auth iconv imagemagick ipv6 irmc isdnlog java java5 jpeg kde kpathsea ldap libnotify libsamplerate live mad matroska mikmod mmx mp3 mp4 mpeg mudflap musepack ncurses nls nptl nptlonly nsplugin nvidia ogg opengl openmp pam pcre pdf perl plotutils png postscript ppds pppd python qt3 qt3support qt4 quicktime readline reflection rfkill rt2500pci rt2500usb sdl session sift slang sndfile speex spell spl sqlite sse sse2 ssl startup-notification stream svg sysfs tcpd theora threads thunar tiff truetype unicode usb userlocales utempter v4l v4l2 vcd vdpau vlm vorbis win32codecs wmf wxwindows x264 x86 xml xml2 xorg xulrunner xv xvid xvmc zlib" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" SANE_BACKENDS="plustek" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 3 Christian Faulhammer (RETIRED) gentoo-dev 2009-09-16 18:18:26 UTC
$ locate fuse_opt.h
/usr/include/fuse/fuse_opt.h

$ locate fuse.h
/usr/include/fuse.h
/usr/include/fuse/fuse.h
/usr/include/linux/fuse.h

But they are found without problems, you have fuse definitely configured in your kernel?  In what way?  Try to rebuild sys-fs/fuse-2.7.4 (or do you have a different version)?
Comment 4 Klaus Häming 2009-09-17 10:04:18 UTC
locate fuse_opt.h
/usr/include/fuse/fuse_opt.h

"locate fuse.h" generates a few more lines, first those that match yours
/usr/include/linux/fuse.h
/usr/include/fuse/fuse.h
/usr/include/fuse.h

and then some:
/usr/src/linux-2.6.30-gentoo-r6/include/linux/fuse.h
/usr/src/linux-2.6.30-gentoo-r5/include/linux/fuse.h
/usr/share/hugin/xrc/data/help_en_EN/Enfuse.html
/home/livecd/source/usr/include/linux/fuse.h
/home/livecd/source/usr/src/linux-2.6.27-gentoo-r8/include/linux/fuse.h

though I doubt the latter having any effect.


cd'ing to /usr/src/linux and entering "make menuconfig" followed by "/fuse":

Symbol: FUSE_FS [=y]
Prompt: FUSE (Filesystem in Userspace) support
Defined at fs/fuse/Kconfig:1 
Location:
-> File systems


emerge -s fuse tells me:

sys-fs/fuse
      Latest version available: 2.7.4
      Latest version installed: 2.7.4

I re-emerged fuse, but curlftpfs still fails to emerge

But I found something fishy. Loking into the generated Makefile for curlftpfs reveals flags like this:
FUSE_CFLAGS = -D_FILE_OFFSET_BITS=64 -I/usr/local/include/fuse
FUSE_LIBS = -L/usr/local/lib -lfuse -lpthread

But there is no /usr/local/include/fuse directory on my machine.
Where does this path come from?

pkg-config --cflags fuse
-D_FILE_OFFSET_BITS=64 -I/usr/include/fuse

So, pkg-config should provide the correct information.
Thank you very much for helping me sorting this out :)
Comment 5 Klaus Häming 2009-09-17 14:00:25 UTC
fixed.
There was a fuse.pc in /usr/local/lib/pkgconfig/ which contained the wrong paths. Deleting it allowed emerge to finish without errors.
Why curlftpfs used that fuse.pc durinig emerge, and pkg-config the one in /usr/lib/pkgconfig/ when called manually, I don't know.
Comment 6 Christian Faulhammer (RETIRED) gentoo-dev 2009-09-22 00:10:32 UTC
Reopen for proper resolution
Comment 7 Christian Faulhammer (RETIRED) gentoo-dev 2009-09-22 00:13:42 UTC
Sorry, but this resolution fits better from Gentoo's point of view. :)