统一转换器是一个与 sK1 项目共享代码的命令行工具。它用于将一种类型的矢量图形文件转换为另一种类型的矢量图形文件,如下所示:
uniconvertor before.eps after.svg
我正在寻找一个逐步的解决方案来在我的笔记本电脑上安装此工具。
一个相似的在 Uniconvertor 论坛上发布的问题8 月份提出的问题至今仍未得到答复。
答案1
我有安装了 MacPorts 软件包的 Lion。
我将在这里描述我为使编译工作所做的所有工作。可能有些步骤是不必要的,也许在 sk1libs 或 uniconvertor 编译之前必须安装一些附加库(使用 MacPorts)才能使其工作。
我的回答基于@bitboxer 的回答并进行了一些补充。
下载
我使用了这里提供的链接:http://sk1project.org/modules.php?name=Products&product=uniconvertor&op=download
下载并解压 uniconvertor 和 sk1libs
sk1libs 安装
第一次尝试
我首先运行了以下命令:
$ export LDFLAGS="-L/usr/X11/lib"
$ export CFLAGS="-I/usr/X11/include -I/usr/X11/include/freetype2 -I/usr/X11/include/libpng15"
$ python setup.py build
请注意,libpng 版本是 15(而不是 @bitboxer 答案中的 12)。我在 /usr/X11/include 目录中搜索时注意到了这一点。
这产生了一些错误:
ld: library not found for -llcms
collect2: ld returned 1 exit status
ld: library not found for -llcms
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/3w/5x6f3w0n4rg0w6sdq2n_48j00000gn/T//cc8y3Erh.out (No such file or directory)
error: command 'llvm-gcc-4.2' failed with exit status 1
故障排除
因此我试图弄清楚我是否已经安装了 lcms 库:
$ locate lcms
...
/opt/local/include/lcms.h
...
/opt/local/lib/liblcms.a
....
lcms 由 MacPort 安装在我的计算机上(lcms 似乎是 Inkscape 的依赖项)。
第二次尝试:成功
所以我这样做了:
$ export LDFLAGS="-L/usr/X11/lib -L/opt/local/lib/"
$ export CFLAGS="-I/usr/X11/include -I/usr/X11/include/freetype2 -I/usr/X11/include/libpng15 -I/opt/local/include"
将 MacPorts 包含和 lib 目录添加到编译标志中。
然后:
$ python setup.py build
最后没有出现任何错误(但有一些警告)。
然后:
$ sudo python setup.py install
Uniconvertor 安装
同样的事情(我在 sk1libs 编译之后立即运行它,所以 LDFLAGS 和 CFLAGS 值是相同的):
$ python setup.py build
$ sudo python setup.py install
答案2
下载sk1libs
并uniconvertor
解压。打开 Terminal.app 并进入 sk1libs 目录。执行以下命令:
export LDFLAGS="-L/usr/X11/lib"
export CFLAGS="-I/usr/X11/include -I/usr/X11/include/freetype2 -I/usr/X11/include/libpng12"
python setup.py build
sudo python setup.py install
之后进入 uniconvert 目录并执行相同操作。这应该可以解决问题。
你可能会收到如下错误:
In file included from src/imaging/libimagingft/_imagingft.c:31: /usr/local/include/ft2build.h:56:10: fatal error: 'freetype/config/ftheader.h' file not found
您可以使用符号链接修复它 - 执行以下命令:
sudo ln -s /usr/local/include/freetype2/freetype/ /usr/include/freetype
答案3
在 Mavericks 中按照上述步骤操作。试了一下,看看是否可行。这样做了:
将 tar.gz 解压到 ~/tmp/uniconvertor-1.1.5 打开终端并 cd ~/tmp/uniconvertor-1.1.5/ sudo python setup.py install 或 su 到 root shell 并 python setup.py install
过程中出现许多警告。我保存了日志并会查看。OSX 需要命令行开发人员工具来获取 cc。它提示我下载。回到 Inkwell 并在尝试导入时出现此错误。
以下:Inkwell 的错误控制台似乎有点模糊。如果有人想弄清楚,我会在这里发布。我将其归结为我认为可以“轻松尝试”的结果。
墨水瓶错误:
UniConvertor failed:
Traceback (most recent call last):
File "/usr/local/bin/uniconvertor", line 13, in <module>
uniconv_run()
File "/Library/Python/2.7/site-packages/uniconvertor/__init__.py", line 83, in uniconv_run
from app.io import load
File "/Library/Python/2.7/site-packages/uniconvertor/app/__init__.py", line 69, in <module>
from conf.configurator import Configurator
File "/Library/Python/2.7/site-packages/uniconvertor/app/conf/configurator.py", line 11, in <module>
from app.events import connector
File "/Library/Python/2.7/site-packages/uniconvertor/app/__init__.py", line 69, in <module>
from conf.configurator import Configurator
File "/Library/Python/2.7/site-packages/uniconvertor/app/conf/configurator.py", line 13, in <module>
from sk1libs.utils.fs import gethome
ImportError: No module named sk1libs.utils.fs
答案4
今天我已经在我的 Snow Leopard 上成功安装了 UniConvertor:
- 下载自软百科
- 将 tar.gz 解压为
~/tmp/uniconvertor-1.1.5
- 打开一个终端并
cd ~/tmp/uniconvertor-1.1.5/
sudo python setup.py install
或者su
到 root shell 和python setup.py install
现在它运行起来非常好。