Two questions: "mach" problems on Ubuntu (Karmic Koala) - some distros don't work ...
Thomas Vander Stichele
thomas at apestaart.org
Wed Apr 21 14:12:22 BST 2010
Hi,
On Wed, 2010-04-21 at 13:19 +0200, Marc Wäckerlin wrote:
> Hi Thomas
> Hi Loic and Hi Ubuntu MOTU Developers
>
>
> =================================================================================
> Motivation
> =================================================================================
>
> First of all, thank's for "mach". I am looking for a solution to build SuSE/RedHat-RPMs on my Ubuntu build server. I developed a software for which I'd like to provide distribution specific packages. Since our buildsystem is Ubuntu i386 Karmic Koala, it's no problem to build i386/amd64 binary Karmic Koala, and for other Ubuntu/Debian packages, there's debootstrap/dchroot. But for RPM-based distributions, "mach" is the best solution I found by now.
>
> Or is there any better approach?
>
> Some of the packages to distribute packages are free, but some others have been licenced by us and cannot be set free. That's why I can't e.g. use the OpenSUSE-Buildserver.
That's fine, you can set up your own custom repositories, we do that at
work too.
>
>
> =================================================================================
> How I installed the package on Ubuntu Karmic Koala, installation problems:
> =================================================================================
>
> "mach" is available in the Ubuntu repositories, but unfortunately only in the very old release 0.9.1. That's why I had to compile it myself.
>
> "alien" does not work to convert Thomas' packages for fc11 to karmic, it results in:
> ---------------------------------------------------------------------------------
> chown: cannot access `mach-0.9.5//var/tmp/mach': No such file or directory
> failed chowning /var/tmp/mach to 0:0: at /usr/share/perl5/Alien/Package/Rpm.pm line 265, <GETPERMS> line 73.
> ---------------------------------------------------------------------------------
> And so does "rpmbuild" from the source-rpm package: it ends in the same error message.
I can't understand people who see the need for mach but still use
alien :) This is a matter of taste of course.
> Installing to "/usr/local" using "./configure && make && sudo make install" results in an installation that does not work. Some paths seem not to be used in the correct way (hard-coded?).
More info please ? I doubt there is actual hardcoding going on.
> That's why I ended up in the following installation procedure (using checkinstall):
> ---------------------------------------------------------------------------------
> ./configure --prefix /usr --sysconfdir /etc --sharedstatedir /var --localstatedir /var
> sudo checkinstall bash -c "make install && chmod u+s /usr/sbin/mach-helper"
> ---------------------------------------------------------------------------------
That probably works too, though again, people who see the need for mach
typically also never install manually built stuff in /usr
>
> =================================================================================
> Question 1: Where are the OpenSUSE-configurations?
> =================================================================================
>
> In the README, it's documented, that OpenSUSE 11.0 would be supported, but I can't find it in /etc/mach/dist.d/ - how do I install OpenSUSE, what are the "mach" arguments to install OpenSUSE?
[thomas at level ~]$ rpm -ql mach | grep suse
/etc/mach/dist.d/opensuse-102-i386
/etc/mach/dist.d/opensuse-103-i386
/etc/mach/dist.d/opensuse-110-i386
/etc/mach/dist.d/suse-81-i386
/etc/mach/dist.d/suse-82-i386
/etc/mach/dist.d/suse-90-i386
[thomas at level ~]$ rpm -qi mach
Name : mach Relocations: (not
relocatable)
Version : 0.9.5.1 Vendor: (none)
Release : 0.20100406.153432.fc12 Build Date: Tue 06 Apr 2010
03:39:37 PM CEST
Install Date: Tue 06 Apr 2010 03:39:57 PM CEST Build Host:
level.fluendo.lan
Group : Applications/System Source RPM:
mach-0.9.5.1-0.20100406.153432.fc12.src.rpm
Size : 476816 License: GPLv2+
Signature : (none)
URL : http://thomas.apestaart.org/projects/mach/
Summary : Make a chroot
Looking at the ChangeLog it seems they weren't actually in the 0.9.5
release, so you can either build from CVS HEAD, or just copy the
necessary /etc/dist.d files from the CVS repo.
>
>
> =================================================================================
> Question 2: Problem installing distributions:
> =================================================================================
>
> Then I tested the installation of several distribution, with the command "sudo mach -r fedora-3-i386-core setup build". Where I tried several combinations of distributions, with the following results:
> - fedora-3-i386-core -> Success!
> - fedora-3-i386-updates -> Success!
> - fedora-3-i386-extras -> Success!
> - fedora-4-i386-updates -> Success!
> - fedora-9-i386-updates -> FAILED!
> - fedora-10-i386-updates -> FAILED! (solved)
> - fedora-11-i386-fedora -> FAILED!
> - fedora-11-i386-updates -> FAILED! (unsolved)
>
>
> As can see in the output below, there are two different errors:
>
> For Fedora 9
> - URL has changed to: http://archives.fedoraproject.org/pub/archive/fedora/
> - I solved this by changing fedorayum to fedorayuma.
Also changed in CVS HEAD recently.
> But what's the problem with Fedora 11?
>
> Output:
> ---------------------------------------------------------------------------------
> sudo mach -r fedora-9-i386-updates setup build
> ---------------------------------------------------------------------------------
> Installing package set 'minimal' ...!
> ERROR: /usr/sbin/mach-helper yum -c /var/lib/mach/states/fedora-9-i386-updates/yum.conf --installroot=/var/lib/mach/roots/fedora-9-i386-updates -y -y install bash glibc failed.
> http://download.fedora.redhat.com/pub/fedora/linux/releases/9/Everything/i386/os/repodata/repomd.xml: [Errno 14] HTTP Error 404: Not Found
> Trying other mirror.
> Error: Cannot retrieve repository metadata (repomd.xml) for repository: everything. Please verify its path and try again
>
> Retrying installing package set 'minimal' ...!
> ERROR: /usr/sbin/mach-helper yum -c /var/lib/mach/states/fedora-9-i386-updates/yum.conf --installroot=/var/lib/mach/roots/fedora-9-i386-updates -y -y install bash glibc failed.
> http://download.fedora.redhat.com/pub/fedora/linux/releases/9/Everything/i386/os/repodata/repomd.xml: [Errno 14] HTTP Error 404: Not Found
> Trying other mirror.
> Error: Cannot retrieve repository metadata (repomd.xml) for repository: everything. Please verify its path and try again
>
This one you fixed, correct ?
> ERROR: Could not yum -y install bash glibc
> ---------------------------------------------------------------------------------
> ---------------------------------------------------------------------------------
> sudo mach -r fedora-11-i386-updates setup build
> ---------------------------------------------------------------------------------
> Installing package set 'minimal' ...!
> ERROR: /usr/sbin/mach-helper yum -c /var/lib/mach/states/fedora-11-i386-updates/yum.conf --installroot=/var/lib/mach/roots/fedora-11-i386-updates -y -y install bash glibc failed.
> Setting up Install Process
> Resolving Dependencies
> --> Running transaction check
> ---> Package bash.i586 0:4.0-9.fc11 set to be updated
> --> Processing Dependency: libtinfo.so.5 for package: bash-4.0-9.fc11.i586
> --> Processing Dependency: ncurses-libs for package: bash-4.0-9.fc11.i586
> ---> Package glibc.i686 0:2.10.2-1 set to be updated
> --> Processing Dependency: glibc-common = 2.10.2-1 for package: glibc-2.10.2-1.i686
> --> Processing Dependency: basesystem for package: glibc-2.10.2-1.i686
> --> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.10.2-1.i686
> --> Processing Dependency: libgcc for package: glibc-2.10.2-1.i686
> --> Processing Dependency: libfreebl3.so for package: glibc-2.10.2-1.i686
> --> Running transaction check
> ---> Package basesystem.noarch 0:10.0-2 set to be updated
> --> Processing Dependency: filesystem for package: basesystem-10.0-2.noarch
> --> Processing Dependency: setup for package: basesystem-10.0-2.noarch
> ---> Package glibc-common.i586 0:2.10.2-1 set to be updated
> --> Processing Dependency: tzdata >= 2003a for package: glibc-common-2.10.2-1.i586
> ---> Package libgcc.i586 0:4.4.1-2.fc11 set to be updated
> ---> Package ncurses-libs.i586 0:5.7-2.20090207.fc11 set to be updated
> --> Processing Dependency: ncurses-base = 5.7-2.20090207.fc11 for package: ncurses-libs-5.7-2.20090207.fc11.i586
> ---> Package nss-softokn-freebl.i586 0:3.12.6-1.2.fc11 set to be updated
> --> Running transaction check
> ---> Package filesystem.i586 0:2.4.21-1.fc11 set to be updated
> ---> Package ncurses-base.i586 0:5.7-2.20090207.fc11 set to be updated
> ---> Package setup.noarch 0:2.8.3-3.fc11 set to be updated
> ---> Package tzdata.noarch 0:2010f-3.fc11 set to be updated
> --> Finished Dependency Resolution
>
> Dependencies Resolved
>
> ================================================================================
> Package Arch Version Repository Size
> ================================================================================
> Installing:
> bash i586 4.0-9.fc11 updates 1.1 M
> glibc i686 2.10.2-1 updates 5.8 M
> Installing for dependencies:
> basesystem noarch 10.0-2 everything 3.9 k
> filesystem i586 2.4.21-1.fc11 everything 109 k
> glibc-common i586 2.10.2-1 updates 23 M
> libgcc i586 4.4.1-2.fc11 updates 98 k
> ncurses-base i586 5.7-2.20090207.fc11 everything 68 k
> ncurses-libs i586 5.7-2.20090207.fc11 everything 334 k
> nss-softokn-freebl i586 3.12.6-1.2.fc11 updates 137 k
> setup noarch 2.8.3-3.fc11 updates 157 k
> tzdata noarch 2010f-3.fc11 updates 847 k
>
> Transaction Summary
> ================================================================================
> Install 11 Package(s)
> Update 0 Package(s)
> Remove 0 Package(s)
>
> Total size: 31 M
> Downloading Packages:
> Running rpm_check_debug
> ERROR with rpm_check_debug vs depsolve:
> rpmlib(BuiltinLuaScripts) is needed by bash-4.0-9.fc11.i586
> rpmlib(BuiltinLuaScripts) is needed by setup-2.8.3-3.fc11.noarch
> Complete!
> (1, [u'Please report this error in http://yum.baseurl.org/report'])
>
> Retrying installing package set 'minimal' ...!
> ERROR: /usr/sbin/mach-helper yum -c /var/lib/mach/states/fedora-11-i386-updates/yum.conf --installroot=/var/lib/mach/roots/fedora-11-i386-updates -y -y install bash glibc failed.
> Setting up Install Process
> Resolving Dependencies
> --> Running transaction check
> ---> Package bash.i586 0:4.0-9.fc11 set to be updated
> --> Processing Dependency: libtinfo.so.5 for package: bash-4.0-9.fc11.i586
> --> Processing Dependency: ncurses-libs for package: bash-4.0-9.fc11.i586
> ---> Package glibc.i686 0:2.10.2-1 set to be updated
> --> Processing Dependency: glibc-common = 2.10.2-1 for package: glibc-2.10.2-1.i686
> --> Processing Dependency: basesystem for package: glibc-2.10.2-1.i686
> --> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.10.2-1.i686
> --> Processing Dependency: libgcc for package: glibc-2.10.2-1.i686
> --> Processing Dependency: libfreebl3.so for package: glibc-2.10.2-1.i686
> --> Running transaction check
> ---> Package basesystem.noarch 0:10.0-2 set to be updated
> --> Processing Dependency: filesystem for package: basesystem-10.0-2.noarch
> --> Processing Dependency: setup for package: basesystem-10.0-2.noarch
> ---> Package glibc-common.i586 0:2.10.2-1 set to be updated
> --> Processing Dependency: tzdata >= 2003a for package: glibc-common-2.10.2-1.i586
> ---> Package libgcc.i586 0:4.4.1-2.fc11 set to be updated
> ---> Package ncurses-libs.i586 0:5.7-2.20090207.fc11 set to be updated
> --> Processing Dependency: ncurses-base = 5.7-2.20090207.fc11 for package: ncurses-libs-5.7-2.20090207.fc11.i586
> ---> Package nss-softokn-freebl.i586 0:3.12.6-1.2.fc11 set to be updated
> --> Running transaction check
> ---> Package filesystem.i586 0:2.4.21-1.fc11 set to be updated
> ---> Package ncurses-base.i586 0:5.7-2.20090207.fc11 set to be updated
> ---> Package setup.noarch 0:2.8.3-3.fc11 set to be updated
> ---> Package tzdata.noarch 0:2010f-3.fc11 set to be updated
> --> Finished Dependency Resolution
>
> Dependencies Resolved
>
> ================================================================================
> Package Arch Version Repository Size
> ================================================================================
> Installing:
> bash i586 4.0-9.fc11 updates 1.1 M
> glibc i686 2.10.2-1 updates 5.8 M
> Installing for dependencies:
> basesystem noarch 10.0-2 everything 3.9 k
> filesystem i586 2.4.21-1.fc11 everything 109 k
> glibc-common i586 2.10.2-1 updates 23 M
> libgcc i586 4.4.1-2.fc11 updates 98 k
> ncurses-base i586 5.7-2.20090207.fc11 everything 68 k
> ncurses-libs i586 5.7-2.20090207.fc11 everything 334 k
> nss-softokn-freebl i586 3.12.6-1.2.fc11 updates 137 k
> setup noarch 2.8.3-3.fc11 updates 157 k
> tzdata noarch 2010f-3.fc11 updates 847 k
>
> Transaction Summary
> ================================================================================
> Install 11 Package(s)
> Update 0 Package(s)
> Remove 0 Package(s)
>
> Total size: 31 M
> Downloading Packages:
> Running rpm_check_debug
> ERROR with rpm_check_debug vs depsolve:
> rpmlib(BuiltinLuaScripts) is needed by bash-4.0-9.fc11.i586
> rpmlib(BuiltinLuaScripts) is needed by setup-2.8.3-3.fc11.noarch
> Complete!
> (1, [u'Please report this error in http://yum.baseurl.org/report'])
My best guess here (I recall something like that happening to me too) is
that the host system needs an rpmlib that has BuiltinLuaScripts as a
capability, a recent addition. The host yum doing the installing uses
the host rpmlib, not the guest rpmlib, and I'm guessing the rpm/rpmlib
ubuntu ships doesn't have this. rpm needs updating on the host for this
to work.
Thomas
--
Death, where is thy sting?
Grave, where is thy victory?
--
Flumotion - the only way to stream!
http://www.flumotion.net/
More information about the Ubuntu-motu
mailing list