• Welcome to LusoRobótica - Robótica em Português.
 

dúvida Linux

Started by SJD22, 15 de May de 2014, 11:23

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SJD22

Não sei se há aqui alguém expert em Linux... eu não sou nem pouco mais ou menos.

tenho um ficheiro chamado "build" que é do tipo link localizado em "/lib/modules/3.4.75+/build". Está a vermelho por isso é um broken link pq esta a apontar para um sitio que não existe.

Eu estou a tentar instalar um driver (faço Make). So que ao correr o Makefile com o comando make tenho um erro a dizer "build: no such file or directory", justamente porque esse link "build" está a apontar para um sitio que não existe. Penso que foi alguma instalação mal feita... não sei.

Pergunta: esse build é suposto apontar para onde? Qual o sitio correcto?

msr

Não será suposto o make criar essa directoria no entanto não ter permissões para tal?
Se for disso experimenta: "sudo make" ou "sudo make install"

metRo_

O ideal era partilhares o make ou projecto para perceber o que faz o make. Pode bastar criar uma pasta chamada build na raiz onde estas a executar o make para não teres que estar a usar o sudo.

zedlav

Boas a pasta build aponta para os headers do kernel linux. Se isso for um debian falta-te o pacote linux-headers.
No meu amd64 a pasta build aponta "build -> /usr/src/linux-headers-3.2.0-4-amd64".
Mas como isso é um arm ve qual o nome dos pacotes disponiveis para essa distribuição linux.
$apt-cache search linux-headers

Depois de saberes qual é o pacote a ser instalado faz.
#apt-get install nome-do-pacote
ou
$sudo apt-get install nome-do-pacote

Depois disto volta a fazer make e diz se mostra um novo erro ou se correu tudo bem.

Boa sorte.





SJD22

obrigado!!

Logo já faço isso e digo coisas!

SJD22

Olá. Já listei os pacotes que tenho disponiveis:


linux-headers-3.2.0-4-all - All header files for Linux 3.2 (meta-package)
linux-headers-3.2.0-4-all-armhf - All header files for Linux 3.2 (meta-package)
linux-headers-3.2.0-4-common - Common header files for Linux 3.2.0-4
linux-headers-3.2.0-4-mx5 - Header files for Linux 3.2.0-4-mx5
linux-headers-3.2.0-4-omap - Header files for Linux 3.2.0-4-omap
linux-headers-3.2.0-4-vexpress - Header files for Linux 3.2.0-4-vexpress
linux-headers-2.6-mx5 - Header files for Linux mx5 configuration (dummy package)
linux-headers-2.6-omap - Header files for Linux omap configuration (dummy package)
linux-headers-mx5 - Header files for Linux mx5 configuration (meta-package)
linux-headers-omap - Header files for Linux omap configuration (meta-package)
linux-headers-vexpress - Header files for Linux vexpress configuration (meta-package)


E agora como sei qual é?

Tentei instalar 1 deles mas o link "build" continua a apontar para o mesmo sitio que eu ontem tinha obrigado a apontar: /usr/src/linux-headers-3.2.0-4-common/. Antes de o apontar para aqui ele apontava para um sitio que nao existia e por isso estava a vermelho (broken link).

O tempo que um gajo perde com coisas que deviam ser rapidas... :)

metRo_

mas quando fazes make agora qual é o problema? partilha o make é mais facil.

SJD22

Dá isto:


root@a13-OLinuXino:/home/olimex/XPTO2/GobiSerial# make
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions Module.* modules.order
make -C /lib/modules/3.4.75+/build M=/home/olimex/XPTO2/GobiSerial modules
make[1]: Entering directory `/usr/src/linux-headers-3.2.0-4-common'

  ERROR: Kernel configuration is invalid.
         include/generated/autoconf.h or include/config/auto.conf are missing.
         Run 'make oldconfig && make prepare' on kernel src to fix it.


  WARNING: Symbol version dump /usr/src/linux-headers-3.2.0-4-common/Module.symvers
           is missing; modules will have no dependencies and modversions.

  CC [M]  /home/olimex/XPTO2/GobiSerial/GobiSerial.o
In file included from <command-line>:0:0:
/usr/src/linux-headers-3.2.0-4-common/include/linux/kconfig.h:4:32: fatal error: generated/autoconf.h: No such file or directory
compilation terminated.
make[2]: *** [/home/olimex/XPTO2/GobiSerial/GobiSerial.o] Error 1
make[1]: *** [_module_/home/olimex/XPTO2/GobiSerial] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-4-common'
make: *** [all] Error 2
root@a13-OLinuXino:/home/olimex/XPTO2/GobiSerial#


fui eu que meti a apontar para o "/usr/src/linux-headers-3.2.0-4-common" ontem a noite.

zedlav

Pelo o que vi não é nenhum pacote desses. Tu estás a usar o kernel 3.4.75+ e esses são mais antigos e não servem para essa placa. Tens de ir a olimex procurar se eles têm o kernel com a source compilado se não vais ter de compilar novamente o kernel tu próprio.

Bem vindo ao mundo Linux  ;D

SJD22

epah.... :) nao era suposto perder tanto tempo nesta fase...

vou explorar a coisa entao...

Hugu

posta a tua duvida no Portugal-a-programar.. nao é que goste la mto deste forum, porque aquilo é meio elitista e só ajudam qdo calha..mas é suposto ter mais experts em linux

senso

Qual é que é a funcionalidade do GobiSerial ao certo?
É que pelo que vejo no github não é actualizado á 2 anos, o olinuxino não existe á 2 anos, ou existe?
Avr fanboy

SJD22

É um driver para Linux para falar com modems 4G pelo protocolo QMI da Qualcomm.

senso

E já viste que o código fala em kernel 2.6.x quando o actual é o 3.15, não fazendo ideia de que kernel o olinuxino usa(faz uname -a e posta aqui), é provavel que isso nunca vá compilar á primeira, e se for código feito a pensar em kernel x86 e esse é um kernel arm, ainda mais chato.
Avr fanboy

SJD22

o que estou a usar é o 3.4.75+.

Na documentação do Gobi diz que aceita qualquer um para cima de 2.6....

Vou continuar a partir um pouco mais de pedra.