2010-03-25 110 views
0

我有一個問題 - 我無法編譯SqlCipher。 我正在使用這個http://groups.google.com/group/sqlcipher/browse_thread/thread/55c6296b56bf4533/c792bbec6df7d4f4?tvc=2#c792bbec6df7d4f4指令(thx到Sam),但仍然無法編譯它。我做了以下幾點:SqlCipher 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 

怎麼了?

回答

2

這看起來像是你的msys/mingw安裝給我的問題。如果您查看配置結果,則會顯示rm失敗,並且實際上在配置中間轉儲了核心。我會認真考慮卸載MinGW和msys並從頭重新安裝它。驗證一些基本命令是否有效(即rm),然後嘗試從源重建。

另外需要注意的是,如果你沒有安裝TCL,標準的合併版本將會失敗。因此,您應該在msys下安裝TCL,安裝ActiveState發行版,並將tclsh鏈接到tclsh85,或者使用--disable-agmalization配置SQLCipher。

+0

謝謝Stephen。你的建議有幫助!但還有另一個麻煩。我把它分組發佈。 – ILya 2010-03-25 16:12:27

1

我有完全一樣的問題,這是我已經解決了它

你必須首先從here

安裝TCL現在,打開C:\ MSYS \ 1.0 \等\ fstab文件與文本編輯器並在最後加上這一行: c:/Tcl/tcl