# [SOLVED]Instalacja 32-bit OS spod 64-bitow...

## Belliash

Witam wszystkich.

Aktualnie pisze z 64-bitowego Gentoo.

Chcialem jednak na 2 dysku zainstalowac wersje 32-bit.

Uzylem do tego celu stage1 2006.0  :Wink: 

W make.conf wpisalem

CHOST="i686-pc-linux-gnu"

CFLAGS="-march=athlon64"

Oczywiscie nie pisalem wszystkich CFLAG. Chodi o optymalizacje pod konklretny procesor (K8 Venice).

chrootowalem sie poleceniem: linux32 chroot /mnt/gentoo /bin/bash

uname wskazywal i686.

Posadzilem system i napotkalem pare problemow.

1) 7ZIP wywala taki blad:

```
>>> Source unpacked.

>>> Compiling source in /var/tmp/portage/app-arch/p7zip-4.42/work/p7zip_4.42 ...

StringToInt.cpp:1: sorry, unimplemented: 64-bit mode not compiled in

cc1: warning: command line option "-Wno-deprecated" is valid for C++/ObjC++ but not for C

cc1: warning: command line option "-fpermissive" is valid for C++/ObjC++ but not for C

cc1: warning: command line option "-fno-enforce-eh-specs" is valid for C++/ObjC++ but not for C

main.c:1: sorry, unimplemented: 64-bit mode not compiled in

make[1]: *** [main.o] Error 1

make[1]: *** Waiting for unfinished jobs....

make[1]: *** [StringToInt.o] Error 1

make: *** [common] Error 2

!!! ERROR: app-arch/p7zip-4.42 failed.

Call stack:

  ebuild.sh, line 1568:   Called dyn_compile

  ebuild.sh, line 937:   Called src_compile

  p7zip-4.42.ebuild, line 38:   Called die

!!! compilation error

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

```

2) QT i GTK nie moga znalezc CUPSa mimo ze jest on zainstalowany.

Zainstalowalem zatem kernela, ale po zabootowaniu jest dokladnie to samo co w chroocie...

Co jest grane?

Nie da sie skompilowac 32-bitowego Genciaka spod 64-bitowego?

Jak to naprawic?

Albo jak zrobic by podczas kolejnyej proby instalacji nie bylo takich problemow?

----------

## bartass

Sorry za mały OT

Ale jeśli szukasz pomocy to wpisz w temacie konkretnie jaki masz problem

Bo teks typu: "Problem z Gentoo..." jest dość ogólnikowy.

Jeszcze raz sorry za OT.  :Embarassed: 

----------

## Andry77

A nie powinno być

CFLAGS="-march=athlon-xp"

----------

## Drwisz

```
CFLAGS="-march=athlon-xp -pipe -O2"   # Użytkownicy AMD64 powinni używać flagi march=k8
```

To cytat z manula dla amd64. Ponieważ Morpheouss jesteś użytkownikiem (wg. liczby postów) doświadczonym, napiszę Ci to co powinieneś zrobić:

```
 RTFM
```

.

..::Milu Edit: ort!

----------

## argasek

Moved from Polish to Instalacja i sprzęt.

----------

## Belliash

 *Drwisz wrote:*   

> 
> 
> ```
> CFLAGS="-march=athlon-xp -pipe -O2"   # Użytkownicy AMD64 powinni używać flagi march=k8
> ```
> ...

 

march=k8 to nie to samo przypadkiem co march=athlon64  :Question:   :Twisted Evil:   :Rolling Eyes: 

P.S. Nie no kurde nie kumam what's wrong?  :Confused: 

----------

## 13Homer

Przeczytaj dokładnie cały post, może zakumasz. A jak nie, to ciężka sprawa.

----------

## Belliash

http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?part=1&chap=5

noooo ok...

 *make.conf wrote:*   

> # Architecture specific
> 
> CHOST="i686-pc-linux-gnu"
> 
> CFLAGS="-march=athlon64 -mtune=athlon64 -O2 -s -pipe -fomit-frame-pointer -mfpmath=sse,387 -msse -msse2 -msse3 -mmmx -m3dnow -ffast-math -ftracer -finline-limit=1200 -fno-ident -fforce-addr -fpeel-loops -fprefetch-loop-arrays -funroll-loops -funswitch-loops -ftree-vectorize -fprefetch-loop-arrays -frerun-cse-after-loop -fstrength-reduce -funit-at-a-time -foptimize-sibling-calls -fno-trapping-math -momit-leaf-frame-pointer -maccumulate-outgoing-args -mno-align-stringops -minline-all-stringops -DNDEBUG -DG_DISABLE_ASSERT -DNO_DEBUG"
> ...

 

noo i jakos nadal nie kumam o co chodzi?  :Rolling Eyes: 

Przeciez -march to tylko optymalizacja pod konkretny CPU...

A to czy binarki sa budowane dla x86 czy amd64 to chyba CHOST ustala nie?

----------

## kfiaciarka

Po pierwsze temat zgadza się z teścią.

Po drugie: co wy gadacie o -march, chodzi przecież o instrukcje cpu, czemu miałbym sobie nie włączyć -msse2 przez własnie athlon64, od kiedy to -march = z chost? i wybierając -march=k8 system automagicznie sie zmienia w 64 bity? (polecam man gcc w razie wątpliwości). Tak samo jak mając pentium D mozna uzyc -march=nocona dla 32 bit.

Po trzecie RTFM, ale z głową. 

Macie konkretny problem, chroot niby dobrze a coś jednak nie gra. 

Sa mam athlona64 i -march=athlon64 32 bitowy i zadnego problemu w tym nie widze.

Polcam zerknąć: http://gentoo-wiki.com/HOWTO_AMD64#Setting_up_a_32bit_chroot_environment

----------

## le_mon

Nie wiem na ile jest to ważne ale według http://www.gentoo.org/proj/pl/base/amd64/howtos/index.xml?part=1&chap=2

to do chroota wchodzisz przez :

linux32 chroot /mnt/gentoo32 /bin/bash

U ciebie jest : *Quote:*   

> linux32 chroot /mnt/gentoo /bin/bash

 

Może to /mnt/gentoo32 ma jednak jakieś znaczenie? 

I druga sprawa "By zainstalować 32-bitowy chroot podążamy radami jakimi kierujemy się podczas instalacji Gentoo Linux na systemie x86. W tej chwili potrzebujemy najnowszego stage3". Skądinąd wiadomo że stage1 już nie jest na topie   :Laughing: 

No i może jeszcze rzuć okiem na to :http://www.gentoo.org/news/pl/gwn/20061009-newsletter.xml "Bezpieczne flagi CFLAGS".

Widzę u ciebie kilka flag które nie są zalecane, może to o to biega ?

----------

## Belliash

Nie sadze  :Smile: 

Ale najciekawsze ze zabootowalem 32-bit OpenSuSE i na flagach "-march=athlon-xp -O2 -s" bylo dokladnie to samo   :Shocked:   :Laughing:   :Cool: 

Zaraz chyba kipne ze smiechu  :Very Happy: 

----------

## kfiaciarka

 *le_mon wrote:*   

> Nie wiem na ile jest to ważne ale według http://www.gentoo.org/proj/pl/base/amd64/howtos/index.xml?part=1&chap=2
> 
> to do chroota wchodzisz przez :
> 
> linux32 chroot /mnt/gentoo32 /bin/bash
> ...

 

To gentoo32 nie ma znaczenia;) równie dobrze mozesz to nazwac wc_piker i podmontowac  :Smile: 

----------

## Belliash

a wam nie powiem co bylo nie tak  :Razz:   :Cool:   :Laughing:   :Twisted Evil: 

----------

## kfiaciarka

 *Morpheouss wrote:*   

> a wam nie powiem co bylo nie tak    

 

Ja powiem,

To nie była wina cflags/cxxflags. Miał USE="amd64" I sie nie przyznał. Juz wiem dlaczego emerge --info więcej mówi niz make.conf  :Wink: 

----------

## Belliash

 *kfiaciarka wrote:*   

>  *Morpheouss wrote:*   a wam nie powiem co bylo nie tak     
> 
> Ja powiem,
> 
> To nie była wina cflags/cxxflags. Miał USE="amd64" I sie nie przyznał. Juz wiem dlaczego emerge --info więcej mówi niz make.conf 

 

 w tym wypadku mowi tyle samo.

CHOST i USE nie pasowaly do siebie  :Razz: 

----------

## Raku

 *le_mon wrote:*   

> U ciebie jest : *Quote:*   linux32 chroot /mnt/gentoo /bin/bash 
> 
> Może to /mnt/gentoo32 ma jednak jakieś znaczenie?

 

I to jest przykład, dlaczego dokumentacja gentoo jest IMO totalnie do d...

Nie uczy niczego poza bezmyślnym przeklepywaniem komend   :Twisted Evil: 

A czasami przydałoby sie wiedzieć, co dana komenda robi i co oznaczają jej poszczególne parametry ...   :Rolling Eyes: 

----------

## kfiaciarka

@Raku,

albo też chęć pomocy mimo małego doswiadczenia:)

----------

## Belliash

A nie wpadlbym na to gdybym nie wyedytowal se ebuilda 7zipa  :Razz: 

----------

