Pagina 1 di 1

compilare cmake con cmake

Inviato: ven 16 ott 2009, 18:44
da cdx1968
Ciao a tutti sono nuovo del forum e di slackware .
volevo compilare cmake-2.6.4 con il cmake presente sul sistema cmake2.6-2
Dopo aver eseguito cmake cmake-directory esegue il configure ,portando a termine il programma .
dopo aver digitato make parte la compilazione col seguente risultato:
Scanning dependencies of target cmsys
[ 0%] Building C object Source/kwsys/CMakeFiles/cmsys.dir/ProcessUNIX.o
In file included from /usr/include/bits/errno.h:25,
from /usr/include/errno.h:36,
from /home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c:60:
/usr/include/linux/errno.h:4:23: error: asm/errno.h: No such file or directory
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c: In function 'cmsysProcess_Execute':
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c:735: error: 'EINTR' undeclared (first use in this function)
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c:735: error: (Each undeclared identifier is reported only once
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c:735: error: for each function it appears in.)
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c: In function 'kwsysProcessWaitForPipe':
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c:1039: error: 'EINTR' undeclared (first use in this function)
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c:1063: error: 'EAGAIN' undeclared (first use in this function)
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c: In function 'cmsysProcess_Kill':
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c:1355: error: 'EINTR' undeclared (first use in this function)
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c: In function 'kwsysProcessCleanup':
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c:1473: error: 'EINTR' undeclared (first use in this function)
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c: In function 'kwsysProcessCleanupDescriptor':
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c:1520: error: 'EINTR' undeclared (first use in this function)
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c: In function 'kwsysProcessClosePipes':
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c:1548: error: 'EINTR' undeclared (first use in this function)
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c: In function 'kwsysProcessCreate':
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c:1741: error: 'EINTR' undeclared (first use in this function)
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c: In function 'kwsysProcessDestroy':
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c:1787: error: 'EINTR' undeclared (first use in this function)
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c: In function 'kwsysProcessFork':
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c:2286: error: 'EINTR' undeclared (first use in this function)
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c: In function 'kwsysProcessesAdd':
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c:2563: error: 'EINTR' undeclared (first use in this function)
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c: In function 'kwsysProcessesRemove':
/home/antares/Desktop/build/cmake-2.6.4/Source/kwsys/ProcessUNIX.c:2600: error: 'EINTR' undeclared (first use in this function)
make[2]: *** [Source/kwsys/CMakeFiles/cmsys.dir/ProcessUNIX.o] Error 1
make[1]: *** [Source/kwsys/CMakeFiles/cmsys.dir/all] Error 2
make: *** [all] Error 2
se qualcuno puo aiutarmi grazie
#-o

Re: compilare cmake con cmake

Inviato: ven 16 ott 2009, 18:47
da Ansa89

Codice: Seleziona tutto

/usr/include/linux/errno.h:4:23: error: asm/errno.h: No such file or directory
Non trova il file "asm/errno.h".

Re: compilare cmake con cmake

Inviato: ven 16 ott 2009, 19:01
da cdx1968
ciao e dove lo vado a prendere scusa? #-o

Re: compilare cmake con cmake

Inviato: ven 16 ott 2009, 19:47
da Ansa89
Di preciso non lo so, però si tratta quasi sicuramente di un errore di inclusione degli header.
Apri il file "/usr/include/linux/errno.h" e alla linea 23 dovresti trovare l'errore.

Re: compilare cmake con cmake

Inviato: ven 16 ott 2009, 20:20
da conraid
hai installato il pacchetto kernel-headers?
linux/errno.h non fa altro che "richiamare" asm/errno.h che a suo volta fa lo stesso con asm-generic/errno.h
quindi controlla di avere

Codice: Seleziona tutto

/usr/include/asm-generic/errno.h
vedo però che Pat lo compila così

Codice: Seleziona tutto

mkdir cmake-build
cd cmake-build
../bootstrap
e poi il configure

Re: compilare cmake con cmake

Inviato: ven 16 ott 2009, 20:38
da cdx1968
non ho installato il pacchetto kernel-headers ho compilato il 2.6.31.3 a mano.
comunque sono i file headers del kernel , sono nei sorgenti.
quello che non capisco e :che ieri sera l'ho compilato e pacchettizzato in tgz .
l'ho installato con upgradepkg --install-new ,poi mi sono accorto di non aver cambiato il prefix da /usr/local a /usr .
li ho disinstallati tutti e due per sicurezza poi ho reinstallato il pacchetto ufficiale e mi ha dato questo errore. :evil:

Re: compilare cmake con cmake

Inviato: ven 16 ott 2009, 20:46
da cdx1968
ho provato col sistema di Pat ma mi da questo errore

Codice: Seleziona tutto

CMake 2.6-4, Copyright (c) 2007 Kitware, Inc., Insight Consortium                       
C compiler on this system is: cc                                                        
C++ compiler on this system is: g++                                                     
Makefile processor on this system is: gmake                                             
g++ is GNU compiler                                                                     
g++ has STL in std:: namespace                                                          
g++ has ANSI streams                                                                    
g++ has streams in std:: namespace                                                      
g++ has sstream                                                                         
g++ has operator!=(string, char*)                                                       
g++ has stl iterator_traits                                                             
g++ has standard template allocator                                                     
g++ has allocator<>::rebind<>                                                           
g++ does not have non-standard allocator<>::max_size argument                           
g++ has stl containers supporting allocator objects                                     
g++ has header cstddef                                                                  
g++ requires template friends to use <>                                                 
g++ supports member templates                                                           
g++ has standard template specialization syntax                                         
g++ has argument dependent lookup                                                       
g++ has struct stat with st_mtim member
g++ has ANSI for scoping
---------------------------------------------
g++ -I/home/antares/Desktop/cmake-build/cmake-2.6.4/Source   -I/home/antares/Desktop/cmake-build/Bootstrap.cmk -c /home/antares/Desktop/cmake-build/cmake-2.6.4/Source/cmake.cxx -o cmake.o
g++ -I/home/antares/Desktop/cmake-build/cmake-2.6.4/Source   -I/home/antares/Desktop/cmake-build/Bootstrap.cmk -c /home/antares/Desktop/cmake-build/cmake-2.6.4/Source/cmakemain.cxx -o cmakemain.o
g++ -I/home/antares/Desktop/cmake-build/cmake-2.6.4/Source   -I/home/antares/Desktop/cmake-build/Bootstrap.cmk -c /home/antares/Desktop/cmake-build/cmake-2.6.4/Source/cmakewizard.cxx -o cmakewizard.o
g++ -I/home/antares/Desktop/cmake-build/cmake-2.6.4/Source   -I/home/antares/Desktop/cmake-build/Bootstrap.cmk -c /home/antares/Desktop/cmake-build/cmake-2.6.4/Source/cmCommandArgumentLexer.cxx -o cmCommandArgumentLexer.o
In file included from /usr/include/bits/errno.h:25,
                 from /usr/include/errno.h:36,
                 from cmCommandArgumentLexer.cxx:22:
/usr/include/linux/errno.h:4:23: error: asm/errno.h: No such file or directory
cmCommandArgumentLexer.cxx: In function 'int cmCommandArgument_yylex_init(void**)':
cmCommandArgumentLexer.cxx:1898: error: 'EINVAL' was not declared in this scope
cmCommandArgumentLexer.cxx:1905: error: 'ENOMEM' was not declared in this scope
cmCommandArgumentLexer.cxx: In function 'int cmCommandArgument_yylex_init_extra(cmCommandArgumentParserHelper*, void**)':
cmCommandArgumentLexer.cxx:1931: error: 'EINVAL' was not declared in this scope
cmCommandArgumentLexer.cxx:1938: error: 'ENOMEM' was not declared in this scope
gmake: *** [cmCommandArgumentLexer.o] Error 1
---------------------------------------------
Error when bootstrapping CMake:
Problem while running gmake
---------------------------------------------
Log of errors: /home/antares/Desktop/cmake-build/Bootstrap.cmk/cmake_bootstrap.log

Re: compilare cmake con cmake

Inviato: ven 16 ott 2009, 21:30
da conraid
cdx1968 ha scritto:non ho installato il pacchetto kernel-headers ho compilato il 2.6.31.3 a mano.
comunque sono i file headers del kernel , sono nei sorgenti.
come hai visto li cerca in /usr/include, quindi non prende quelli dei sorgenti
o li installi a mano o installi il pacchetto. Solitamente si preferisce installare il pacchetto in quando "andrebbero" installati gli include con cui si sono compilate le glibc

Re: compilare cmake con cmake

Inviato: ven 16 ott 2009, 22:01
da cdx1968
mi interesserebbe molto l'installazione manuale ,anche perche non so dove andare a prendere il pacchetto headers del 2.6.31.3

Risolto compilare cmake con cmake

Inviato: sab 17 ott 2009, 22:06
da cdx1968
ho risolto reinstallando il pacchetto kernel-headers-2.6.29-6_smp.
ma mi permetto di porgevi una domanda :gli headers presenti nel codice sorgente del nuovo kernel non vengono usati?
se avessi eliminato i pacchetti del kernel precedente come facevo a compilare?