# mplayer ungültiger maschinenbefehl

## tekknokrat

hallo,

Mein Problem mit Mplayer heute:

Es lässt sich auf meinem alten Laptop nicht starten:

MPlayer 1.0rc1-4.1.1 (C) 2000-2006 MPlayer Team

CPU: Intel Celeron 2/Pentium III Coppermine,Geyserville (Family: 6, Model: 8, Stepping: 6)

CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 0

Kompiliert für x86 CPU mit folgenden Erweiterungen: MMX MMX2 SSE

Ungültiger Maschinenbefehl

Was ist hier falsch? Ich habe denk ich ma' alle useflags nach den cpuinfo Werten angepasst (wie aus der matrix von mplayer zu sehen)

Es handelt sich um diesen Laptop -> http://www.tuxmobil.org/toshiba_sp4600.html

nur mit ner taktschwächeren CPU, ich habe aber auch PIII im Kernel ausgewählt!

Ich probiers grad mal ohne useflags aber ich möchte schon noch das das "Meiste" aus den CPU Optimierungen rausholen.

Was könnt ich noch probieren?

EDIT: Auch ohne die compilerflags bekomme ich diese Meldung

----------

## tekknokrat

strace gab dass hier am Ende aus somit habe ich testhalber mal die /usr/share/mplayer/mplayer.conf gelöscht und siehe da die 1. Fehlermeldung kommt nicht mehr. Mal schaun wie es sich jetzt mit zugeschalteten useflags verhält...

strace mplayer test.avi 2>&1| less  

```
...

write(1, "Kompiliert f\303\274r x86 CPU mit folg"..., 52Kompiliert für x86 CPU mit folgenden Erweiterungen:) = 52

write(1, "\n", 1

)                       = 1

open("/usr/share/mplayer/mplayer.conf", O_RDONLY|O_LARGEFILE) = 3

fstat64(3, {st_mode=S_IFREG|0644, st_size=3055, ...}) = 0

mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f21000

read(3, "#\n# MPlayer configuration file\n#"..., 4096) = 3055

--- SIGILL (Illegal instruction) @ 0 (0) ---

+++ killed by SIGILL +++

Process 14789 detached

```

----------

## m.b.j.

CFLAGS? (make.conf)

----------

## tekknokrat

make.conf:

```
# These settings were set by the catalyst build script that automatically built this stage

# Please consult /etc/make.conf.example for a more detailed example

CFLAGS="-O2 -mtune=i686 -pipe"

CHOST="i686-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

USE="a52 aac acpi ao bluetooth boost bzip2 glitz injection java ldap mmx

     mmxext mp2 mp4 sdl-sound sse svg svga syslog tiff unicode -apm -arts

     -cups -gnome -kde -motif -opengl -pppd -qt3 -qt4 -quicktime"

PORTAGE_OVERLAY="/usr/portage/overlay"

# cause of this thread http://forums.gentoo.org/viewtopic-t-512695-start-0-postdays-0-postorder-asc-highlight-withbdeps.html (portage-2.1.2*)

#EMERGE_DEFAULT_OPTS="--with-bdeps y"

LINGUAS="de"

VIDEO_CARDS="trident"

ALSA_CARD="intel8x0m"

#ALSA_CARD="intel8x0"

INPUT_DEVICES="keyboard mouse"

ACCEPT_KEYWORDS="x86"

PORTAGE_RSYNC_EXTRA_OPTS="--exclude='/overlay'"

source "/usr/portage/local/layman/make.conf"

GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://mirrors.ludost.net/gentoo/ ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo"

```

Ich emerge in einer chroot Umgebung auf einem k8 (opteron) system und sehe dass beim emerge auf einmal "-march=k8" compiler flags benutzt werden. Wo kommen die denn auf einmal her (/proc) ? emerge in chroot hat sonst immer wunderbar funktioniert!

(mom. bricht das emerge mit einer fehlermeldung ab, ich denke mal liegt an useflags die ich hinzugefügt habe, noch nicht weiter recherchiert)

-O2 -march=k8 -mtune=k8  :Question: 

```
i686-pc-linux-gnu-gcc   -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I.. -I.. -I../libavutil -Wdeclaration-after-statement -fno-PIC -W -Wall -Wno-unused-parameter -O2 -march=k8 -mtune=k8 -g3  -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include    -c -o 4xm.o 4xm.c

4xm.c: In Funktion »decode_p_frame«:

4xm.c:333: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

4xm.c:359: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

4xm.c: In Funktion »decode_i_frame«:

4xm.c:567: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

4xm.c: In Funktion »decode_frame«:

4xm.c:647: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

4xm.c: Auf höchster Ebene:

4xm.c:758: Warnung: fehlende Initialisierung

4xm.c:758: Warnung: (nahe der Initialisierung für »fourxm_decoder.capabilities«)

i686-pc-linux-gnu-gcc   -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I.. -I.. -I../libavutil -Wdeclaration-after-statement -fno-PIC -W -Wall -Wno-unused-parameter -O2 -march=k8 -mtune=k8 -g3  -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include    -c -o fraps.o fraps.c

fraps.c: In Funktion »decode_frame«:

fraps.c:112: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

fraps.c:113: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

fraps.c:140: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

fraps.c:145: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

fraps.c:161: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

fraps.c:162: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

fraps.c:182: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

fraps.c: Auf höchster Ebene:

fraps.c:250: Warnung: fehlende Initialisierung

fraps.c:250: Warnung: (nahe der Initialisierung für »fraps_decoder.next«)

i686-pc-linux-gnu-gcc   -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I.. -I.. -I../libavutil -Wdeclaration-after-statement -fno-PIC -W -Wall -Wno-unused-parameter -O2 -march=k8 -mtune=k8 -g3  -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include    -c -o gifdec.o gifdec.c

gifdec.c:500: Warnung: fehlende Initialisierung

gifdec.c:500: Warnung: (nahe der Initialisierung für »gif_decoder.capabilities«)

i686-pc-linux-gnu-gcc   -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I.. -I.. -I../libavutil -Wdeclaration-after-statement -fno-PIC -W -Wall -Wno-unused-parameter -O2 -march=k8 -mtune=k8 -g3  -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include    -c -o h261.o h261.c

In file included from h261.c:32:

h261data.h:157: Warnung: fehlende Initialisierung

h261data.h:157: Warnung: (nahe der Initialisierung für »h261_rl_tcoeff.index_run«)

h261.c:1045: Warnung: fehlende Initialisierung

h261.c:1045: Warnung: (nahe der Initialisierung für »h261_decoder.next«)

h261.c:1054: Warnung: fehlende Initialisierung

h261.c:1054: Warnung: (nahe der Initialisierung für »h261_parser.split«)

i686-pc-linux-gnu-gcc   -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I.. -I.. -I../libavutil -Wdeclaration-after-statement -fno-PIC -W -Wall -Wno-unused-parameter -O2 -march=k8 -mtune=k8 -g3  -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include    -c -o h264.o h264.c

In file included from h264.c:36:

cabac.h:363: Warnung: »inline« ist nicht am Anfang einer Deklaration

h264.c: In Funktion »hl_decode_mb«:

h264.c:3661: Warnung: Klammern um Arithmetik in Operand von ^ empfohlen

h264.c:3667: Warnung: Klammern um Arithmetik in Operand von ^ empfohlen

h264.c: In Funktion »print_short_term«:

h264.c:4326: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

h264.c: Auf höchster Ebene:

h264.c:6009: Warnung: »inline« ist nicht am Anfang einer Deklaration

h264.c: In Funktion »decode_cabac_residual«:

h264.c:6143: Warnung: Übergabe des Arguments 4 von »decode_significance_8x8_x86« entfernt Kennzeichner von Zeiger-Ziel-Typ

h264.c:6070: Warnung: Variable »last« wird nicht verwendet

h264.c: Auf höchster Ebene:

h264.c:6218: Warnung: »inline« ist nicht am Anfang einer Deklaration

h264.c: In Funktion »filter_mb_fast«:

h264.c:7101: Warnung: Dereferenzierung eines Type-Pun-Zeigers verletzt strict-aliasing-Regeln

h264.c: In Funktion »decode_unregistered_user_data«:

h264.c:7593: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

h264.c:7598: Warnung: Zeigerziele bei Übergabe des Arguments 1 von »sscanf« unterscheiden sich im Vorzeichenbesitz

h264.c: Auf höchster Ebene:

h264.c:8652: Warnung: fehlende Initialisierung

h264.c:8652: Warnung: (nahe der Initialisierung für »h264_parser.next«)

In file included from h264.c:8655:

svq3.c: In Funktion »svq3_decode_block«:

svq3.c:224: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

svq3.c: In Funktion »svq3_mc_dir«:

svq3.c:374: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

svq3.c:374: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

svq3.c: In Funktion »svq3_decode_mb«:

svq3.c:450: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

svq3.c: In Funktion »svq3_decode_slice_header«:

svq3.c:741: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

svq3.c: Auf höchster Ebene:

svq3.c:1014: Warnung: fehlende Initialisierung

svq3.c:1014: Warnung: (nahe der Initialisierung für »svq3_decoder.next«)

cabac.h:106: Warnung: »put_cabac_static« definiert, aber nicht verwendet

cabac.h:152: Warnung: »put_cabac_terminate« definiert, aber nicht verwendet

cabac.h:180: Warnung: »put_cabac_u« definiert, aber nicht verwendet

cabac.h:215: Warnung: »put_cabac_ueg« definiert, aber nicht verwendet

cabac.h:267: Warnung: »refill2« definiert, aber nicht verwendet

cabac.h:799: Warnung: »get_cabac_u« definiert, aber nicht verwendet

cabac.h:815: Warnung: »get_cabac_ueg« definiert, aber nicht verwendet

cabac.h: In Funktion »get_cabac_noinline«:

cabac.h:513: Fehler: in der Klasse »GENERAL_REGS« konnte während des Neuladens von »asm« kein Register gefunden werden

make[1]: *** [h264.o] Fehler 1

make[1]: Leaving directory `/var/tmp/portage/media-video/mplayer-1.0_rc1-r2/work/MPlayer-1.0rc1/libavcodec'

make: *** [libavcodec/libavcodec.a] Fehler 2

!!! ERROR: media-video/mplayer-1.0_rc1-r2 failed.

Call stack:

  ebuild.sh, line 1614:   Called dyn_compile

  ebuild.sh, line 971:   Called qa_call 'src_compile'

  environment, line 3320:   Called src_compile

  mplayer-1.0_rc1-r2.ebuild, line 450:   Called die

!!! Failed to build MPlayer!

!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! A complete build log is located at '/var/tmp/portage/media-video/mplayer-1.0_rc1-r2/temp/build.log'.

```

make.conf vom opteron hat auch nur:

```
CFLAGS="-O2 -march=i686 -pipe"

CHOST="i686-pc-linux-gnu"

```

----------

## mv

 *tekknokrat wrote:*   

> USE="a52 aac acpi ao bluetooth boost bzip2 glitz injection java ldap mmx
> 
>      mmxext mp2 mp4 sdl-sound sse svg svga syslog tiff unicode -apm -arts
> 
>      -cups -gnome -kde -motif -opengl -pppd -qt3 -qt4 -quicktime"

 

custom-cflags ist nicht gesetzt. Ohne dieses useflag wählt mplayer die cflags selbst aus (vermutlich in Abhängigkeit der Architektur, unter der kompiliert wird).

----------

## tekknokrat

 *Quote:*   

> custom-cflags nicht gesetzt

 

ui, danke klingt nachvollziehbar.

Wobei ich das flag genau andersrum interpretiert hatte. 

Jedes ebuild baut doch per default nach den cflags in der make.conf.

--> und erst durch setzen des flags gehts mit custom cflags zur sache

 Wieso muss mplayer da aus der Rolle fallen   :Rolling Eyes: 

----------

## mv

 *tekknokrat wrote:*   

> Wieso muss mplayer da aus der Rolle fallen  

 

Vermutlich, weil die mplayer-Autoren ausdrücklich nicht wollen, dass der Benutzer die CFLAGS selbst wählt (und dann auch z.B. keine Bugreports annehmen).

----------

## tekknokrat

Grad mit custom-cflags getestet, leider mit gleichem Ergebnis:

emerge --deep --newuse world -p

```
These are the packages that would be merged, in order:

Calculating world dependencies... done!

[ebuild   R   ] media-video/mplayer-1.0_rc1-r2  USE="custom-cflags* debug* unicode*"

```

und 

```
. -I../libavutil -Wdeclaration-after-statement -fno-PIC -W -Wall -Wno-unused-parameter -O2 -march=k8 -mtune=k8 -g3  -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include    -c -o h264.o h264.c

In file included from h264.c:36:

cabac.h:363: Warnung: »inline« ist nicht am Anfang einer Deklaration

h264.c: In Funktion »hl_decode_mb«:

h264.c:3661: Warnung: Klammern um Arithmetik in Operand von ^ empfohlen

h264.c:3667: Warnung: Klammern um Arithmetik in Operand von ^ empfohlen

h264.c: In Funktion »print_short_term«:

h264.c:4326: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

h264.c: Auf höchster Ebene:

h264.c:6009: Warnung: »inline« ist nicht am Anfang einer Deklaration

h264.c: In Funktion »decode_cabac_residual«:

h264.c:6143: Warnung: Übergabe des Arguments 4 von »decode_significance_8x8_x86« entfernt Kennzeichner von Zeiger-Ziel-Typ

h264.c:6070: Warnung: Variable »last« wird nicht verwendet

h264.c: Auf höchster Ebene:

h264.c:6218: Warnung: »inline« ist nicht am Anfang einer Deklaration

h264.c: In Funktion »filter_mb_fast«:

h264.c:7101: Warnung: Dereferenzierung eines Type-Pun-Zeigers verletzt strict-aliasing-Regeln

h264.c: In Funktion »decode_unregistered_user_data«:

h264.c:7593: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

h264.c:7598: Warnung: Zeigerziele bei Übergabe des Arguments 1 von »sscanf« unterscheiden sich im Vorzeichenbesitz

h264.c: Auf höchster Ebene:

h264.c:8652: Warnung: fehlende Initialisierung

h264.c:8652: Warnung: (nahe der Initialisierung für »h264_parser.next«)

In file included from h264.c:8655:

svq3.c: In Funktion »svq3_decode_block«:

svq3.c:224: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

svq3.c: In Funktion »svq3_mc_dir«:

svq3.c:374: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

svq3.c:374: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

svq3.c: In Funktion »svq3_decode_mb«:

svq3.c:450: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

svq3.c: In Funktion »svq3_decode_slice_header«:

svq3.c:741: Warnung: Vergleich zwischen vorzeichenbehaftet und vorzeichenlos

svq3.c: Auf höchster Ebene:

svq3.c:1014: Warnung: fehlende Initialisierung

svq3.c:1014: Warnung: (nahe der Initialisierung für »svq3_decoder.next«)

cabac.h:106: Warnung: »put_cabac_static« definiert, aber nicht verwendet

cabac.h:152: Warnung: »put_cabac_terminate« definiert, aber nicht verwendet

cabac.h:180: Warnung: »put_cabac_u« definiert, aber nicht verwendet

cabac.h:215: Warnung: »put_cabac_ueg« definiert, aber nicht verwendet

cabac.h:267: Warnung: »refill2« definiert, aber nicht verwendet

cabac.h:799: Warnung: »get_cabac_u« definiert, aber nicht verwendet

cabac.h:815: Warnung: »get_cabac_ueg« definiert, aber nicht verwendet

cabac.h: In Funktion »get_cabac_noinline«:

cabac.h:513: Fehler: in der Klasse »GENERAL_REGS« konnte während des Neuladens von »asm« kein Register gefunden werden

make[1]: *** [h264.o] Fehler 1

make[1]: Leaving directory `/var/tmp/portage/media-video/mplayer-1.0_rc1-r2/work/MPlayer-1.0rc1/libavcodec'

make: *** [libavcodec/libavcodec.a] Fehler 2

!!! ERROR: media-video/mplayer-1.0_rc1-r2 failed.

Call stack:

  ebuild.sh, line 1614:   Called dyn_compile

  ebuild.sh, line 971:   Called qa_call 'src_compile'

  environment, line 3315:   Called src_compile

  mplayer-1.0_rc1-r2.ebuild, line 450:   Called die

!!! Failed to build MPlayer!

!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! A complete build log is located at '/var/tmp/portage/media-video/mplayer-1.0_rc1-r2/temp/build.log'.

```

deep, newuse hab ich gemacht damit andere packages die evtl. auch den fehlenden useflag haben gleich mitkompiliert werden.

Aber mplayer scheint das einzige paket zu sein. Ja jetzt wird jeder sagen dann mach das doch direkt auf der box aber mir graut davor mplayer auf diesem rechner zu kompilieren   :Shocked: 

hm, ich probier mal chroot ohne /proc einzubinden und dann gibs da ja noch (masked) mplayer-bin...

EDIT: mom. ist das chroot so gemountet (-> vielleicht fällt da jemandem was auf)

```
toshi-LAN:/ on /mnt/toshi-LAN type nfs (rw,intr,addr=192.168.11.148)

/usr/portage on /mnt/toshi-LAN/usr/portage type none (rw,bind)

/var/tmp on /mnt/toshi-LAN/var/tmp type none (rw,bind)

/tmp on /mnt/toshi-LAN/tmp type none (rw,bind)

/proc on /mnt/toshi-LAN/proc type none (rw,bind)

```

----------

## mv

 *tekknokrat wrote:*   

> Grad mit custom-cflags getestet, leider mit gleichem Ergebnis

 

Sehr merkwürdig. CFLAGS und CXXFLAGS sind bei Dir aber schon gesetzt? (sonst meint das mplayer ./configure vermutlich, es muss sie selbst herausfinden)

Bei mir werden jedenfalls weder -march noch -mtune hinzugefügt (grep mtune auf dem compile-log liefert z.B. keinen Treffer) - weder auf dem "nativen" amd64 noch in einer 32bit chroot. Ein paar andere Useflags, die möglicherweise relevant sein könnten (obwohl ich das fast nicht glaube): USE='-bindist -cpudection -debug -livecd'

----------

## tekknokrat

 *Quote:*   

> CFLAGS und CXXFLAGS sind bei Dir aber schon gesetzt? 

 

Ja die sind gesetzt.

Ich teste mal mit manuellem Build. 

Ohne /proc kann ich ja gar nicht chrooten, da er beim build die System-Zeit braucht.

Kann ich das proc oder sys in irgendeiner Weise von dem Laptop einbinden?

----------

## obrut<-

wenn ich chroote, dann mounte ich /proc so:

```
mount -t proc none /mnt/newroot/proc
```

 nicht per mount -bind. dadurch werden ja die daten aus dem anderen system verwendet. auch /var würde ich nicht so mounte, wie du es tust. hatte bei mir z.b. probleme, da ich ein amd64 und ein ~amd64 system habe und sich daher die programmversionen unterscheiden. einiges wird nämlich z.b. unter /var/db gespeichert (installierte pakete etc).

----------

## mv

 *obrut<- wrote:*   

> wenn ich chroote, dann mounte ich /proc so:
> 
> ```
> mount -t proc none /mnt/newroot/proc
> ```
> ...

 

Der Kernel ist ja aber auch im chroot der selbe, also sollte proc identisch sein. Ich vermute, es ist egal, wie man das macht. Mit --bind weiß der Kernel aber explizit, dass das selbe Filesystem "doppelt" gemounted ist, daher könnte ich mir vorstellen, dass man damit u.U. Kernel-Bugs eher vermeidet (etwa wenn in beiden Umgebungen gleichzeitig auf /proc geschrieben wird).

 *Quote:*   

> auch /var würde ich nicht so mounte, wie du es tust.

 

Er mounted ja auch nicht /var sondern "nur" /var/tmp. Bei mir sind da nur die Daten für ccache, kdecache und portage-build. portage-build sollte keine Probleme machen, solange man nicht in beiden Umgebungen parallel das selbe Paket emerged, und ob kdecache Probleme macht, kann ich nicht beurteilen. ccache könnte allerdings die Fehlerursache sein: Dort könnten Daten für die 64-Bit Architektur gespeichert sein, die ccache dann fälschlicherweise für 32-Bit halten könnte (allerdings wohl auch nur, wenn die Compilerflags ansonsten identisch sind...).

----------

## obrut<-

im installatioshandbuch stehts so drin, wie ich es mache (daher hab ichs ja auch).

hab schlicht übersehen, dass es /var/tmp ist und nicht /var. sorry.

----------

## moe

 *tekknokrat wrote:*   

> 
> 
> CPU: Intel Celeron 2/Pentium III Coppermine,Geyserville (Family: 6, Model: 8, Stepping: 6)
> 
> CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 0
> ...

 

Der P3-Coppermine hat doch kein MMX2, oder? Meine beiden Coppermines jedenfalls nicht.. Bist du dir ganz sicher, dass du überhaupt n P3 in deinem Laptop hast? MMX2 in dieser Altersklasse klingt für mich eher nach AMD, allerdings K7 und nicht K8.. Wer, warum bei dir die CFLAGS auf k8 setzt ist mir aber auch n Rätsel..

Oder verwechsel ich das gerade mit mmxext? Ich konnte auf die Schnelle zu beiden nix "offizielles" finden..

----------

## tekknokrat

emerge mplayer:

```
  

...

Byte order: little-endian

  Optimizing for: k8 mmx mmxext 3dnow 3dnowext sse sse2 mtrr

```

auch ohne /proc mount wird grandioserweise k8 als Zielplattform erkannt. 

Ich nehm dann halt die binary packages.

less /proc/cpuinfo:

```
processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 8

model name      : Celeron (Coppermine)

stepping        : 6

cpu MHz         : 648.052

cache size      : 128 KB

fdiv_bug        : no

hlt_bug         : no

f00f_bug        : no

coma_bug        : no

fpu             : yes

fpu_exception   : yes

cpuid level     : 2

wp              : yes

flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat p

se36 mmx fxsr sse

bogomips        : 1298.09

```

Komisch wieso das mplayer überhaupt ausspuckt mmxext: 1  ( ich glaub mmxext = mmx2 ).

----------

## tekknokrat

tja, heute mal mit mplayer-bin probiert - das ist ja leider nur für amd64. 

Also ist doch noch rumprobieren angesagt.

Kann es sein das march oder mtune beim configure aus einem vorherigen (auch in chroot kompilierten) Paket übernommen werden?

----------

