Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
sys-fs/cloop: all versions fail (2.04-2.624) [solved]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
geeksheik
Tux's lil' helper
Tux's lil' helper


Joined: 07 Sep 2003
Posts: 99
Location: Zürich, Switzerland

PostPosted: Mon Apr 28, 2008 11:45 am    Post subject: sys-fs/cloop: all versions fail (2.04-2.624) [solved] Reply with quote

All versions of cloop fail in a system with gentoo-sources 2.6.24-gentoo-r4.

Here are my top-most build errors when trying to emerge cloop-2.04:

Code:

make[1]: Entering directory `/usr/src/linux-2.6.24-gentoo-r4'
  CC [M]  /var/tmp/portage/sys-fs/cloop-2.04/work/cloop-2.04-1+eb.1/compressed_loop.o
/var/tmp/portage/sys-fs/cloop-2.04/work/cloop-2.04-1+eb.1/compressed_loop.c:116: warning: 'request_queue_t' is deprecated
/var/tmp/portage/sys-fs/cloop-2.04/work/cloop-2.04-1+eb.1/compressed_loop.c:262: warning: 'request_queue_t' is deprecated
/var/tmp/portage/sys-fs/cloop-2.04/work/cloop-2.04-1+eb.1/compressed_loop.c: In function 'make_clo_request':
/var/tmp/portage/sys-fs/cloop-2.04/work/cloop-2.04-1+eb.1/compressed_loop.c:335: error: too many arguments to function 'bio_endio'
/var/tmp/portage/sys-fs/cloop-2.04/work/cloop-2.04-1+eb.1/compressed_loop.c: In function 'clo_set_file':
/var/tmp/portage/sys-fs/cloop-2.04/work/cloop-2.04-1+eb.1/compressed_loop.c:372: warning: 'request_queue_t' is deprecated
/var/tmp/portage/sys-fs/cloop-2.04/work/cloop-2.04-1+eb.1/compressed_loop.c:382: error: 'struct inode' has no member named 'i_blksize'
/var/tmp/portage/sys-fs/cloop-2.04/work/cloop-2.04-1+eb.1/compressed_loop.c: In function 'clo_clr_fd':
/var/tmp/portage/sys-fs/cloop-2.04/work/cloop-2.04-1+eb.1/compressed_loop.c:582: error: too many arguments to function 'invalidate_bdev'
/var/tmp/portage/sys-fs/cloop-2.04/work/cloop-2.04-1+eb.1/compressed_loop.c: In function 'cloop_exit':
/var/tmp/portage/sys-fs/cloop-2.04/work/cloop-2.04-1+eb.1/compressed_loop.c:764: error: void value not ignored as it ought to be
make[2]: *** [/var/tmp/portage/sys-fs/cloop-2.04/work/cloop-2.04-1+eb.1/compressed_loop.o] Error 1
make[1]: *** [_module_/var/tmp/portage/sys-fs/cloop-2.04/work/cloop-2.04-1+eb.1] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.24-gentoo-r4'
make: *** [module] Error 2
make: *** Waiting for unfinished jobs....


Here are my top-most build errors when trying to emerge cloop-2.05:

Code:

make[1]: Entering directory `/usr/src/linux-2.6.24-gentoo-r4'
  CC [M]  /var/tmp/portage/sys-fs/cloop-2.05/work/cloop-2.05~20060829/compressed_loop.o
/var/tmp/portage/sys-fs/cloop-2.05/work/cloop-2.05~20060829/compressed_loop.c:119: warning: 'request_queue_t' is deprecated
/var/tmp/portage/sys-fs/cloop-2.05/work/cloop-2.05~20060829/compressed_loop.c:265: warning: 'request_queue_t' is deprecated
/var/tmp/portage/sys-fs/cloop-2.05/work/cloop-2.05~20060829/compressed_loop.c: In function 'make_clo_request':
/var/tmp/portage/sys-fs/cloop-2.05/work/cloop-2.05~20060829/compressed_loop.c:353: error: too many arguments to function 'bio_endio'
/var/tmp/portage/sys-fs/cloop-2.05/work/cloop-2.05~20060829/compressed_loop.c: In function 'clo_set_file':
/var/tmp/portage/sys-fs/cloop-2.05/work/cloop-2.05~20060829/compressed_loop.c:390: warning: 'request_queue_t' is deprecated
make[2]: *** [/var/tmp/portage/sys-fs/cloop-2.05/work/cloop-2.05~20060829/compressed_loop.o] Error 1
make[1]: *** [_module_/var/tmp/portage/sys-fs/cloop-2.05/work/cloop-2.05~20060829] Error 2


I believe cloop should be masked for current kernel versions. I'm surprised that I don't see any recent posts or bugs regarding this. Am I the only person that has any interest in using this driver?

My solution was to create a portage overlay folder and a sys-fs/cloop-2.06, with the current cloop sources. Here is the contents of my ebuild, /usr/local/portage/sys-fs/cloop/cloop-2.06.ebuild:

Code:

# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
# last modified by Bryant Hansen on 20080428

inherit linux-mod

# http://debian-knoppix.alioth.debian.org/sources/cloop_2.624-1.tar.gz

DESCRIPTION="Compressed filesystem loopback kernel module"
HOMEPAGE="http://packages.debian.org/unstable/source/cloop http://www.knopper.net/knoppix"
SRC_URI="http://debian-knoppix.alioth.debian.org/sources/cloop_2.624-1.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""

S=${WORKDIR}/cloop-2.624

pkg_setup() {
   kernel_is 2 4 && die "kernel 2.4 is not supported"
   CONFIG_CHECK="ZLIB_INFLATE"
   MODULE_NAMES="cloop(fs:)"
   BUILD_TARGETS="all"
   BUILD_PARAMS="KVERSION=${KV_FULL} KERNEL_DIR=${KV_DIR}"
   linux-mod_pkg_setup
}

src_install() {
   linux-mod_src_install

   dobin create_compressed_fs extract_compressed_fs
   cp debian/create_compressed_fs.1 debian/extract_compressed_fs.1
   doman debian/create_compressed_fs.1 debian/extract_compressed_fs.1
   dodoc CHANGELOG README
}


This seems to work. I'm new to writing ebuilds, so I've probably violated a few rules in creating this one.

To us this, create a portage overlay as described in the Overlay guide:
http://www.gentoo.org/proj/en/overlays/userguide.xml

Copy the contents of the code above into the following file:
/usr/local/portage/sys-fs/cloop/cloop-2.06.ebuild
(assuming that your portage overlay directory is located at /usr/local/portage)

Unmask the newly-created ebuild:
# echo "=sys-fs/cloop-2.06 ~x86" >> /etc/portage/package.keywords

Emerge the package:
# emerge cloop -av

Load the module:
# modprobe cloop

Mount a compressed filesystem:
(untested at the moment)

Note: there seems to be a slight problem with unmerging; cloop.ko is not removed from /lib/modules/2.6.24-r4


Last edited by geeksheik on Tue Nov 25, 2008 7:34 pm; edited 2 times in total
Back to top
View user's profile Send private message
jok
n00b
n00b


Joined: 26 Jan 2008
Posts: 22
Location: Finland

PostPosted: Mon Apr 28, 2008 6:52 pm    Post subject: Reply with quote

Wasn't sys-fs/cloop-2.624 already added to the tree back in March? Namely, in bug 207998?

Edit: I seem to have /usr/portage/sys-fs/cloop/cloop-2.624.ebuild from March 11, has line
Code:
# $Header: /var/cvsroot/gentoo-x86/sys-fs/cloop/cloop-2.624.ebuild,v 1.1 2008/03/11 20:24:29 genstef Exp $

in it, but the Changelog is from November 2007...
Back to top
View user's profile Send private message
geeksheik
Tux's lil' helper
Tux's lil' helper


Joined: 07 Sep 2003
Posts: 99
Location: Zürich, Switzerland

PostPosted: Tue Apr 29, 2008 9:06 am    Post subject: Reply with quote

Thanks. It seems that I forgot to add an eix-update cron job, so my eix package database was out-of-date, and not reporting the new(masked) version of cloop. How embarrassing! :oops: I thought I'd looked at the list of ebuilds directly, but I guess not.
Back to top
View user's profile Send private message
jok
n00b
n00b


Joined: 26 Jan 2008
Posts: 22
Location: Finland

PostPosted: Tue Apr 29, 2008 11:33 am    Post subject: Reply with quote

Well, it doesn't appear on p.g.o and is not mentioned in the Changelog, so it is rather easy to overlook...
Back to top
View user's profile Send private message
fred0
Tux's lil' helper
Tux's lil' helper


Joined: 17 Apr 2006
Posts: 81
Location: France

PostPosted: Sat Aug 30, 2008 10:52 pm    Post subject: Reply with quote

Hi,

For linux-2.6.25-gentoo-r7 kernel cloop 2.624 give this error.
Code:
make[2]: *** [/var/tmp/portage/sys-fs/cloop-2.624/work/cloop-2.624/compressed_loop.o] Erreur 1
make[1]: *** [_module_/var/tmp/portage/sys-fs/cloop-2.624/work/cloop-2.624] Erreur 2
make[1]: quittant le répertoire « /usr/src/linux-2.6.25-gentoo-r7 »
make: *** [cloop.ko] Erreur 2
 *
 * ERROR: sys-fs/cloop-2.624 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 3125:  Called linux-mod_src_compile
 *             environment, line 2400:  Called die
 * The specific snippet of code:
 *               eval "emake HOSTCC=\"$(tc-getBUILD_CC)\"                   CC=\"$(get-KERNEL_CC)\"                   LDFLAGS=\"$(get_abi_LDFLAGS)\"                ${BUILD_FIXES}                   ${BUILD_PARAMS}                   ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";
 *  The die message:
 *   Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CC=i686-pc-linux-gnu-gcc LDFLAGS=  KVERSION=2.6.25-gentoo-r7 KERNEL_DIR=/usr/src/linux all


Is there already a solution ?
Back to top
View user's profile Send private message
geeksheik
Tux's lil' helper
Tux's lil' helper


Joined: 07 Sep 2003
Posts: 99
Location: Zürich, Switzerland

PostPosted: Tue Nov 25, 2008 7:28 pm    Post subject: fix for cloop-2.624 with kernels linux-2.6.25-gentoo-r7,8,9 Reply with quote

Yes, it does seem broken again, but that seems to be because the 2.625 version has not yet been added to portage. CLoop version 2.624 is not compatible with 2.6.25 kernels. See:

http://archive.netbsd.se/?ml=debian-knoppix&a=2008-04&t=7230429

Note: At the bottom of that URL, Klaus Knopper offers an updated updated compressed_loop.c. I verified that I could replace my original file and cloop would compile. However, Dr. Knopper also offered a warning on that page:
Quote:
So, please wait for an official release before using cloop 2.625 for a cloop-based distribution...

So, I did not attempt to use it.

I then discovered that cloop version 2.625 has been available on debian.org since 22 Sept 2008. That's where the Portage fetches the sources from (the SRC_URI).

The 2.625 overlay is remarkably-simple to create:

1) if you don't already have an Portage overlay, follow the steps on this page:
http://upir.cz/linux/portage-overlay-howto.html
(random page on the Portage overlay topic; a gentoo.org link would probably be preferred)

2) Assuming that your overlay is located at /usr/local/portage:

Code:
 # cd /usr/local/portage/
 # mkdir -p sys-fs/cloop
 # cd sys-fs/cloop/
 # cp -a /usr/portage/sys-fs/cloop/cloop-2.624.ebuild ./cloop-2.625.ebuild
 # ebuild cloop-2.625.ebuild digest
 # echo "=sys-fs/cloop-2.625 ~x86" >> /etc/portage/package.keywords
 # emerge cloop -av
 # modprobe cloop


Note: this does not require any editing of the ebuild file. The act of changing the filename (and perhaps running the ebuild ... digest command) causes the proper file to be downloaded.

Disclaimer: I have built and installed the cloop module, but have not yet tested it yet.
Back to top
View user's profile Send private message
fred0
Tux's lil' helper
Tux's lil' helper


Joined: 17 Apr 2006
Posts: 81
Location: France

PostPosted: Sun Jan 11, 2009 9:52 pm    Post subject: Reply with quote

Hi,

What about sys-block/gcloop ?

cloop is Masked in portage and last release of gcloop is from 2004 !!!

Regards
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum