2010-03-25 5 views
0

J'ai un problème - je ne peux pas compiler SqlCipher. J'utilise ces instructions http://groups.google.com/group/sqlcipher/browse_thread/thread/55c6296b56bf4533/c792bbec6df7d4f4?tvc=2#c792bbec6df7d4f4 (merci à Sam) mais je n'arrive toujours pas à le compiler. Je fais ce qui suit:SqlCipher problème Mingw/msys

$ ./configure --disable-tcl CFLAGS="-DSQLITE_HAS_CODEC -I/usr/usr/src/openssl/i 
nclude" LDFLAGS="-leay32" 
checking build system type... i686-pc-mingw32 
checking host system type... i686-pc-mingw32 
checking for gcc... gcc 
checking for C compiler default output file name... rm: cannot remove directory 
`conftest': Is a directory 
a.exe 
checking whether the C compiler works... yes 
checking whether we are cross compiling... no 
checking for suffix of executables... .exe 
checking for suffix of object files... o 
checking whether we are using the GNU C compiler... yes 
checking whether gcc accepts -g... yes 
checking for gcc option to accept ISO C89... none needed 
checking for a sed that does not truncate output... /bin/sed 
checking for grep that handles long lines and -e... /bin/grep 
checking for egrep... /bin/grep -E 
checking for fgrep... /bin/grep -F 
checking for ld used by gcc... c:/mingw/mingw32/bin/ld.exe 
checking if the linker (c:/mingw/mingw32/bin/ld.exe) is GNU ld... yes 
checking for BSD- or MS-compatible name lister (nm)... /mingw/bin/nm 
checking the name lister (/mingw/bin/nm) interface... BSD nm 
checking whether ln -s works... yes 
checking the maximum length of command line arguments... 8192 
checking whether the shell understands some XSI constructs... yes 
checking whether the shell understands "+="... yes 
checking for c:/mingw/mingw32/bin/ld.exe option to reload object files... -r 
checking for objdump... objdump 
checking how to recognize dependent libraries... file_magic ^x86 archive import| 
^x86 DLL 
checking for ar... ar 
checking for strip... strip 
checking for ranlib... ranlib 
checking command to parse /mingw/bin/nm output from gcc object... ok 
checking how to run the C preprocessor... gcc -E 
checking for ANSI C header files... yes 
checking for sys/types.h... yes 
checking for sys/stat.h... yes 
checking for stdlib.h... yes 
checking for string.h... yes 
checking for memory.h... yes 
checking for strings.h... yes 
checking for inttypes.h... yes 
checking for stdint.h... yes 
checking for unistd.h... yes 
checking for dlfcn.h... no 
checking for objdir... .libs 
checking if gcc supports -fno-rtti -fno-exceptions... no 
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC 
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes 
checking if gcc static flag -static works... yes 
checking if gcc supports -c -o file.o... ./configure: line 10444: 4076 Segmenta 
tion fault  (core dumped) $RM -r conftest 2>/dev/null 
mkdir: cannot create directory `conftest': File exists 
mkdir: cannot create directory `out': File exists 
rmdir: out: Directory not empty 
     0 [main] rm 5688 open_stackdumpfile: Dumping stack trace to rm.exe.stackdu 
mp 
./configure: line 10444: 5688 Segmentation fault  (core dumped) $RM -r conf 
test 
yes 
checking if gcc supports -c -o file.o... (cached) yes 
checking whether the gcc linker (c:/mingw/mingw32/bin/ld.exe) supports shared li 
braries... yes 
checking whether -lc should be explicitly linked in... yes 
checking dynamic linker characteristics... Win32 ld.exe 
checking how to hardcode library paths into programs... immediate 
checking whether stripping libraries is possible... yes 
checking if libtool supports shared libraries... yes 
checking whether to build shared libraries... yes 
checking whether to build static libraries... yes 
checking for a BSD-compatible install...  0 [main] rm 468 open_stackdumpfil 
e: Dumping stack trace to rm.exe.stackdump 
./configure: line 10509: 468 Segmentation fault  (core dumped) rm -rf conf 
test.one conftest.two conftest.dir 
mkdir: cannot create directory `conftest.dir': File exists 
     0 [main] rm 5040 open_stackdumpfile: Dumping stack trace to rm.exe.stackdu 
mp 
./configure: line 10554: 5040 Segmentation fault  (core dumped) rm -rf conf 
test.one conftest.two conftest.dir 
/bin/install -c 
checking for gawk... gawk 
checking for special C compiler options needed for large files... no 
checking for _FILE_OFFSET_BITS value needed for large files... unknown 
checking for _LARGE_FILES value needed for large files... unknown 
checking for int8_t... yes 
checking for int16_t... yes 
checking for int32_t... yes 
checking for int64_t... yes 
checking for intptr_t... yes 
checking for uint8_t... yes 
checking for uint16_t... yes 
checking for uint32_t... yes 
checking for uint64_t... yes 
checking for uintptr_t... yes 
checking for sys/types.h... (cached) yes 
checking for stdlib.h... (cached) yes 
checking for stdint.h... (cached) yes 
checking for inttypes.h... (cached) yes 
checking for usleep... yes 
checking for fdatasync... no 
checking for localtime_r... no 
checking for gmtime_r... no 
checking for localtime_s... no 
checking for tclsh8.4... no 
checking for tclsh... no 
Warning: can't find tclsh - defaulting to non-amalgamation build. 
./configure: line 12322: tclsh: command not found 
configure: Version set to 3.6 
configure: Release set to 3.6.21 
configure: Version number set to 3006021 
checking whether to support threadsafe operation... yes 
checking for library containing pthread_create... no 
checking whether to allow connections to be shared across threads... no 
checking whether threads can override each others locks... no 
checking whether to support shared library linked as release mode or not... no 
checking whether to use an in-ram database for temporary tables... no 
checking if executables have the .exe suffix... unknown 
checking host system type... (cached) i686-pc-mingw32 
checking for library containing tgetent... no 
checking for readline in -lreadline... no 
checking readline.h usability... no 
checking readline.h presence... no 
checking for readline.h... no 
checking for /usr/include/readline.h... no 
checking for /usr/include/readline/readline.h... no 
checking for /usr/local/include/readline.h... no 
checking for /usr/local/include/readline/readline.h... no 
checking for /usr/local/readline/include/readline.h... no 
checking for /usr/local/readline/include/readline/readline.h... no 
checking for /usr/contrib/include/readline.h... no 
checking for /usr/contrib/include/readline/readline.h... no 
checking for /mingw/include/readline.h... no 
checking for /mingw/include/readline/readline.h... no 
checking for library containing fdatasync... no 
configure: creating ./config.status 
config.status: creating Makefile 
config.status: creating sqlite3.pc 
config.status: creating config.h 
config.status: config.h is unchanged 
config.status: executing libtool commands 
     0 [main] rm 5064 open_stackdumpfile: Dumping stack trace to rm.exe.stackdu 
mp 
./config.status: line 1895: 5064 Segmentation fault  (core dumped) rm -fr " 
$tmp" 

[email protected] /usr/usr/src/sqlcipher 
$ make 
make: *** No targets specified and no makefile found. Stop. 

[email protected] /usr/usr/src/sqlcipher 
$ mingw32-make 
tclsh ./tool/mksqlite3h.tcl . >sqlite3.h 
/bin/sh: sqlite3.h: No such file or directory 
mingw32-make: *** [sqlite3.h] Error 1 

Qu'est-ce qui ne va pas?

Répondre

2

Cela ressemble à un problème avec votre installation msys/mingw pour moi. Si vous regardez les résultats de la configuration, cela montre que rm a échoué et a réellement fait basculer le noyau au milieu de la configuration. Je envisagerais sérieusement de désinstaller MinGW et msys et de le réinstaller à partir de rien. Vérifiez que certaines commandes de base fonctionnent (c'est-à-dire rm), puis essayez de reconstruire à partir de la source.

Une autre chose à noter est que si vous n'avez pas installé TCL, la construction standard fusionnée échouera. Vous devez donc installer TCL sous msys, installer la distribution ActiveState et lier tclsh à tclsh85, ou configurer SQLCipher avec --disable-amalgamation.

+0

Merci, Stephen. Votre conseil a aidé! Mais il y a un autre problème. Je l'ai posté en groupes. – ILya

1

J'ai eu exactement le même problème et voilà comment je l'ai résolu

Vous devez d'abord installer tcl de here

Maintenant, ouvrez C: \ msys \ 1.0 \ etc \ fstab avec un texte éditeur et ajouter cette ligne à la fin: c:/Tcl/tcl