Dúvidas relacionadas ao Kernel [RESOLVIDO]

1. Dúvidas relacionadas ao Kernel [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 18/12/2008 - 15:16h

Olá, pessoal!

Tenho uma dúvida em relação ao método d instalação do Kernel. Instalando por pacotes, devemos instalar o kernel-source, kernel-headers e tals, mas da maneira compilada, os kernel-headers são instalados automaticamente? Tenho essa dúvida pq quando vou compilar alguns aplicativos, o próprio não consegue encontrar o caminho de certos headers, sendo q eles se encontram no sistema, porém em caminhos diferentes. O q devo fazer? Vou-lhes dar um exemplo. Estou compilando o aplicativo tcptraceroute e, na hora do comando "make", recebo a seguinte msg d erro:

gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -Wall -c main.c
In file included from /usr/include/errno.h:36,
from tcptraceroute.h:29,
from main.c:23:
/usr/include/bits/errno.h:25:34: error: linux/errno.h: Arquivo ou diretório não encontrado
In file included from /usr/include/sys/socket.h:36,
from tcptraceroute.h:31,
from main.c:23:
/usr/include/bits/socket.h:320:24: error: asm/socket.h: Arquivo ou diretório não encontrado
In file included from /usr/include/sys/ioctl.h:27,
from tcptraceroute.h:34,
from main.c:23:
/usr/include/bits/ioctls.h:24:24: error: asm/ioctls.h: Arquivo ou diretório não encontrado
In file included from /usr/include/signal.h:333,
from /usr/include/libnet.h:67,
from tcptraceroute.h:37,
from main.c:23:
/usr/include/bits/sigcontext.h:28:29: error: asm/sigcontext.h: Arquivo ou diretório não encontrado
main.c: In function 'defaults':
main.c:50: warning: pointer targets in passing argument 2 of 'libnet_name2addr4' differ in signedness
main.c:57: warning: pointer targets in passing argument 2 of 'libnet_name2addr4' differ in signedness
make: ** [main.o] Erro 1

Se eu for em kda arquivo e modificar o caminho dos headers, funciona, mas eu vou t muito trabalho. Se alguém puder me ajudar, eu agradeço.

Obrigado!


  


2. MELHOR RESPOSTA

Marcelo A. B. Slomp
mslomp

(usa Slackware)

Enviado em 18/12/2008 - 20:36h

aí é que está. 99,8% dos manuais e howtos "como compilar o kernel", não mencionam um dado importante, justamente acerca da instalação das headers.
o que você precisa fazer é entrar em /usr/src/linux/include e então copiar as headers essenciais para que ao compilar programas que dependam delas possam encontrá-las. há a opção do Makefile, "headers-install", que a princípio é chamada pela target "install", mas em algumas distribuições pode deixar alguns rastros e comportamentos estranhos como esse aí. há um método manual que imho é ainda mais limpo e copia só o essencial:

mãos à obra:
estando em /usr/src/linux/include:
(ou mesmo /usr/src/linux-x.x.x)

# cp -R asm-x86/ /usr/include
# cp -R asm-generic/ /usr/include
# cp -R linux/ /usr/include

e então precisamos criar um link simbólico 'asm':
# cd /usr/include
# ln -s asm-x86/ asm

sempre fiz isso no Slackware e sempre ficou tudo ok, então espero que isso possa ajudar a resolver seu problema.

3. Re: Dúvidas relacionadas ao Kernel [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 19/12/2008 - 21:28h

Velim... c é o kra! Valew!


4. mslomp

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 27/01/2009 - 14:50h

E ae? Blz? Kra, tou com outro problema parecido com esse. Tento compilar um módulo pra rede sem fio e dá o msm problema d falta d cabeçalho, mas no diretório /lib/modules/`uname -r`/build. Gostaria d saber se aquela técnica q vc me passou serve pra esse diretório tb. O erro é esse:

root@camarao:/home/renato/Desktop/rtl8187b-modified/rtl8187# make KBUILD_NOPEDANTIC=1
make -C /lib/modules/2.6.27.8-smp/build M=/home/renato/Desktop/rtl8187b-modified/rtl8187 CC=gcc modules
make[1]: Entering directory `/usr/src/linux-2.6.27.8'
CC [M] /home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.o
In file included from /home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:64:
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187.h:48:27: error: asm/semaphore.h: No such file or directory
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c: In function 'rtl8180_proc_module_init':
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:627: error: 'proc_net' undeclared (first use in this function)
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:627: error: (Each undeclared identifier is reported only once
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:627: error: for each function it appears in.)
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c: In function 'rtl8180_proc_module_remove':
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:633: error: 'proc_net' undeclared (first use in this function)
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c: In function 'rtl8187_rx_urbsubmit':
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:934: warning: passing argument 6 of 'usb_fill_bulk_urb' from incompatible pointer type
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c: In function 'rtl8187_rx_manage_urbsubmit':
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:958: warning: passing argument 6 of 'usb_fill_bulk_urb' from incompatible pointer type
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c: In function 'rtl8180_tx':
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2220: warning: passing argument 6 of 'usb_fill_bulk_urb' from incompatible pointer type
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2227: warning: passing argument 6 of 'usb_fill_bulk_urb' from incompatible pointer type
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c: In function 'rtl8187_usb_initendpoints':
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2294: error: 'struct r8180_priv' has no member named 'pp_rxskb'
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2295: error: 'struct r8180_priv' has no member named 'pp_rxskb'
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2298: error: 'struct r8180_priv' has no member named 'pp_rxskb'
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2298: error: 'struct r8180_priv' has no member named 'pp_rxskb'
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2298: error: 'struct r8180_priv' has no member named 'pp_rxskb'
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2298: error: 'struct r8180_priv' has no member named 'pp_rxskb'
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2304: error: 'struct r8180_priv' has no member named 'pp_rxskb'
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2305: error: 'struct r8180_priv' has no member named 'pp_rxskb'
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2310: error: 'struct r8180_priv' has no member named 'pp_rxskb'
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c: At top level:
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2435: warning: 'struct struct_work' declared inside parameter list
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2435: warning: its scope is only this definition or declaration, which is probably not what you want
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c: In function 'rtl8180_wmm_param_update':
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2437: warning: initialization from incompatible pointer type
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2439: warning: initialization from incompatible pointer type
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c: In function 'rtl8180_init':
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2654: warning: assignment from incompatible pointer type
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:2702: warning: assignment from incompatible pointer type
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c: In function 'rtl8180_adapter_start':
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:3054: warning: unused variable 'bInvalidWirelessMode'
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:3053: warning: unused variable 'SupportedWirelessMode'
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:3052: warning: unused variable 'InitWirelessMode'
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:3051: warning: unused variable 'ieee'
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c: In function 'rtl8187_usb_probe':
/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.c:4059: error: implicit declaration of function 'SET_MODULE_OWNER'
make[2]: *** [/home/renato/Desktop/rtl8187b-modified/rtl8187/r8187_core.o] Error 1
make[1]: *** [_module_/home/renato/Desktop/rtl8187b-modified/rtl8187] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.27.8'
make: *** [modules] Error 2






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts