【问题】
折腾:
【记录】尝试恢复基于cygwin的docbook环境
的过程中,出现找不到fop的问题。
【解决过程】
1. make的输出如下:
E:\Dev_Root\docbook\dev\books\arm_vs_mips\src>make release_copy =============================== generating fo ============================== export XML_CATALOG_FILES="/home/develop/docbook/config_root/catalog/catalog.xml" && \ export XML_DEBUG_CATALOG=1 && \ xsltproc –xinclude –stringparam callout.graphics 1 –stringparam admon.graphics 1 –stringparam callout.graphics.number.limit 30 –s tringparam callout.graphics.extension .svg –stringparam callout.graphics.path E:/Dev_Root/docbook/dev/config/images/system/callouts/ –stri ngparam admon.graphics.extension .svg –stringparam admon.graphics.path E:/Dev_Root/docbook/dev/config/images/system/colorsvg/ -o ../output/ fo/arm_vs_mips.fo docbook_fo_crl.xsl arm_vs_mips.xml Resolve: sysID docbook_fo_crl.xsl -2147483592 Parsing catalog /home/develop/docbook/config_root/catalog/catalog.xml /home/develop/docbook/config_root/catalog/catalog.xml added to file hash Resolve URI docbook_fo_crl.xsl Found URI match docbook_fo_crl.xsl Resolve: pubID crl.ent sysID https://www.crifan.com/files/res/docbook/entity/crl.ent Found public match crl.ent Making portrait pages on A4 paper (210mmx297mm) Catalogs cleanup Free catalog entry crl.ent Free catalog entry /home/develop/docbook/tools_root/docbook-xsl-ns-1.77.1/ Free catalog entry docbook_html.xsl Free catalog entry docbook_fo.xsl Free catalog entry /home/develop/docbook/config_root/docbook-xsl-ns-1.77.1/ Free catalog entry docbook_html_crl.xsl Free catalog entry chunk_html_crl.xsl Free catalog entry docbook_htmlhelp_crl.xsl Free catalog entry docbook_fo_crl.xsl Free catalog entry /home/develop/docbook/config_root/catalog/catalog.xml Free catalog entry =============================== generating pdf ============================== fop –execdebug -c E:/Dev_Root/docbook/dev/config/fop/conf/fop.xconf ../output/fo/arm_vs_mips.fo -pdf ../output/pdf/arm_vs_mips.pdf make: fop: Command not found ../../../config/docbook.mk:386: recipe for target `../output/pdf/arm_vs_mips.pdf’ failed make: *** [../output/pdf/arm_vs_mips.pdf] Error 127 E:\Dev_Root\docbook\dev\books\arm_vs_mips\src> |
很明显,fop没找到。
2.然记得也是FOP_HOME的变量,应该就搞定的。
但是还是想要找到介绍资料,确认一下。
3.参考:
E:\Dev_Root\docbook\tools\fop-1.0\README |
中的:
http://xmlgraphics.apache.org/fop/stable/running.html
结果打不开该链接。
4.后来找到:
Running Apache™ FOP
找了半天,也没见到有说这个FOP_HOME的。
5. 最后还是参考自己的:
【软件开发基础知识】XXX_HOME环境变量
去先打开cygwin环境,找到对应的本地fop路径:
E:\Dev_Root\docbook\tools\fop-1.0 |
所对应的cygwin中的路径是什么。
6. 即,解决fop问题之前,还是先要去解决右键添加cygwin的事情:
【已解决】为docbook环境而去添加右键运行cygwin
7.搞定右键运行cygwin的事情后,再去针对fop目录,用此RunCygwin:
得到当前路径为:
/cygdrive/e/Dev_Root/docbook/tools/fop-1.0 |
截图如下:
8.然后把此路径,添加到新建的环境变量
FOP_HOME=/cygdrive/e/Dev_Root/docbook/tools/fop-1.0 |
截图:
9.然后再去对应docbook下面某个book的src中去试试能否找到fop,结果错误依旧。
看来是忘了把bin目录加到path中了:
path中添加上:
再重试,还是不行。
然后才发现,原来fop的可执行文件是在根目录下的,不是bin下面。
所以,重新改为:
path中添加上:
再试试,然后终于可以执行了。
【总结】
如果在cygwin(的docbook环境)中找不到fop,则:
1.找到fop所在路径对应的cygwin的路径
比如fop所在路径:
E:\Dev_Root\docbook\tools\fop-1.0 |
对应的cygwin路径:
/cygdrive/e/Dev_Root/docbook/tools/fop-1.0 |
2.添加环境变量FOP_HOME为fop的cygwin路径:
FOP_HOME=/cygdrive/e/Dev_Root/docbook/tools/fop-1.0 |
3.把fop的可执行文件(
- windows下是fop.bat
- linux下是fop
)的路径,添加到path中,此处是win7,所以:
path中,添加:
即可。
转载请注明:在路上 » 【已解决】为docbook环境修复找不到fop的问题
Post Views: 1,116