1 |
Em 17/10/07, Daniel Medeiros<m3g1st@×××××.com> escreveu: |
2 |
|
3 |
> Pessoal, to precisando de uma ajuda aqui. Uso linux e computador ha um ano e |
4 |
> dois meses e um mes de Gentoo. |
5 |
|
6 |
Usa "computador" e "linux" a um ano e pouco? Então já começou usando |
7 |
linux? (Algo realmente incomum) |
8 |
|
9 |
> Eu reinstalei o sistema sem a biblioteca TLS, para instalar a XEN, e agora |
10 |
> estou tendo um problema para recompilar o kernel. |
11 |
|
12 |
Perai, reinstalou o sistema só pra tirar o tls? Esse tipo de |
13 |
procedimento não tem cabimento no gentoo justamente porque o portage é |
14 |
muito eficiente no gerenciamento dos pacotes. Se você queria tirar o |
15 |
tls do sistema bastava fazer "emerge --unmerge tls && emerge --deep |
16 |
--update --newuse world && emerge --depclean && revdep-rebuild". Se o |
17 |
tls não fosse dependência de nada esses procedimentos removeriam |
18 |
qualqure vestigio dela do sistema. |
19 |
|
20 |
Além disso eu não entendi o que o tls tem a ver com o xen. |
21 |
|
22 |
A propósito, o kernel que está dando problema é o do xen? |
23 |
|
24 |
> Dei suporte pro |
25 |
> -fomit-frame-pointer na glibc que não tava compilando. beleza, com isso o |
26 |
> sistema parou de travar e de eu ter que dar revdep com cd de recuperação, |
27 |
> mas continuo sem conseguir recompilar o kernel que dá um impossível de |
28 |
> remover no driver "crypto" (?), e meu iptables_nat não sobe mais. |
29 |
|
30 |
A glibc não tava compilando sem -fomit-frame-pointer? Mas tu ta usando |
31 |
-O3... Dá uma olhada no man do gcc: "Enabled at levels -O, -O2, -O3, |
32 |
-Os.". E além disso não tem algo precisar de um parâmetro de |
33 |
otimização pra poder ser compilado. |
34 |
|
35 |
Além disso tu disse que o sistema tava travando. Tudo bem, mas o |
36 |
revdep-rebuild não é o tipo de ferramenta que resolve problemas de |
37 |
travamento. |
38 |
|
39 |
Você poderia explicar melhor o "impossível de remover no driver \"crypto\""? |
40 |
|
41 |
E o que é o iptables_nat que você diz? O módulo pro kernel? |
42 |
|
43 |
> Abaixo vai meu make.conf. Inclusive se houver alguma sugestão de melhoria, |
44 |
> ou alguma bobagem que coloquei agradeceria sugestões. |
45 |
> |
46 |
> CXXFLAGS="${CFLAGS}" |
47 |
|
48 |
Primeiramente. O emerge quando carrega o make.conf para o ambiente |
49 |
dele vai inserindo as variáveis definidas no make.conf linearmente, ou |
50 |
seja, no seu caso ele carrega o CXXFLAGS antes de carregar o CFLAGS. |
51 |
Eu não sei se você sabe, mas toda vez que você chama uma variável com |
52 |
um $ na frente você está dizendo ao shell para substituir o nome da |
53 |
variável pelo valor dela. Então, observe, quando você define a |
54 |
variável CXXFLAGS você invoca o valor da variável CFLAGS, mas a |
55 |
variável CFLAGS ainda não existe, então o valor da sua variável |
56 |
CXXFLAGS fica vazio, ou seja, todos os seus programas que usam C++ |
57 |
estão sendo compilados sem nenhum parâmetro de otimização. |
58 |
|
59 |
> CFLAGS="-march=athlon -pipe -O3 -fomit-frame-pointer -funroll-all-loops |
60 |
> -mno-tls-direct-seg-refs" |
61 |
|
62 |
Hm... Você disse que usa computador a um ano e pouco. Mas esse seu |
63 |
computador foi comprado novo a um ano e pouco? Se sim ele não pode ser |
64 |
um Athlon comum como você colocou no seu march, deve ser um Sempron ou |
65 |
Athlon 64. Athlon comum é o meu que eu tenho em casa, um |
66 |
athlon-thunderbird de 1ghz que eu comprei no início de 2003. |
67 |
|
68 |
Vocês está usando o nível de otimização 3, o que não é recomendado a |
69 |
partir do gcc4, quando as otimizações ficaram mais agressivas e |
70 |
instáveis. Muitas vezes as otimizações agressivas podem ser um tiro |
71 |
pela culatra, pois bibliotecas otimizadas agressivamente podem ficar |
72 |
instáveis e prejudicar programas que usam elas e dando mais dor de |
73 |
cabeça do que se o problema fosse simplesmente com o programa em |
74 |
questão. Além disso otimizações geralmente aumentam o tamanho do |
75 |
código, fazendo com que ocupem mais memória, o que geralmente é ruim. |
76 |
|
77 |
Bom... o "-funroll-all-loops" é o parâmetro mais abominável que você |
78 |
poderia ter escolhido pois desenrolando todos os loops o tamanho de |
79 |
alguns binários aumenta absurdamente, consequentemente o uso de |
80 |
memória também. E veja bem, enquanto você economiza alguns |
81 |
milisegundos com loops desenrolados você faz o kernel gastar alguns |
82 |
milisegundos a mais tendo que gerenciar bem mais memória alocada. |
83 |
Enquanto isso você poderia ter as mesmas funcionalidades com bem mais |
84 |
memória livre, então, não vale a pena. |
85 |
|
86 |
E você poderia explicar o porque do "-mno-tls-direct-seg-refs"? |
87 |
|
88 |
> CHOST="i686-pc-linux-gnu" |
89 |
> MAKEOPTS="-j3" |
90 |
> AUTOCLEAN="yes" |
91 |
|
92 |
O AUTOCLEAN="yes" é automático, não precisa definir. |
93 |
|
94 |
> FEATURES="${FEATURES} -userfetch buildpkg ccache" |
95 |
|
96 |
A variável FEATURES não precisa ser definida recursivamente, o portage |
97 |
ja faz isso automaticamente. |
98 |
|
99 |
> FETCHCOMMAND="/usr/bin/getdelta.sh \${URI}" |
100 |
> LINGUAS="pt_BR en" |
101 |
|
102 |
O "en" também é automático, não preisa definir. |
103 |
|
104 |
> CCACHE_SIZE="3G" |
105 |
> VIDEO_CARDS="nvidia via dummy v4l vesa" |
106 |
> |
107 |
> USE="-qt -scanner -kerberos -ipv6 -oss -apm -kde -xmms -gpm -gnome \ |
108 |
> -oracle -oracle7 -apm -pcmcia -plotutils -ladspa -esd -evo -eds \ |
109 |
> -arts -emboss -smartcard nls x86 avi berkdb bitmap-fonts jikes \ |
110 |
> crypt cups encode fortran f77 gdbm gif imlib jpeg libg++ \ |
111 |
> libwww mad mikmod motif mpeg ncurses nls oggvorbis opengl pam \ |
112 |
> pdflib png python readline sdl spell ssl svga tcpd truetype X \ |
113 |
> xml2 xv zlib alsa apache2 vim-syntax php bash-completion acpi \ |
114 |
> dns bzip2 cddb cairo directfb fbcon ftp gd mime minimal mp3 \ |
115 |
> mplayer pdf sox tetex usb xvid cdr cdparanoia dri foomaticdb \ |
116 |
> gstreamer v41 fam aalib cscope -javascript -gtk -qt3 -qt4 \ |
117 |
> symlink -java lua mozilla dga firefox imagemagick imap -krb4 \ |
118 |
> libcaca lm_sensors sockets svg v4l win32codecs xulrunner xvmc zoran \ |
119 |
> vidix v4l2 aac openal hal dvd dvdr dvdread dv dvb flac \ |
120 |
> videos vhosts ggi a52 offensive -debug -bindist musepack quicktime \ |
121 |
> -doc mmx 3dnow" |
122 |
|
123 |
Acho que essa USE v41 não existe, só v4l. Além disso não é necessário |
124 |
usar a "\" pra indicar quebra de linha quando se abre uma áspa, |
125 |
enquanto as áspas não forem fechadas o shell continua colocando tudo |
126 |
que vem pra dentro da variável, mesmo que ele encontre uma quebra de |
127 |
linha. |
128 |
|
129 |
> GENTOO_MIRRORS="ftp://ftp.las.ic.unicamp.br/pub/gentoo/ " |
130 |
> SYNC="rsync://rsync.samerica.gentoo.org/gentoo-portage" |
131 |
> |
132 |
> CONFIG_PROTECT=-/etc/conf.d/hdparm |
133 |
> |
134 |
> |
135 |
> obs. to adorando o Gentoo. Dei bobeira de não usar antes... |
136 |
|
137 |
Por enquanto era isso. |
138 |
|
139 |
Até. |
140 |
-- |
141 |
gentoo-user-br@g.o mailing list |