Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

10.05.2007, 20:35

[gelöst] emerge getdvhoff

Hallo zusammen,

ich bin gerade dabei ein Linux-Live-USB System aufzusetzen. Ich habe noch nie genkernel verwendet, doch diesmal bleibt mir wohl nichts anderes übrig. Und genau da liegt mein Problem. Damit der Aufruf

Quellcode

1
genkernel --no-install --bootsplash --initramfs all


funktioniert, möchte genkernel, dass getdvhoff installiert ist. Wenn ich das versuche, dann --> gucksch du:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
>>> Emerging (1 of 1) sys-boot/getdvhoff-0.12-r1 to /
 * sgibootcd-0.12.tar.bz2 RMD160 ;-) ...   [ ok ]
 * sgibootcd-0.12.tar.bz2 SHA1 ;-) ...     [ ok ]
 * sgibootcd-0.12.tar.bz2 SHA256 ;-) ...   [ ok ]
 * sgibootcd-0.12.tar.bz2 size ;-) ...     [ ok ]
 * checking ebuild checksums ;-) ...       [ ok ]
 * checking auxfile checksums ;-) ...      [ ok ]
 * checking miscfile checksums ;-) ...     [ ok ]
 * checking sgibootcd-0.12.tar.bz2 ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking sgibootcd-0.12.tar.bz2 to /var/tmp/portage/sys-boot/getdvhoff-0.12-r1/work
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/sys-boot/getdvhoff-0.12-r1/work/sgibootcd-0.12 ...
 * i686-pc-linux-gnu-gcc -march=mips3 -Os -fno-pic -mno-abicalls -I/usr/lib/klibc/include -I/usr/lib/klibc/include/bits32 -D__KLIBC__ -nostdlib getdvhoff.c /usr/lib/klibc/lib/crt0.o /usr/lib/klibc/lib/libc.a -o getdvhoff -N
cc1: Fehler: ungültige Option »no-abicalls«
getdvhoff.c:1: Fehler: Falscher Wert (mips3) für Schalter -march=
getdvhoff.c:1: Fehler: Falscher Wert (mips3) für Schalter -mtune=
>>> Source compiled.
>>> Test phase [not enabled]: sys-boot/getdvhoff-0.12-r1

>>> Install getdvhoff-0.12-r1 into /var/tmp/portage/sys-boot/getdvhoff-0.12-r1/image/ category sys-boot
cp: Aufruf von stat für »/var/tmp/portage/sys-boot/getdvhoff-0.12-r1/work/sgibootcd-0.12/helpers/getdvhoff« nicht möglich: Datei oder Verzeichnis nicht gefunden
>>> Completed installing getdvhoff-0.12-r1 into /var/tmp/portage/sys-boot/getdvhoff-0.12-r1/image/

>>> Merging sys-boot/getdvhoff-0.12-r1 to /
--- /usr/
--- /usr/lib/
>>> /usr/lib/getdvhoff/
>>> Safely unmerging already-installed instance...
<<<        dir /usr/lib/getdvhoff
--- !empty dir /usr/lib
--- !empty dir /usr
>>> Regenerating /etc/ld.so.cache...
>>> Original instance of package unmerged safely.
>>> sys-boot/getdvhoff-0.12-r1 merged.

>>> No packages selected for removal by clean
>>> Auto-cleaning packages...


Gibts dafür nen Workaround?

Danke

X

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »TheX« (12.05.2007, 16:07)


2

10.05.2007, 21:08

Hi,

Quellcode

1
2
3
cc1: Fehler: ungültige Option »no-abicalls«
getdvhoff.c:1: Fehler: Falscher Wert (mips3) für Schalter -march=
getdvhoff.c:1: Fehler: Falscher Wert (mips3) für Schalter -mtune=


Hast du es mal ohne diese Werte bzw. mit anderen Werten versucht?
Für mich ist da klar rauszulesen das getdvhoff damit in konflikt steht.

mfg apex


Unix is user friendly. However, it isn't idiot friendly.
Unix ist Benutzerfreundlich. Wie auch immer, es ist nicht Idiotenferundlich

3

10.05.2007, 21:19

Hallo,

ist für mich auch klar zu erkennen. Aber welche Flags ich stattdessen setzen muss ist die Frage. Ich kenne das Flag no-abicalls nicht. Für -march sollte ich i686 setzen, oder? Und was für -mtune ?

4

10.05.2007, 21:20

Wenn du die Flags nicht kennst,
warum setzt du sie dann?

// edit: Hier hast mal ne nette Liste von CFLAGS die du nutzen könntest:

» Klick mich! «


Unix is user friendly. However, it isn't idiot friendly.
Unix ist Benutzerfreundlich. Wie auch immer, es ist nicht Idiotenferundlich

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »apex« (10.05.2007, 21:24)


5

10.05.2007, 21:25

Nicht ich habe die Flags gestzt, sondern das ebuild!

6

10.05.2007, 21:42

Ich hab jetzt die Flags aus dem Ebuild rausgenommen und mal ein emerge gemacht. Jetzt installiert es sauber, aber ob die übersetzte Datei sauber funktioniert ist die andere Frage. Mal sehn ....

Aber danke für die Liste.

X

7

12.05.2007, 08:49

@TheX: funktioniert die übersetzte Datei nun sauber?

Wenn nein, poste bitte dein Problem, wenn ja, setze den Thrad auf gelöst, ok?
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

8

12.05.2007, 12:47

Hallo,

es scheint, als ob noch irgendwo der Wurm drin hängt. Wie gesagt, übersetzt wurde sie ohne Warnung aber beim Aufruf von genkernel stimmt was nicht. Er versucht die Architektur mips bei der Erstellung der initrd zu verwenden.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
* Gentoo Linux Genkernel; Version 3.4.6
* Running with options: --no-install --bootsplash --initramfs initrd

* Linux Kernel 2.6.19-gentoo-r5-genkernel for x86...
* initrd: >> Initializing...
*         >> Copying modules...
*         >> Copying auxilary files...
*         :: Size is at 5434K
*         >> Creating loopback filesystem...
*         >> Moving initrd files to the loopback...
*         >> Cleaning up and compressing the initrd...
*         >> No bootsplash detected; skipping!
cp: reguläre Datei »/usr/src/linux/mips/ramdisk/initrd.img.gz« kann nicht angelegt werden: Datei oder Verzeichnis nicht gefunden
*         >> Compiling 2.6.19-gentoo-r5-genkernel bzImage...


Warum er auf das Verzeichnis "/usr/src/linux/mips/ramdisk/" zugreifen will ist mir schleierhaft. In der "/etc/genkernel.conf" habe ich die Option

Quellcode

1
2
# Override the arch detection?
ARCH_OVERRIDE="x86"

mal gesetzt, aber kein Erfolg. Somit denke ich, dass eventuell die getdvhoff in der übersetzten Datei die Architektur mips festlegt.

Ich schau mir mal die source an, eventuell entdecke ich was.

--EDIT:
In der source ist bis auf

Quellcode

1
printf("\nsgibootcd " VERSION " - bootable volume image builder for SGI MIPS machines\n"


was klar sagt, diese source ist für die mips Architektur.

Hmm, was nun? Gibts getdvhoff auch für die x86 Architektur? Und wieso will ein emerge genkernel ein Paket mergen was überhaupt nicht für meine Architektur gedacht ist? Klar, ich habe demaskiert, aber nur weil genkernel es verlangt hat.

--Edit:
Hier mal das ebuild:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/sys-boot/getdvhoff/getdvhoff-0.12-r1.ebuild,v 1.2 2006/01/02 08:05:26 kumba Exp $

inherit eutils toolchain-funcs

DESCRIPTION="Utility for use on LiveCDs to calculate offset of the ext2 partition for losetup"
HOMEPAGE="ftp://ftp.linux-mips.org/pub/linux/mips/people/skylark/"
SRC_URI="ftp://ftp.linux-mips.org/pub/linux/mips/people/skylark/sgibootcd-${PV}.tar.bz2"
LICENSE="as-is"
SLOT="0"
KEYWORDS="-* mips"
IUSE=""
DEPEND="dev-libs/klibc"
RESTRICT=""
S="${WORKDIR}/sgibootcd-${PV}"
MY_S="${S}/helpers"


src_compile() {
        cd ${MY_S}
        local mycc="$(tc-getCC)"
        local mysrc="getdvhoff.c"
        local klloc="/usr/lib/klibc"
        local klobjs="${klloc}/lib/crt0.o ${klloc}/lib/libc.a"
        local klcflags="-march=mips3 -Os -fno-pic -mno-abicalls -I${klloc}/include -I${klloc}/include/bits32 -D__KLIBC__ -nostdlib"

        [ -f "${MY_S}/getdvhoff" ] && rm -f ${MY_S}/${PN}
        einfo "${mycc} ${klcflags} ${mysrc} ${klobjs} -o ${PN} -N"
        ${mycc} ${klcflags} ${mysrc} ${klobjs} -o ${PN} -N
}

src_install() {
        cd ${MY_S}
        dodir /usr/lib/${PN}
        cp ${MY_S}/${PN} ${D}/usr/lib/${PN}
}


Folgende Eintröge sind einzig interessant:

Quellcode

1
KEYWORDS="-* mips"


und

Quellcode

1
klcflags="-march=mips3 -Os -fno-pic -mno-abicalls -I${klloc}/include -I${klloc}/include/bits32 -D__KLIBC__ -nostdlib"


Ich glaub ich steh im Wald, warum soll ich das mergen wenn das ebuild schon klar sagt MIPS!! ??

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »TheX« (12.05.2007, 13:06)


9

12.05.2007, 16:07

Also, nach langem rumprobieren scheint es als ob genkernel die Option --initramfs nicht mag. Ohne diese Option ist der Bauvorgang ok.

Muss mal schaun woran das liegt. Aber hat sich somit erledigt.