Cairo
=====
Mac 自带了 Cairo 库, 但是版本已经很老了 (1.8.6).
许多程序都要求 >= 1.10.0
从brew里安装了新的 cairo, 由于brew为了防止破坏原先系统上的软件依赖, 因此没有为pkg-config安装对应的 .pc 文件.
因此, 我在编译 pycairo 时, 还是会找到旧的 cairo.
解决方法很简单, 当需要用到新版本cairo时, 可以:
1. export PKG_CONFIG_PATH=/path/to/cairo/pc/file 这样, pkg-config就会找到新版本cairo的.pc文件.
2. 使用正确的 LDFLAGS 和 CPPFLAGS 进行编译.
由于 pycairo 使用了一个叫 waf 的东西进行编译, 而我有又没找到在哪里定义方法2所提到的变量,
因此只能使用方法1.
libpng
=======
Mac 自带了 X11.app (也叫 XQuartz), 是 Apple 版本的 X11, 基于 Xorg. 里面自带了 libpng 1.2.
最新版本的 XQuartz 使用了 libpng 1.4. 但是安装了它会造成许多 confusion. 而旧的 X11.app 用起来也没什么大问题.
于是最好把新的 XQuartz 卸载掉.
具体方法见:
主要是:
sudo rm -rf /opt/X11* /Library/Launch*/org.macosforge.xquartz.* /Applications/Utilities/XQuartz.app /etc/*paths.d/*XQuartzsudo pkgutil --forget org.macosforge.xquartz.pkg
No comments:
Post a Comment