Pagina 1 di 1

[c] asm/io.h not found

Inviato: sabato 27 settembre 2008, 15:29
da Tanino Rulez
Salve a tutti,stavo cercando di compilare un piccolo scriptino in C quando mi accorgo del seguente messaggio di errore

Codice: Seleziona tutto

prova.c:4:20: error: asm/io.h: Nessun file o directory
naturalmente ho cercato nel forum e googlato 1 pò,ho installato dai repository il pacchetto kernel-package,riavviato ma niente.. stesso errore

ho provato anche ad includere magari asm-i386/io.h ma lo stesso non me lo trova..

invece nella cartella include del mio kernel ho questo output

Codice: Seleziona tutto

acpi          asm-frv        asm-mips     asm-sparc    crypto    net     xen
asm           asm-generic    asm-parisc   asm-sparc64  Kbuild    pcmcia
asm-alpha     asm-h8300      asm-powerpc  asm-um       keys      rdma
asm-arm       asm-ia64       asm-ppc      asm-v850     linux     rxrpc
asm-avr32     asm-m32r       asm-s390     asm-x86      math-emu  scsi
asm-blackfin  asm-m68k       asm-sh       asm-xtensa   media     sound
asm-cris      asm-m68knommu  asm-sh64     config       mtd       video
non c'è la l'header... qualcuno mi illumina plz? grazie :)



edit: ho scoperto però questo

Codice: Seleziona tutto

#include </usr/include/sys/io.h>[/code

ed effettivamente c'è io.h e se la includo al posto di asm il codice viene compilato.. allora ho anche 1 altra domanda a questo punto: sono la stessa cosa asm/io.h e /usr/include/sys/io.h?

Re: [c] asm/io.h not found

Inviato: domenica 28 settembre 2008, 10:17
da lurebu
La butto lì ..

potrebbero esserci delle differenze nell'implementazione delle librerie (Non credo gli header) magari ottimizzate per processore. Anche se questo è un compito del compilatore, essendo in una directory 'asm' mi fa pensare che abbiano del codice assembler incluso, già ottimizzato, che il compilatore inserirebbe così com'è.

Ma sono solo illazioni. Dal punto di vista delle funzionalità, io.h è io.h. Non credo ci sia qualcuno talmente folle da creare un file io.h diverso... Direi quindi con buona approssimazione che sono uguali.

Poi nel caso più semplice, secondo me, è solo che il tizio che ti ha passato il sorgente ... gli headers ce li aveva in quella directory asm ;)

Re: [c] asm/io.h not found

Inviato: lunedì 29 settembre 2008, 15:33
da Tanino Rulez
mi sono informato e mi hanno detto che semplicemente ubuntu metti alcune librerie asm in sys :)

Re: [c] asm/io.h not found

Inviato: lunedì 29 settembre 2008, 17:09
da lurebu
looool

non sapevo che io.h .. fosse originale in asm ..
avrei detto il contrario ;)

Re: [c] asm/io.h not found

Inviato: giovedì 2 ottobre 2008, 10:14
da gaspa
lurebu ha scritto: looool

non sapevo che io.h .. fosse originale in asm ..
avrei detto il contrario ;)
ma veramente sono due cose diverse ....  in include/sys/ c'e` codice indipendente dal sistema, in asm/ tipicamente ci sono cose piu' di basso livello e che spesso dipendono dal sistema.
In teoria sys/io.h dovrebbe includere asm/io.h...
Tanino Rulez ha scritto: mi sono informato e mi hanno detto che semplicemente ubuntu metti alcune librerie asm in sys :)
???? bastona chi te l'ha detto. :D
Ubuntu fa quel che fa la libreria C... :)

Infine:
Tanino Rulez ha scritto:

Codice: Seleziona tutto

prova.c:4:20: error: asm/io.h: Nessun file o directory[/code
naturalmente ho cercato nel forum e googlato 1 pò,ho installato dai repository il pacchetto kernel-package,riavviato ma niente.. stesso errore
[/quote]

non devi installare kernel-package, devi avere installato il pacchetto "build-essential".

[quote]
[code]#include </usr/include/sys/io.h>[/code
ed effettivamente c'è io.h e se la includo al posto di asm il codice viene compilato.. allora ho anche 1 altra domanda a questo punto: sono la stessa cosa asm/io.h e /usr/include/sys/io.h?
Questo e' brutto, non mettere mai i path completi e assoluti nei sorgenti.
#include <sys/io.h>
DEVE funzionare cosi'... altrimenti c'e` qualcosa che non va.[/code]

Re: [c] asm/io.h not found

Inviato: giovedì 2 ottobre 2008, 17:48
da Tanino Rulez
scusate se rispondo tardi,cmq si certo ho naturalmente incluso solo sys/io.h

Comunque l'ho letto in giro non ricordo dove che sono la stessa cosa,altri dicono di no... non lo so sinceramente per questo chiedevo.. quando usavo la slackware bastava asm/io.h :)