最近在编译dovecot时,遇到了一个头疼的问题,configure时出错,以前没遇到过,查了资料,写的也不尽详细,一直没找到好的办法,直到从一个外文网站上看到这么一个出错信息后,试了一下,生效!
在此把修正过程发于此处,供遇到此问题的朋友参考!
错误1:
- configure: error: cannot run C compiled programs.
- If you meant to cross compile, use `--host'.
- See `config.log' for more details.
解决1:
用./config.guess查出操作平台
- #./config.guess
- i686-pc-linux-gnu
在configure 后加入 --host=i686-pc-linux-gnu(./config.guess所得结果)
错误2:
- checking whether we can use epoll... configure: error: in `/root/dovecot-2.0.8':
- configure: error: cannot run test program while cross compiling
- See `config.log' for more details
解决2:
在configure 前加 i_cv_epoll_works=yes 解决
注,因为用--cache-file=i686-pc-linux-gnu.cache方式不好使,所以把上述字段加到configure前边
错误3:
- checking whether we can use epoll... (cached) yes
- checking whether we can use inotify... configure: error: in `/root/dovecot-2.0.8':
- configure: error: cannot run test program while cross compiling
- See `config.log' for more details
这些问题一个劲出,没办法,索性把网上查的资料全搬出来,加到configure前边,configure通地
- i_cv_epoll_works=yes
- i_cv_inotify_works=yes
- i_cv_posix_fallocate_works=yes
- i_cv_signed_size_t=no
- i_cv_gmtime_max_time_t=32
- i_cv_signed_time_t=yes
- i_cv_mmap_plays_with_write=yes
- i_cv_fd_passing=yes
- i_cv_c99_vsnprintf=yes
- lib_cv_va_copy=yes
- lib_cv___va_copy=yes
- lib_cv_va_val_copy=yes
上述选顶可根据需要进行设置!
make
make install
通过!
阅读(9921) | 评论(0) | 转发(0) |