Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 188438 - sys-fs/fuse uses /lib instead of /lib64 (respectively /usr/lib instead of /usr/lib64)
Summary: sys-fs/fuse uses /lib instead of /lib64 (respectively /usr/lib instead of /us...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal
Assignee: AMD64 Project
URL:
Whiteboard:
Keywords:
: 209676 (view as bug list)
Depends on:
Blocks: 193329
  Show dependency tree
 
Reported: 2007-08-11 08:40 UTC by Tiziano Müller (RETIRED)
Modified: 2008-02-11 16:52 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 Tiziano Müller (RETIRED) gentoo-dev 2007-08-11 08:40:33 UTC
Once in the ebuild itself on line 29
... and in the package itself:

  ... When merging 'sys-fs/fuse-2.7.0::gentoo' at '/var/tmp/paludis/sys-fs/fuse-2.7.0/image' to VDB repository 'installed':
  ... When checking merge from '/var/tmp/paludis/sys-fs/fuse-2.7.0/image' to '/':
  ... When checking merge from '/var/tmp/paludis/sys-fs/fuse-2.7.0/image' to '/':
  ... When checking merge from '/var/tmp/paludis/sys-fs/fuse-2.7.0/image/usr' to '/usr':
  ... When handling dir '/var/tmp/paludis/sys-fs/fuse-2.7.0/image/usr/lib' to '/usr':
  ... Expected '/usr/lib' to be a directory but found a symlink to a directory
Comment 1 Stefan Schweizer (RETIRED) gentoo-dev 2007-09-21 15:29:01 UTC
can people with 64 bit architectures please develop a fix?
Comment 2 Mike Doty (RETIRED) gentoo-dev 2007-09-21 15:35:57 UTC
works in portage
Comment 3 Tiziano Müller (RETIRED) gentoo-dev 2007-09-21 15:47:05 UTC
sorry, how about $(get_libdir) instead of /lib/ and inherit multilib ?
Comment 4 Stefan Schweizer (RETIRED) gentoo-dev 2007-09-21 15:49:03 UTC
eh, kernel /lib64 != user /lib64

dont know what is right here .. thats why someone who uses this needs to fix it if he thinks it needs fixing - go ahead tiziano.
Comment 5 Mike Doty (RETIRED) gentoo-dev 2007-09-21 16:53:52 UTC
(In reply to comment #4)
> eh, kernel /lib64 != user /lib64
> 
> dont know what is right here .. thats why someone who uses this needs to fix it
> if he thinks it needs fixing - go ahead tiziano.
> 

it would have to be broken for a fix to be considered.  using tc_getlibdir is not correct for kernel modules(which I can only assume is what was trying to be done here, there was no information provided on the bug)

If anything, the bug would be in paludis.

Comment 6 Tiziano Müller (RETIRED) gentoo-dev 2007-09-21 17:16:14 UTC
my modules are living in /lib64/modules/*, why isn't it correct to use /$(get_libdir)/modules then?
Comment 7 Daniel Drake (RETIRED) gentoo-dev 2007-09-21 18:19:51 UTC
because the kernel hardcodes /lib
/usr/src/linux/Makefile:MODLIB	= $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)

Your modules appear in /lib64 because /lib is a symlink to lib64
Comment 8 Daniel Drake (RETIRED) gentoo-dev 2007-09-21 18:21:31 UTC
Even though the modules should be hardcoded (but you don't care because linux-mod will take care of installing them for you), note that the userspace stuff (libraries and apps) should install to /usr/$(get_libdir)
comment #0 suggests that userspace stuff is going into /usr/lib so this still may be a valid bug
Comment 9 Mike Doty (RETIRED) gentoo-dev 2007-09-21 18:27:51 UTC
(In reply to comment #6)
> my modules are living in /lib64/modules/*, why isn't it correct to use
> /$(get_libdir)/modules then?
> 

The kernel defines the modules directory as /lib/modules/`uname -r`/.  It doesn't know about lib{32,64}.  Installing anywhere else, while it might work currently, will break in the future when we decide to remove the lib->lib64 symlink and have lib{32,64,} as all directories.
Comment 10 Mike Doty (RETIRED) gentoo-dev 2007-09-21 18:29:15 UTC
(In reply to comment #8)
> Even though the modules should be hardcoded (but you don't care because
> linux-mod will take care of installing them for you), note that the userspace
> stuff (libraries and apps) should install to /usr/$(get_libdir)
> comment #0 suggests that userspace stuff is going into /usr/lib so this still
> may be a valid bug
> 
installed through portage, it installs all the userspace stuff in lib64.  While I can't guess what paludis does, based on previous comments, I can only assume we're talking about kernel modules.
Comment 11 Daniel Drake (RETIRED) gentoo-dev 2007-09-21 23:06:57 UTC
(In reply to comment #10)
> based on previous comments, I can only assume
> we're talking about kernel modules.

I only mentioned userspace stuff because:

(In reply to comment #0)
>   ... When checking merge from '/var/tmp/paludis/sys-fs/fuse-2.7.0/image/usr'
> to '/usr':
>   ... When handling dir '/var/tmp/paludis/sys-fs/fuse-2.7.0/image/usr/lib' to
> '/usr':
>   ... Expected '/usr/lib' to be a directory but found a symlink to a directory
> 

kernel module installation definitely doesn't put stuff in /usr
Comment 12 Mike Doty (RETIRED) gentoo-dev 2007-09-21 23:30:17 UTC
(In reply to comment #11)
> (In reply to comment #10)
> > based on previous comments, I can only assume
> > we're talking about kernel modules.
> 
> I only mentioned userspace stuff because:
> 
> (In reply to comment #0)
> >   ... When checking merge from '/var/tmp/paludis/sys-fs/fuse-2.7.0/image/usr'
> > to '/usr':
> >   ... When handling dir '/var/tmp/paludis/sys-fs/fuse-2.7.0/image/usr/lib' to
> > '/usr':
> >   ... Expected '/usr/lib' to be a directory but found a symlink to a directory
> > 
> 
> kernel module installation definitely doesn't put stuff in /usr
> 
point taken. However when using portage, all the userspace was installed to /usr/lib64, and all the other comments seem to be about kernel modules.  

dev-zero will have to determine if paludis is erroring on installing the kernel module to /lib(a paludis bug) or installing userspace to /usr/lib(behavior which doesn't happen in portage, so a paludis bug)  The little snippet posted doesn't give me enough information to guess.

Comment 13 Tiziano Müller (RETIRED) gentoo-dev 2007-09-22 11:00:37 UTC
There is no error, just a warning.

But my question in the end is: In the ebuild, there's this line:

BUILD_PARAMS="majver=${KV_MAJOR}.${KV_MINORR  fusemoduledir=${ROOT}/lib/modules/${KV_FULL/\ }/fs"

and since /lib points to /lib64, lib should be replaced by $(get_libdir), or not?

And furthermore, the package itself installs stuff to /usr/lib instead of /usr/lib64, which would definetely break when we remove the /usr/lib->/usr/lib64 symlink (if that ever happens).
And should we fix that for the packages or just ignore it?
Comment 14 Daniel Drake (RETIRED) gentoo-dev 2007-09-22 12:21:30 UTC
(In reply to comment #13)
> There is no error, just a warning.
> 
> But my question in the end is: In the ebuild, there's this line:
> 
> BUILD_PARAMS="majver=${KV_MAJOR}.${KV_MINORR 
> fusemoduledir=${ROOT}/lib/modules/${KV_FULL/\ }/fs"
> 
> and since /lib points to /lib64, lib should be replaced by $(get_libdir), or
> not?

No. You should hack the FUSE makefile not to install the module so that you dont have to pass fusemoduledir or care about it at all. You should then use linux_mod_src_install to install the module.

That's unless fusemoduledir is used for something other than module installation (e.g. a hardcoded insmod path in the source code?). I haven't checked.

> And furthermore, the package itself installs stuff to /usr/lib instead of
> /usr/lib64, which would definetely break when we remove the
> /usr/lib->/usr/lib64 symlink (if that ever happens).
> And should we fix that for the packages or just ignore it?

Sounds like a bug in the ebuild, it should use /usr/$(get_libdir) as I suggested above. (but some comments above suggest that portage installs to /usr/lib64 on appropriate systems so maybe this is a paludis bug)
Comment 15 Christoph Mende (RETIRED) gentoo-dev 2007-09-22 12:37:00 UTC
Just to clarify: fuse does install to /usr/$(get_libdir), FEATURES=multilib-strict doesn't complain about anything - can't really say something about the module, because it's not built here, using the in-kernel one. So the original description is a paludis bug.
Comment 16 Jakub Moc (RETIRED) gentoo-dev 2008-02-11 16:52:02 UTC
*** Bug 209676 has been marked as a duplicate of this bug. ***