【问题标题】:Can not configure Mapnik due to icuuc由于 icuuc 无法配置 Mapnik
【发布时间】:2013-08-14 18:28:46
【问题描述】:

尝试在 OSX 10.8 上编译 Mapnik

所以在我克隆 Github 存储库后,我会像这样运行配置命令: ./configure 然后得到错误:
Checking for C++ library icuuc... no
Could not find required header or shared library for icuuc

及以后: Exiting... the following required dependencies were not found:
- icuuc (ICU C++ library | configure with ICU_LIBS & ICU_INCLUDES or use ICU_LIB_NAME to specify custom lib name | more info: http://site.icu-project.org/)

查看 Mapnik 故障排除区域以寻求解决方案:https://github.com/mapnik/mapnik/wiki/InstallationTroubleshooting

说:Solution: If g++ is available then ICU must be in a custom location so set the paths to the libs and includes - ie. ICU_LIBS=/usr/local/lib and ICU_INCLUDES=/usr/local/include.

通过从命令行运行g++,我得到:i686-apple-darwin11-llvm-g++-4.2: no input files

所以这意味着 g++ 可用,但我不知道如何设置路径以便 configure 可以找到它们。

ICU 库是默认安装或使用自制软件安装的,不确定是哪个。

terminal: brew install icu4c
Warning: icu4c-51.1 already installed

找到icu4c安装目录:
terminal: mdfind icu4c
/usr/local/Cellar/icu4c

【问题讨论】:

  • 你安装了 ICU 库和头文件吗?
  • 我有,但我有一种感觉,他们没有被找到或在他们的默认目录中。这不是我第一次遇到 ICU 问题。编辑问题以显示安装了哪个 ICU。
  • 二进制文件不一定表示正在安装的库(开发端)或头文件(我对 brew 一无所知,所以如果 brew 总是将所有三个安装在一起,可能会使用 brew)。无论如何,如果正确的部分安装在 /usr/local/Cellar 下并且 g++ 未配置为默认查看那里,那么您只需在运行 configure 之前将那些 ICU_* 环境标志设置到您的 shell 中的正确位置。
  • 其实就是安装了icu4c的目录,还有lib、include、bin等的子目录。所以你是对的,configure 没有在那里,但老实说我不知道​​如何“导出那些 ICU_* 环境标志”。在运行 ./configure 之前,我在终端中尝试过这个,但没有成功。
  • 您在问题中引用的错误为您提供了示例值。您只需要修改它们以指向您系统的正确路径(可能是 /usr/local/Cellar/icu4c/lib 和 /usr/local/Cellar/icu4c/include)然后export ICU_LIBS ICU_INCLUDES

标签: makefile osx-mountain-lion configure mapnik


【解决方案1】:

您可以将 ICU_LIB/INCLUDE 的路径添加到您的配置命令中:

./configure ICU_INCLUDES=/usr/local/Cellar/icu4c/include ICU_LIBS=/usr/local/Cellar/icu4c/lib

有关配置接受哪些选项的更多帮助:

./configure --help 

对于安装参考,你可以检查这个: https://github.com/mapnik/mapnik/blob/v2.2.0/INSTALL.md

【讨论】:

  • 这是正确答案。 Mapnik 期望 icu 路径之类的配置选项作为参数。
【解决方案2】:

根据我们的讨论和我的最后评论,类似以下内容可能会起作用。

export ICU_LIBS=/usr/local/Cellar/icu4c/lib
export ICU_INCLUDES=/usr/local/Cellar/icu4c/include
./configure

【讨论】:

  • 尝试使用更正的路径运行这些命令(通过 CD 找到该目录),但 ./configure 仍然找不到它们。
  • 给这个人答案,因为他在这里和聊天中都很有帮助。我通过从源代码编译 libicuuc 解决了这个问题,然后发出 make install
【解决方案3】:

如果你发现同样的错误:

Checking for C++ library XXX... no

听从命令

sudo apt-get install g++ libXXX-dev

使用提示(TAB 按钮),您可以查看可用的 XXX 库

sudo apt-get install libXXX(press double TAB)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-01
    • 2022-07-21
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 2012-09-11
    • 2021-11-19
    相关资源
    最近更新 更多