Forum Linux.pl
System => Konfiguracja => Wątek zaczęty przez: Milczarskivon w 2019-05-07, 03:47:04
-
make -j3
DESCEND objtool
/bin/sh: 1: Syntax error: Unterminated quoted string
/bin/sh: 1: Syntax error: Unterminated quoted string
CC scripts/mod/empty.o
/bin/sh: 1: Syntax error: "(" unexpected
/usr/src/linux-5.0.9/tools/build/Makefile.build:96: polecenia dla obiektu '/usr/src/linux-5.0.9/tools/objtool/arch/x86/decode.o' nie powiodły się
make[4]: *** [/usr/src/linux-5.0.9/tools/objtool/arch/x86/decode.o] Błąd 2
/usr/src/linux-5.0.9/tools/build/Makefile.build:139: polecenia dla obiektu 'arch/x86' nie powiodły się
make[3]: *** [arch/x86] Błąd 2
Makefile:49: polecenia dla obiektu '/usr/src/linux-5.0.9/tools/objtool/objtool-in.o' nie powiodły się
make[2]: *** [/usr/src/linux-5.0.9/tools/objtool/objtool-in.o] Błąd 2
make[2]: *** Oczekiwanie na niezakończone zadania....
Makefile:65: polecenia dla obiektu 'objtool' nie powiodły się
make[1]: *** [objtool] Błąd 2
Makefile:1699: polecenia dla obiektu 'tools/objtool' nie powiodły się
make: *** [tools/objtool] Błąd 2
make: *** Oczekiwanie na niezakończone zadania....
CC scripts/mod/devicetable-offsets.s
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/sumversion.o
HOSTCC scripts/mod/file2alias.o
HOSTLD scripts/mod/modpost
CC kernel/bounds.s
CC arch/x86/kernel/asm-offsets.s
CALL scripts/checksyscalls.sh
GNU nano 2.7.4 Plik: /etc/environment
CHOST="MilczarskiVon"
CFLAGS="-03-march=ivybridge -mtune=ivybridge"
CXXFLAGS="${CFLAGS}"
-
Po pierwsze primo - nie możesz sobie ustawić CHOST na "z księżyca", musi się zgadzać z resztą systemu (w skrócie - opisuje typ systemu, biblioteki standardowej i procesora). Poczytaj tutaj (https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable).
Po drugie primo - masz błąd w CFLAGS, brak spacji po O3
Po trzecie primo - nie wymuszaj architektury w CFLAGS. Możesz ewentualnie wybrać docelowy procesor w konfiguracji kernela, np w wersji z łatkami Gentoo, ale nigdy w inny sposób.
Po czwarte primo - nigdy nie zmieniaj optymalizacji przy kompilacji kernela. Niektóre optymalizacje generują kod niepoprawny w kernel-landzie.
Możesz popatrzeć na kompilację kernela i jego konfiguracje w ClearLinuksie (https://clearlinux.org/).
Cytat z gentoo-user (https://groups.google.com/d/msg/linux.gentoo.user/UFRY6XJ_uEI/Idh1y3XPuEkJ)
Short answer: don't even try to use general CFLAGS for a kernel,
you'll badly damage its performance.
Long answer: context switching between integer and floating point
is very expensive, that's why kernel is integer only, any
non-integer calculations are implemented using fixed point (integer
numbers from CPU's POW). That's why kernel makes sure that no
floating point instructions sneaks in using CFLAGS, you may see a
lot of -mno-${intrucion_set} flags when running make -V. Futhermore
kernel needs several memory alignment flags which should not be
removed as well.
The proper way to fine-tune CFLAGS for a local CPU support will be
to use kernel-gcc-patches[1], as was pointed in other reply already.
This code will ensure that proper CPU support is enabled while
keeping all floating point instructions disabled. Just apply a
patch and select native arch in CPU arch menu.
-
żadne z powyższych podpowiedzi nie naprawia błędu przy make
jest problem z objtools
mój /etc/environment wygląda teraz tak
GNU nano 2.7.4 Plik: /etc/environment
CHOST="MilczarskiVon"
CFLAGS="-03 -march=ivybridge -mtune=ivybridge"
CXXFLAGS="${CFLAGS}"
jak domyślnie powinien wyglądać chost jeśli moja nazwa nie pasuje do czegoś ?
Czy rezygnować z flag march ??? Przecież to podstawa optymalizacjii i proszę nie sugerować się zagranicznymi forami wiem co piszę. Flaga march to podstawa i trzeba wybrać właściwy procesor poprostu tak było jest i będzie. Krytyków flagi march nie rozumiem. Zrozumiał bym jeszcze krytykę flagi mtune ...A tak apropo jakie flagi najlepiej wybrać pod przeglądarki chromium i firefox ?? Jak obejść błędy make ?? Wiem że jak czegoś się nie doinstaluje to nie pójdzie. Pliku makefile nie umiem edytować. Działa jeszcze pod debianem xfree86 ?? Mam do złożenia artykuł o dobrym podkręcaniu debiana własnej roboty . Gdzie go wkleić ?? Dzisiaj się za ten artykuł wezmę będzie to kamień węgielny polskiego internetu . Wszystko od systemu plików ,fstaba ,gouvernera ,gruba po przeglądarkę. Tylko że kernel to podstawa zdaje się . Tak apropo konfigurował ktoś system plików JFS na desktop ?? Jakie flagi JFS akceptuje ?? Czy da się wyłączyć w JFS writecache czy jak tam .
-
po edycjii environement robię make clean
i
root@MilczarskiVon:/usr/src/linux-5.0.9# make -j3
HOSTCC scripts/kconfig/conf.o
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf --syncconfig Kconfig
HOSTCC arch/x86/tools/relocs_32.o
HOSTCC arch/x86/tools/relocs_64.o
HOSTCC scripts/genksyms/genksyms.o
YACC scripts/genksyms/parse.tab.c
HOSTCC arch/x86/tools/relocs_common.o
LEX scripts/genksyms/lex.lex.c
HOSTLD arch/x86/tools/relocs
YACC scripts/genksyms/parse.tab.h
HOSTCC scripts/genksyms/parse.tab.o
DESCEND objtool
HOSTCC scripts/selinux/genheaders/genheaders
/bin/sh: 1: Syntax error: Unterminated quoted string
HOSTCC scripts/genksyms/lex.lex.o
/bin/sh: 1: Syntax error: Unterminated quoted string
HOSTCC /usr/src/linux-5.0.9/tools/objtool/fixdep.o
HOSTCC scripts/selinux/mdp/mdp
HOSTLD /usr/src/linux-5.0.9/tools/objtool/fixdep-in.o
LINK /usr/src/linux-5.0.9/tools/objtool/fixdep
HOSTLD scripts/genksyms/genksyms
/bin/sh: 1: Syntax error: "(" unexpected
/usr/src/linux-5.0.9/tools/build/Makefile.build:96: polecenia dla obiektu '/usr/src/linux-5.0.9/tools/objtool/arch/x86/decode.o' nie powiodły się
make[4]: *** [/usr/src/linux-5.0.9/tools/objtool/arch/x86/decode.o] Błąd 2
/usr/src/linux-5.0.9/tools/build/Makefile.build:139: polecenia dla obiektu 'arch/x86' nie powiodły się
make[3]: *** [arch/x86] Błąd 2
Makefile:49: polecenia dla obiektu '/usr/src/linux-5.0.9/tools/objtool/objtool-in.o' nie powiodły się
make[2]: *** [/usr/src/linux-5.0.9/tools/objtool/objtool-in.o] Błąd 2
make[2]: *** Oczekiwanie na niezakończone zadania....
CC /usr/src/linux-5.0.9/tools/objtool/exec-cmd.o
HOSTCC scripts/bin2c
HOSTCC scripts/kallsyms
HOSTCC scripts/conmakehash
CC /usr/src/linux-5.0.9/tools/objtool/help.o
CC /usr/src/linux-5.0.9/tools/objtool/pager.o
HOSTCC scripts/recordmcount
CC /usr/src/linux-5.0.9/tools/objtool/parse-options.o
CC /usr/src/linux-5.0.9/tools/objtool/run-command.o
HOSTCC scripts/sortextable
CC /usr/src/linux-5.0.9/tools/objtool/sigchain.o
HOSTCC scripts/asn1_compiler
CC /usr/src/linux-5.0.9/tools/objtool/subcmd-config.o
LD /usr/src/linux-5.0.9/tools/objtool/libsubcmd-in.o
AR /usr/src/linux-5.0.9/tools/objtool/libsubcmd.a
Makefile:65: polecenia dla obiektu 'objtool' nie powiodły się
make[1]: *** [objtool] Błąd 2
Makefile:1699: polecenia dla obiektu 'tools/objtool' nie powiodły się
make: *** [tools/objtool] Błąd 2
make: *** Oczekiwanie na niezakończone zadania....
HOSTCC scripts/extract-cert
-
Spróbuj mu dać samo "make", a nie "make -j3"
-
make
HOSTCC scripts/basic/fixdep
HOSTCC arch/x86/tools/relocs_32.o
HOSTCC arch/x86/tools/relocs_64.o
HOSTCC arch/x86/tools/relocs_common.o
HOSTLD arch/x86/tools/relocs
HOSTCC scripts/genksyms/genksyms.o
YACC scripts/genksyms/parse.tab.c
HOSTCC scripts/genksyms/parse.tab.o
LEX scripts/genksyms/lex.lex.c
YACC scripts/genksyms/parse.tab.h
HOSTCC scripts/genksyms/lex.lex.o
HOSTLD scripts/genksyms/genksyms
HOSTCC scripts/selinux/genheaders/genheaders
HOSTCC scripts/selinux/mdp/mdp
HOSTCC scripts/bin2c
HOSTCC scripts/kallsyms
HOSTCC scripts/conmakehash
HOSTCC scripts/recordmcount
HOSTCC scripts/sortextable
HOSTCC scripts/asn1_compiler
HOSTCC scripts/extract-cert
HOSTCC scripts/mod/mk_elfconfig
CC scripts/mod/empty.o
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/modpost.o
CC scripts/mod/devicetable-offsets.s
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
CC kernel/bounds.s
CC arch/x86/kernel/asm-offsets.s
CALL scripts/checksyscalls.sh
DESCEND objtool
/bin/sh: 1: Syntax error: Unterminated quoted string
/bin/sh: 1: Syntax error: Unterminated quoted string
HOSTCC /usr/src/linux-5.0.9/tools/objtool/fixdep.o
HOSTLD /usr/src/linux-5.0.9/tools/objtool/fixdep-in.o
LINK /usr/src/linux-5.0.9/tools/objtool/fixdep
CC /usr/src/linux-5.0.9/tools/objtool/exec-cmd.o
CC /usr/src/linux-5.0.9/tools/objtool/help.o
CC /usr/src/linux-5.0.9/tools/objtool/pager.o
CC /usr/src/linux-5.0.9/tools/objtool/parse-options.o
CC /usr/src/linux-5.0.9/tools/objtool/run-command.o
CC /usr/src/linux-5.0.9/tools/objtool/sigchain.o
CC /usr/src/linux-5.0.9/tools/objtool/subcmd-config.o
LD /usr/src/linux-5.0.9/tools/objtool/libsubcmd-in.o
AR /usr/src/linux-5.0.9/tools/objtool/libsubcmd.a
/bin/sh: 1: Syntax error: "(" unexpected
/usr/src/linux-5.0.9/tools/build/Makefile.build:96: polecenia dla obiektu '/usr/src/linux-5.0.9/tools/objtool/arch/x86/decode.o' nie powiodły się
make[4]: *** [/usr/src/linux-5.0.9/tools/objtool/arch/x86/decode.o] Błąd 2
/usr/src/linux-5.0.9/tools/build/Makefile.build:139: polecenia dla obiektu 'arch/x86' nie powiodły się
make[3]: *** [arch/x86] Błąd 2
Makefile:49: polecenia dla obiektu '/usr/src/linux-5.0.9/tools/objtool/objtool-in.o' nie powiodły się
make[2]: *** [/usr/src/linux-5.0.9/tools/objtool/objtool-in.o] Błąd 2
Makefile:65: polecenia dla obiektu 'objtool' nie powiodły się
make[1]: *** [objtool] Błąd 2
Makefile:1699: polecenia dla obiektu 'tools/objtool' nie powiodły się
make: *** [tools/objtool] Błąd 2
root@MilczarskiVon:/usr/src/linux-5.0.9#
-
proszę nie sugerować się zagranicznymi forami wiem co piszę.
Dobra, doczyściłem opluty monitor. Jeżeli jesteś omnismoriar1 z list Debiana, to czeka nas ciekawy czas na forum.
-
dzięki ...te czasy kiedy jestem osobą publiczną są dla niektórych na wagę czystego szwajcarskiego złota
-
dzięki ...te czasy kiedy jestem osobą publiczną są dla niektórych na wagę czystego szwajcarskiego złota
Nalegam byś nie wnosił tutaj śmieciowego kontentu.
-
dziękuję za uwagę
-
/bin/sh: 1: Syntax error: "(" unexpected
/usr/src/linux-5.0.9/tools/build/Makefile.build:96: polecenia dla obiektu '/usr/src/linux-5.0.9/tools/objtool/arch/x86/decode.o' nie powiodły się
make[4]: *** [/usr/src/linux-5.0.9/tools/objtool/arch/x86/decode.o] Błąd 2
/usr/src/linux-5.0.9/tools/build/Makefile.build:139: polecenia dla obiektu 'arch/x86' nie powiodły się
make[3]: *** [arch/x86] Błąd 2
Makefile:49: polecenia dla obiektu '/usr/src/linux-5.0.9/tools/objtool/objtool-in.o' nie powiodły się
make[2]: *** [/usr/src/linux-5.0.9/tools/objtool/objtool-in.o] Błąd 2
Makefile:65: polecenia dla obiektu 'objtool' nie powiodły się
make[1]: *** [objtool] Błąd 2
Makefile:1699: polecenia dla obiektu 'tools/objtool' nie powiodły się
make: *** [tools/objtool] Błąd 2
-
Wklejanie tego samego bledu jest bezcelowe,
lepiej zapoznaj sie z dokumentacja https://www.kernel.org/doc/html/v5.0/process/changes.html
lub skompiluj jak Ci radzą ;)
Poniewaz
1. Korzystanie z domyslnych opcji jest to najlepszy sposób jesli nie potrafisz poprawiac kodu.
2. Zawsze mozesz sprawdzic na innym kernelu.
( jesli dzialalo wczesniej zawsze mozesz developerom zglosic blad )
3. Zawsze mozesz sprawdzic i porownac pliki budowania roznych dystrybucji.
Dodatkowo przy budowaniu
- wiedz ze lista zaleznosci moze sie zmniejszyc w zaleznosci od wybranych opcji w .config
- zawsze sprawdzaj wersje zaleznosci czy jest "odpowiednia", jesli cos sie nie kompiluje
Edytowane
I jeszcze sobie mozesz przetestowac nawet na innej dystrybucji, np. Gentoo
https://wiki.gentoo.org/wiki/Safe_CFLAGS#Ivy_Bridge
-
A ja mam inne pytanie. Z jakiegoś powodu chcesz skompilować kernel, w dodatku już lekko przykryty patyną (ostatnia wersja 5.0 to 5.0.16, a nie 5.0.9. Podstawowe pytanie: po co to robisz? Kompilacja kernela ma sens wyłącznie wówczas, jeśli coś potrzebujesz zmienić w domyślnym kernelu. Jeśli potrzebujesz nowszych wersji kernela, to z desktopowych masz np. liquorix kernel, xanmod i pewnie jeszcze kilka innych, które są dla Debiana. Po prostu instaluj binarkę.
Co innego, jeśli chcesz się nauczyć kompilacji kernela (ale gdzie mi tam do Prezydenta Debiana na Polskę, by cokolwiek sugerować) lub Twój sprzęt wymaga jakichś niestandardowych ustawień w configu.