Skocz do zawartości


Zdjęcie

Jak Zrobić Pakiet I686 Na 64Bitowej Fedorze?


  • Zaloguj się, aby dodać odpowiedź
7 odpowiedzi w tym temacie

#1 SeeM

SeeM

    Ekspert

  • Użytkownicy
  • 1374 postów

  • Rejestracja: 28 styczeń 05
  • Płeć:Mężczyzna

Napisano 17 sierpień 2015 - 14:51

Mam taki problem:

# rpmbuild --rebuild --target=i686 libtxc_dxtn-1.0.0-123.fc23.src.rpm

rpmbuild nie ma nic przeciwko, ale kompilator się wykłada:

/usr/bin/ld: i386 architecture of input file `txc_compress_dxtn.o' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `txc_fetch_dxtn.o' is incompatible with i386:x86-64 output
/usr/bin/ld: txc_compress_dxtn.o: file class ELFCLASS32 incompatible with ELFCLASS64
/usr/bin/ld: final link failed: File in wrong format
collect2: error: ld returned 1 exit status
Makefile:8: recipe for target 'libtxc_dxtn.so' failed
make: *** [libtxc_dxtn.so] Error 1
błąd: Błędny stan wyjścia z /var/tmp/rpm-tmp.0quweq (%build)

Ja się na tym zupełnie nie znam. Czy ktoś mógłby łopatologicznie wyjaśnić zależności, których może brakować? ALbo flagi kompilatora? Nie wiem nawet od czego zacząć.


  • 0
+

#2 sunrise

sunrise

    Ekspert

  • Użytkownicy
  • 339 postów

  • Rejestracja: 12 sierpień 07
  • Płeć:Mężczyzna
  • Skąd:Zgierz

Napisano 17 sierpień 2015 - 16:25

Przed budową wyeksportuj odpowiednie flagi

export CFLAGS='-m32'
export CXXFLAGS='-m32'
export LDFLAGS='-m32'

Dlaczego sam budujesz ten pakiet?


  • 1

#3 SeeM

SeeM

    Ekspert

  • Użytkownicy
  • 1374 postów

  • Rejestracja: 28 styczeń 05
  • Płeć:Mężczyzna

Napisano 20 sierpień 2015 - 10:46

Przed budową wyeksportuj odpowiednie flagi

export CFLAGS='-m32'
export CXXFLAGS='-m32'
export LDFLAGS='-m32'

Dlaczego sam budujesz ten pakiet?

 

Dzięki. Chcę uruchomić Steama na Fedorze 23, więc przebudowuję sobie pakiety z rpmfusion.


  • 0
+

#4 tele

tele

    Użytkownik

  • Użytkownicy
  • 147 postów

  • Rejestracja: 11 marzec 14

Napisano 10 kwiecień 2016 - 02:04

Też probuję na innym systemie i mam troche problemów z tym,

 -  udało mi się skompilować zależnosci i mese na 32bit,

    ale żeby nie uszkodzić plików w systemie umiejscowiłem wszystkie pliki prefix=/usr/local/

     Ale jakoś to miejsce mi nie pasuje , to tak jakbym robił pakiet eksperymentalny czy coś ...

 

      Chciałbym sie dowiedziec jak to jest w fedorze, ale dawno nie aktualizowalem systemu i przy np instalacji woła aktualizacje glibc i się na tym wykrzacza,

         instalowanie Fedory na nowo też nie pomaga, bo aktualizacja się zatrzymuje, wystakuje nieoczekiwany bląd 250 ,

          yum ekstender nie idzie uruchomić ponownie az do rebootu  i takie tam ...  ( nie wazne )

 

    Mógłby podac ktoś gdzie sa instalowane pliki pakietów 32bit w Fedorze ?

Zgaduje ze dla paczek 64bit jest tak

  /usr/bin        /usr/lib64       /usr/include/       /usr/lib64/pkgconfig/

 

A w paczkach 32 bit jak jest ?

   Najbardziej mnie trapi gdzie sa binarki , bo nie mogą być w tym samym katalogu bo by się nadpisały.

 

#-------------------------------------------------------------------------------------------

Edyt:

Dobra wyspałem się i doszłem do wniosku że mogę zajrzeć do repo

# binarka i386
/usr/bin/
/usr/lib/
/usr/share/doc/
/usr/share/man/
#    devel i386
/usr/include/
/usr/lib/

# binarka 64
/usr/bin/
/usr/lib64/
/usr/share/doc/
/usr/share/man/
# devel 64
/usr/include/
/usr/lib64/

Nie rozumiem... pliki binarne się nadpisują ?


  • 0

#5 marcin82

marcin82

    Użytkownik

  • Użytkownicy
  • 42 postów

  • Rejestracja: 31 lipiec 11
  • Płeć:Mężczyzna
  • Skąd:Sosnowiec
  • Zainteresowania:Informatyka, linuks, kolej.

Napisano 10 kwiecień 2016 - 10:05

SeeM
Wszystkie zależności budowania muszą być 32-bitowe.

Gdyby pkgconfig miał jakieś problemy - wyeksportuj PKG_CONFIG_PATH (choć nie musi to byc konieczne):
export PKG_CONFIG_PATH=%{_libdir}/pkgconfig

Przed budową wyeksportuj odpowiednie flagi
export CFLAGS='-m32'
export CXXFLAGS='-m32'
export LDFLAGS='-m32'


Czy na forum jest jakiś pracownik RedHata? Może się mylę, ale flagi kompilatora powinny być zapewnione przez %{optflags} definiowane dla dostępnych architektur w plikach "rpmrc", a wywołane przez opcję rpmbuild --target=i586 . Czy ktoś próbował to rozgryźć - "naprawić"?
  • 0

marcin82


#6 Scorpion

Scorpion

    Użytkownik

  • Użytkownicy
  • 217 postów

  • Rejestracja: 18 listopad 04
  • Płeć:Mężczyzna
  • Skąd:From Hell

Napisano 13 kwiecień 2016 - 11:48

Dzięki. Chcę uruchomić Steama na Fedorze 23, więc przebudowuję sobie pakiety z rpmfusion.

 

 

Ja mam steama na F23 i żadnych pakietów nie przebudowywałem. po prostu doinstaluj so wypluwa Steam przy instalacji (przepraszam nie pamiętam co, pare miesięcy temu to było) w wersji 32 bitowej

Sciagnij z rpmfind.net czy gdzie tam znajdziesz.

Jak mu znowu jakaś ścieżka nie pasuje, to symbolic link i po sprawie, U mnie śmiga wszystko, chociaż nie wszystkie gierki chodzą bo za starą karte graficzną już mam, a nowsze gierki wymagają nowszego OpenGLa


  • 0
Lepiej zaliczać się do niektórych, niż do wszystkich... :-)

#7 Rathann

Rathann

    Użytkownik

  • Użytkownicy
  • 34 postów

  • Rejestracja: 30 lipiec 04
  • Płeć:Mężczyzna
  • Skąd:Warszawa

Napisano 22 listopad 2016 - 15:34

Dzięki. Chcę uruchomić Steama na Fedorze 23, więc przebudowuję sobie pakiety z rpmfusion.

 

 

Ja mam steama na F23 i żadnych pakietów nie przebudowywałem. po prostu doinstaluj so wypluwa Steam przy instalacji (przepraszam nie pamiętam co, pare miesięcy temu to było) w wersji 32 bitowej

Sciagnij z rpmfind.net czy gdzie tam znajdziesz.

Jak mu znowu jakaś ścieżka nie pasuje, to symbolic link i po sprawie, U mnie śmiga wszystko, chociaż nie wszystkie gierki chodzą bo za starą karte graficzną już mam, a nowsze gierki wymagają nowszego OpenGLa

 

Ale po co tak kombinujecie?

dnf install steam

i działa.


  • 0
Fedora | RPMFusion | MPlayer
"Faith manages."
-- Delenn to Lennier in Babylon 5:"Confessions and Lamentations"

#8 Rathann

Rathann

    Użytkownik

  • Użytkownicy
  • 34 postów

  • Rejestracja: 30 lipiec 04
  • Płeć:Mężczyzna
  • Skąd:Warszawa

Napisano 22 listopad 2016 - 15:35

Mam taki problem:

# rpmbuild --rebuild --target=i686 libtxc_dxtn-1.0.0-123.fc23.src.rpm

rpmbuild nie ma nic przeciwko, ale kompilator się wykłada:

/usr/bin/ld: i386 architecture of input file `txc_compress_dxtn.o' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `txc_fetch_dxtn.o' is incompatible with i386:x86-64 output
/usr/bin/ld: txc_compress_dxtn.o: file class ELFCLASS32 incompatible with ELFCLASS64
/usr/bin/ld: final link failed: File in wrong format
collect2: error: ld returned 1 exit status
Makefile:8: recipe for target 'libtxc_dxtn.so' failed
make: *** [libtxc_dxtn.so] Error 1
błąd: Błędny stan wyjścia z /var/tmp/rpm-tmp.0quweq (%build)

Ja się na tym zupełnie nie znam. Czy ktoś mógłby łopatologicznie wyjaśnić zależności, których może brakować? ALbo flagi kompilatora? Nie wiem nawet od czego zacząć.

 

Można prościej:

setarch i686 rpmbuild --rebuild foo.src.rpm

Pozdrawiam,

Dominik


  • 0
Fedora | RPMFusion | MPlayer
"Faith manages."
-- Delenn to Lennier in Babylon 5:"Confessions and Lamentations"




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych użytkowników