[Pakiety] Eksperymentalny toolchain dla Slackware 11

Instalacja Slackware Linux, problemy i wstępna konfiguracja, aktualizacje do nowszych wersji.

Moderatorzy: Moderatorzy, Administratorzy

Awatar użytkownika
difrost
Moderator
Posty: 2802
Rejestracja: 2006-03-11, 12:31
Lokalizacja: Wrocław
Kontakt:

[Pakiety] Eksperymentalny toolchain dla Slackware 11

Post autor: difrost »

W ramach projektu BETON GNU/Linux i przy okazji testowania BDT stworzyłem ciekawy i jak się okazało niezwykle wydajny toolchain dla Slackware. Ten eksperymentalny toolchain można znaleźć pod tym adresem (wraz z dodatkowymi pakietami). Proszę przeczytać uważnie cały anons!

!!! UWAGA !!!
Nie ponoszę odpowiedzialności za szkody, które mogą wyniknąć z użytkowania pakietów znajdujących sie pod podanym powyżej adresem.


Release Notes:
  • Toolchain został wykonany z optymalizacją dla architektury i686 (i686-slackware-linux).
  • Glibc wspiera tylko NPTL, nie ma w nim wsparcia dla LinuxThreads mimo, że po małej przerwia (w Glibc 2.4) istnieje możliwość uzyskania takiego wsparcia. Dlatego jest on przeznaczony dla użytkowników jąder serii 2.6 (więcej informacji poniżej).
  • Glibc został skompilowany z wsparciem dla jąder > 2.6.16, aczkolwiek rekomendowane jądro, to > 2.6.18, gdyż był on kompilowany na nagłówkach z jądra 2.6.18:

    Kod: Zaznacz cały

    $ /lib/libc.so.6 
    GNU C Library stable release version 2.5, by Roland McGrath et al.
    Copyright (C) 2006 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.
    There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
    PARTICULAR PURPOSE.
    Compiled by GNU CC version 4.1.1.
    Compiled on a Linux >>2.6.18<< system on 2006-11-01.
    Available extensions:
            crypt add-on version 2.1 by Michael Glad and others
            GNU Libidn by Simon Josefsson
            GNU libio by Per Bothner
            NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
            Native POSIX Threads Library by Ulrich Drepper et al
            BIND-8.2.3-T5B
    Thread-local storage support included.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/libc/bugs.html>.
    
  • Glibc posiada add-on LIbidn - co widać powyżej.
  • Configure Glibc'a:

    Kod: Zaznacz cały

    --prefix=/usr \
    --disable-profile --enable-add-ons=nptl,libidn --without-cvs \
    --without-selinux --with-tls --enable-kernel=2.6.16 --with-__thread \
    --with-headers="${KERNHEAD_DIR}" --cache-file=config.cache --enable-bind-now
    
  • Do Glibc użyto następujące patche:
  • GCC skompilowane dla C, C++ i fortrana, z configure:

    Kod: Zaznacz cały

    --prefix=/usr --enable-shared --enable-threads=posix \
    --enable-__cxa-atexit --disable-checking --with-gnu-ld --enable-languages=c,c++,f95 \
    --enable-clocale=gnu --verbose --disable-multilib
    
  • Configure dla Binutils:

    Kod: Zaznacz cały

    --prefix=/usr \
    --enable-shared --enable-64-bit-bfd
    
Uwagi na temat instalacji:
  • [1] Instalację zaczynamy od pakietu zawierającego Glibc.
    [2] Nie należy instalować pakietu Glibc bezpośrednio na działający system. Glibc dostarczany wraz z Slackware 11 podzielony jest na biblioteki ze wsparciem dla NPTL oraz LinuxThreads, stąd po zainstalowaniu nowego pakietu powstanie konflikt między starymi i nowymi bibliotekami.
    [3] Instalację przeprowadzamy z zewnętrznego systemu, może to być pierwsza płyta instalacyjna (w tym przypadku należy użyć jądra huge26.s):
    • montujemy partycję główną np. do /mnt/hd;
    • montujemy resztę partycji systemowych (tak jak mamy w fstab) wewnątrz /mnt/hd, tak aby chroot na /mnt/hd odzwierciedlał cały system (partycje /home i pozostałe - niesystemowe - nie muszą być montowane);
    • usuwamy stary pakiet Glibc:

      Kod: Zaznacz cały

      ROOT=/mnt/hd removepkg glibc
      
      Wszystkie pakiety z rodziny glibc muszą zostać usunięte w ten sposób.
    • removepkg nie usuwa bibliotek z /lib i dlatego należy je usunąć recznie:

      Kod: Zaznacz cały

      cd /mnt/hd
      rm -r tls
      rm *2.3.6* libmemusage* libpthread* libSegFault*
      
      Usuwamy również linki, do nieistniejących już bibliotek. Można to zrobić ręcznie lub w ten sposób (PS: nie testowałem tego, ale powinno działać):

      Kod: Zaznacz cały

      for i in lib*; do [ -L $i ] && [ -n "$(file $i | grep "broken symbolic")" ] && rm -v $i ; done
      
    • Instalujemy nowy pakiet Glibc:

      Kod: Zaznacz cały

      installpkg -root /mnt/hd /sciezka/do/glibc-2.5-i686-1.tgz
      
      W ten sam sposób instalujemy pozostałe pakiety Glibc'a.
    • Następnie należy w chroocie wykonać ldconfig:

      Kod: Zaznacz cały

      chroot /mnt/hd /sbin/ldconfig
      
    • Teraz można sprawdzić czy nowa biblioteka ,,się przyjeła'':

      Kod: Zaznacz cały

      chroot /mnt/hd /bin/bash
      
      po tej czynności powinniśmy znależć sie w chrootowanym systemie. Dla pewności proponuję na tym etapie wykonać /lib/libc.so.6 - powinien pojawić się dokładnie taki sam komunikat jak wyżej.
    [4] Po zainstalowaniu Glibc można przełączyć się (reboot) na system i zainstalować resztę pakietów.
Pozostałe pakiety
Wszystkie pakiety poza GCC, Glibc i Binutils zostały wykonane z tym toolchain'em w celu jego przetestowania. Są to:
  • a/bash-3.2-i686-1.tgz
  • a/coreutils-6.4-i686-1.tgz
  • a/gawk-3.1.5-i686-1.tgz
  • a/procps-3.2.7-i686-1.tgz
  • a/sed-4.1.5-i686-1.tgz
  • a/usbutils-0.72-i686-1.tgz
  • a/xfsprogs-2.8.11_1-i686-1.tgz
  • ap/alsa-utils-1.0.13-i686-1.tgz
  • ap/dejagnu-1.4.4-i686-1.tgz
  • ap/mc-4.6.1-i686-1.tgz
  • d/libtool-1.5.22-i686-1.tgz
  • d/m4-1.4.7-i686-1.tgz
  • d/make-3.81-i686-1.tgz
  • d/pkg-config-0.21-i686-1.tgz
  • l/alsa-lib-1.0.13-i686-1.tgz
  • l/alsa-oss-1.0.12-i686-1.tgz
  • l/atk-1.12.3-i686-1.tgz
  • l/cairo-1.2.4-i686-1.tgz
  • l/freetype-2.2.1-i686-1.tgz
  • l/glib-1.2.10-i686-1.tgz
  • l/glib2-2.12.4-i686-1.tgz
  • l/gtk+2-2.10.6-i686-1.tgz
  • l/libpng-1.2.12-i686-1.tgz
  • l/libtiff-3.8.2-i686-1.tgz
  • l/libusb-0.1.12-i686-1.tgz
  • l/pango-1.14.7-i686-1.tgz
  • l/readline-5.2-i686-1.tgz
  • l/slang-1.4.9-i686-1.tgz
  • l/slang2-2.0.6-i686-1.tgz
  • tcl/expect-5.43.0-i686-1.tgz
  • x/fontconfig-2.4.1-i686-1.tgz
  • xap/wine-0.9.24-i686-1.tgz
BBS

Wszystkie skrypty BBS (BetonBuild Script) zostaną udostępnione niedługo pod tym samym adresem wraz z dokładnym plikiem ChangeLog dla wszystkich pakietów. BDT można pobrać ze strony domowej projektu, aczkolwiek będzie ono przydatne po udostępnieniu BBS. Paczka z bdt znajdzie się również w repozytorium dla i686-slackware-linux.

Known issues: -- BRAK, błędy i uwagi proszę zgłaszać na difrost/AT/poczta.onet.pl.

Co dalej...
Będę uzupełniał listę pakietów z czasem o dystrybucyjne jak i niedystrybucyjne paczki - wszystko dla i686-slackware-linux.
Pojawi się również toolchain dla pentium4-slackware-linux (dla procesorów Intel Pentium4 Prescott) - będzie on znacznie bardziez zaawansowany i dopracowany, gdyż od roku na takim pracuje i jest on moooocccnnnoooo testowany :)

Pozdrawiam
DF
Ostatnio zmieniony 2007-03-31, 17:28 przez difrost, łącznie zmieniany 2 razy.
[url=http://bdtk.sourceforge.net][img]http://pin.if.uz.zgora.pl/~beton/bdt-ready.png[/img][/url] #337142
--------------------------------------------
"I had a letter in the post today. It said 'Gas Bill'. It sounds a tempting offer." -- Alan Cox
"Users have been trained that when a computer bluescreens and losing all of their data, it's either (a) just the way things are, or (b) it's microsoft's fault." -- Theodore Tso
Awatar użytkownika
oSA
Użytkownik
Posty: 365
Rejestracja: 2005-04-16, 00:58
Lokalizacja: Zielona Góra
Kontakt:

Re: [Pakiety] Eksperymentalny toolchain dla Slackware 11

Post autor: oSA »

No to trzeba dzisiaj wypróbować ;) :D
Wszystko na temat dostępu do internetu przez sieci komórkowe (HSDPA, EDGE, GPRS) oraz WiFi, WiMax, CDMA [url=http://www.bez-kabli.pl/]Bez-kabli.pl[/url]
Sajmon
Moderator
Posty: 1215
Rejestracja: 2004-05-22, 23:19
Lokalizacja: Graz
Kontakt:

Re: [Pakiety] Eksperymentalny toolchain dla Slackware 11

Post autor: Sajmon »

@difrost: Wklep sobie to do .htaccess

IndexOptions NameWidth=35
IndexOptions DescriptionWidth=75

Nazwy pakietów powinno nam pokazać w całej swej okazałości. :)
Awatar użytkownika
difrost
Moderator
Posty: 2802
Rejestracja: 2006-03-11, 12:31
Lokalizacja: Wrocław
Kontakt:

Re: [Pakiety] Eksperymentalny toolchain dla Slackware 11

Post autor: difrost »

Zdjelano, rzeczywiscie lepiej. Dodam jeszce ReadmeName jak bede mial czas.
[url=http://bdtk.sourceforge.net][img]http://pin.if.uz.zgora.pl/~beton/bdt-ready.png[/img][/url] #337142
--------------------------------------------
"I had a letter in the post today. It said 'Gas Bill'. It sounds a tempting offer." -- Alan Cox
"Users have been trained that when a computer bluescreens and losing all of their data, it's either (a) just the way things are, or (b) it's microsoft's fault." -- Theodore Tso
Awatar użytkownika
Nightwalker
Użytkownik
Posty: 545
Rejestracja: 2006-01-02, 01:23
Lokalizacja: Bytom
Kontakt:

Re: [Pakiety] Eksperymentalny toolchain dla Slackware 11

Post autor: Nightwalker »

Jestem swiezo po aktualizacji Glibc (reszty jeszcze nie robilem) i wszystko jest OK, zadnym bledow na starcie etc.

Jednak jest pewien problem, mianowicie standardowo pierwsza CD Slacka uruchamia sie z kernelem 2.4, na tym kernelu nie wykonamy kroku

Kod: Zaznacz cały

chroot /mnt/hd /sbin/ldconfig
ponieważ wyświetli

Kod: Zaznacz cały

Kernel too old
Segmentation Fault
Na szczęście mam również Gentoo na jajku 2.6.18 :)

Poza tym to jak na razie wszystko ok :)

// EDiT

Twoje MC u mnie nawala, układ kolumn itp się rozjeżdza
Ostatnio zmieniony 2006-11-01, 21:56 przez Nightwalker, łącznie zmieniany 2 razy.
Na górze fiołki, na dole las, all your base are belong to us

[ [url=http://forum.slackware.pl/viewtopic.php?p=142666]Darmowy shell[/url] ]
Awatar użytkownika
difrost
Moderator
Posty: 2802
Rejestracja: 2006-03-11, 12:31
Lokalizacja: Wrocław
Kontakt:

Re: [Pakiety] Eksperymentalny toolchain dla Slackware 11

Post autor: difrost »

Co do chrootowania z instalki, to nalezaloby wybrac huge26, poprawie to w tekscie.

Jesli chodzi o mc, to pracowalem w tekstowej konsoli bez framebuffera i nie zauwazylem nic takiego. Mozliwe, ze problem lezy w guile lib ncurses. Zweryfikuje to w X'ach i ewentualnie poprawie.
[url=http://bdtk.sourceforge.net][img]http://pin.if.uz.zgora.pl/~beton/bdt-ready.png[/img][/url] #337142
--------------------------------------------
"I had a letter in the post today. It said 'Gas Bill'. It sounds a tempting offer." -- Alan Cox
"Users have been trained that when a computer bluescreens and losing all of their data, it's either (a) just the way things are, or (b) it's microsoft's fault." -- Theodore Tso
Awatar użytkownika
Nightwalker
Użytkownik
Posty: 545
Rejestracja: 2006-01-02, 01:23
Lokalizacja: Bytom
Kontakt:

Re: [Pakiety] Eksperymentalny toolchain dla Slackware 11

Post autor: Nightwalker »

Zaaktualizowalem sobie gtk, cairo i pango i teraz nie dzialaja mi aplikacje z frontendem w GTK (firefox, gimp)

Kod: Zaznacz cały

root@banzai:~# firefox2
/usr/lib/firefox-2.0rc2/firefox-bin: symbol lookup error: /usr/lib/libgtk-x11-2.0.so.0: undefined symbol: g_hash_table_ref
Po zrobieniu downgrade z pakietow oficjalnycjh dla Slacka problem jest ten sam ;-(

P.s. nawet restart (o zgrozo) nie pomaga...
Ostatnio zmieniony 2006-11-02, 06:40 przez Nightwalker, łącznie zmieniany 1 raz.
Na górze fiołki, na dole las, all your base are belong to us

[ [url=http://forum.slackware.pl/viewtopic.php?p=142666]Darmowy shell[/url] ]
Awatar użytkownika
difrost
Moderator
Posty: 2802
Rejestracja: 2006-03-11, 12:31
Lokalizacja: Wrocław
Kontakt:

Re: [Pakiety] Eksperymentalny toolchain dla Slackware 11

Post autor: difrost »

Sprawdze to, ale troche to dziwne, bo firefox mi dzialal bez problemow.

EDIT -> Glib2 tez zaktualizowales? Musisz wymienic caly gtkchain, tj. (w kolejnosci wystepujacych zaleznosci):
glib2 -> cairo -> pango -> atk -> libtiff -> gtk+
Ostatnio zmieniony 2006-11-02, 08:16 przez difrost, łącznie zmieniany 1 raz.
[url=http://bdtk.sourceforge.net][img]http://pin.if.uz.zgora.pl/~beton/bdt-ready.png[/img][/url] #337142
--------------------------------------------
"I had a letter in the post today. It said 'Gas Bill'. It sounds a tempting offer." -- Alan Cox
"Users have been trained that when a computer bluescreens and losing all of their data, it's either (a) just the way things are, or (b) it's microsoft's fault." -- Theodore Tso
Awatar użytkownika
Nightwalker
Użytkownik
Posty: 545
Rejestracja: 2006-01-02, 01:23
Lokalizacja: Bytom
Kontakt:

Re: [Pakiety] Eksperymentalny toolchain dla Slackware 11

Post autor: Nightwalker »

Zaaktualizowałem wszystkie pakiety które wymieniłeś, może niekoniecznie w tej kolejności... Spróbuje w tej kolejności i dam znać.

No, teraz działa wyśmienicie (zainstalowałem w podanej przez Ciebie kolejności) ;)

Dzięki!

Rzeczywiście te Twoje paczki są wydajniejsze od dystrybucyjnych, mam uczucie jakby cały system działa 10% szybciej :)
Ostatnio zmieniony 2006-11-02, 08:45 przez Nightwalker, łącznie zmieniany 1 raz.
Na górze fiołki, na dole las, all your base are belong to us

[ [url=http://forum.slackware.pl/viewtopic.php?p=142666]Darmowy shell[/url] ]
Awatar użytkownika
difrost
Moderator
Posty: 2802
Rejestracja: 2006-03-11, 12:31
Lokalizacja: Wrocław
Kontakt:

Re: [Pakiety] Eksperymentalny toolchain dla Slackware 11

Post autor: difrost »

Różnica w wygladzie i w ogole pomiedzy tym Gtk-chain, a dystrybucyjnym jest dosyc znaczaca. Aczkolwiek jest to caly czas wersja w pewnym sensie rozwojowa. Paczki beda na biezaco aktualizowane.
[url=http://bdtk.sourceforge.net][img]http://pin.if.uz.zgora.pl/~beton/bdt-ready.png[/img][/url] #337142
--------------------------------------------
"I had a letter in the post today. It said 'Gas Bill'. It sounds a tempting offer." -- Alan Cox
"Users have been trained that when a computer bluescreens and losing all of their data, it's either (a) just the way things are, or (b) it's microsoft's fault." -- Theodore Tso
agresor
Użytkownik
Posty: 620
Rejestracja: 2005-07-03, 21:20

Post autor: agresor »

-
Ostatnio zmieniony 2020-05-29, 13:05 przez agresor, łącznie zmieniany 1 raz.
Awatar użytkownika
difrost
Moderator
Posty: 2802
Rejestracja: 2006-03-11, 12:31
Lokalizacja: Wrocław
Kontakt:

Re: [Pakiety] Eksperymentalny toolchain dla Slackware 11

Post autor: difrost »

agresor pisze:Szkoda, że tylko na 2.6 :sad:
Jak bede mial czas, to zrobie wersje z linuxthreads.
[url=http://bdtk.sourceforge.net][img]http://pin.if.uz.zgora.pl/~beton/bdt-ready.png[/img][/url] #337142
--------------------------------------------
"I had a letter in the post today. It said 'Gas Bill'. It sounds a tempting offer." -- Alan Cox
"Users have been trained that when a computer bluescreens and losing all of their data, it's either (a) just the way things are, or (b) it's microsoft's fault." -- Theodore Tso
Awatar użytkownika
Corvin
Administrator
Posty: 1143
Rejestracja: 2004-05-21, 15:04
Lokalizacja: Gdańsk

Re: [Pakiety] Eksperymentalny toolchain dla Slackware 11

Post autor: Corvin »

ok seria pytań bardziej z ciekawości:

- ciekawe jak wygląda połączenie tego toolchaina z powerpackiem by snaj?
- czy to co robisz jest kompilowane/optymalizowane pod 64 bit?
- jak bardzo się zwiększyło zapotrzebowanie na pamięć
- jak wygląda procedura testowania
- czy możesz przedstawić wyniki jakiś benchmarków?
- co z procesorami pure 32 bit?

To tyle na początek.
"Spróbuj zapalić maleńką świeczkę zamiast przeklinać ciemność."
Konfucjusz
Awatar użytkownika
difrost
Moderator
Posty: 2802
Rejestracja: 2006-03-11, 12:31
Lokalizacja: Wrocław
Kontakt:

Re: [Pakiety] Eksperymentalny toolchain dla Slackware 11

Post autor: difrost »

Corvin pisze:ok seria pytań bardziej z ciekawości:

- ciekawe jak wygląda połączenie tego toolchaina z powerpackiem by snaj?
O ile powerpack Snaja jest na jadrze > 2.6.16 (a jest z tego co sie orientuje), to nie ma problemu.
Corvin pisze:- czy to co robisz jest kompilowane/optymalizowane pod 64 bit?
Toolchain jest zrobiony na architekture i686, czyli nie 64bit, aczkolwiek jak tylko podrzuce moje BBS do nOrNIcy, to on na nich zrobi identyczny toolchain dla amd64.
Corvin pisze:- jak bardzo się zwiększyło zapotrzebowanie na pamięć
Po starcie kompa i wlaczeniu X'ow (fluxbox + gkrellm i nic wiecej) system zjada ~ 80 MB ramu. Szczerze nie pamietam ile bylo wczesniej, ale mam wrazenie, ze minimalnie wiecej.
Corvin pisze:- jak wygląda procedura testowania
Kompiluj, testuj, uzywaj - wystarczy. Jesli pojawia sie reprodukowalne SegFaulty, to w pierwszej kolejnosci nalezy wyeliminowac wine samego programu i zdebuggowac go.
Corvin pisze:- czy możesz przedstawić wyniki jakiś benchmarków?
Jadro kompiluje mi sie o 0.5min szybciej :) Powaznie, to nie mam pomyslow na benchmarki. Nie uzywam tego toolchaina, mam swoj na pentium4-slackware-linux, ale znajomy uzywa i zauwazylem, ze jest skok, ktory on okreslil na 10% w stosunku do defaultowej instalki Slackware 11.
Corvin pisze:- co z procesorami pure 32 bit?
Tak jak pisalem wczesniej - 32bit architektura i686 i dalej (oczywiscie) - powinno dzialac na wszystkich procesorach mimo, ze bylo kompilowane pod Intelem.
[url=http://bdtk.sourceforge.net][img]http://pin.if.uz.zgora.pl/~beton/bdt-ready.png[/img][/url] #337142
--------------------------------------------
"I had a letter in the post today. It said 'Gas Bill'. It sounds a tempting offer." -- Alan Cox
"Users have been trained that when a computer bluescreens and losing all of their data, it's either (a) just the way things are, or (b) it's microsoft's fault." -- Theodore Tso
Awatar użytkownika
Nightwalker
Użytkownik
Posty: 545
Rejestracja: 2006-01-02, 01:23
Lokalizacja: Bytom
Kontakt:

Re: [Pakiety] Eksperymentalny toolchain dla Slackware 11

Post autor: Nightwalker »

Nie wiem gdzie jest problem, ale jak testować to testować ;)

Przy próbie uruchomienia Zend Studio

Kod: Zaznacz cały

root@banzai:/usr/local/Zend/ZendStudio-5.2.0/bin# ./ZDE
awk: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/bin/ls: error while loading shared libraries: librt.so.1: cannot open shared object file: No such file or directory
basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
grep: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/usr/local/Zend/ZendStudio-5.2.0/jre/bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
Na defaultowym toolchainie działało bez problemu.
Na górze fiołki, na dole las, all your base are belong to us

[ [url=http://forum.slackware.pl/viewtopic.php?p=142666]Darmowy shell[/url] ]
ODPOWIEDZ