Jump to content
Sign in to follow this  
SeeM

Jak Zrobić Pakiet I686 Na 64Bitowej Fedorze?

Recommended Posts

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ąć.

Share this post


Link to post
Share on other sites

Przed budową wyeksportuj odpowiednie flagi

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

Dlaczego sam budujesz ten pakiet?

  • Upvote 1

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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ą ?

Share this post


Link to post
Share on other sites
Guest

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ć"?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...