2014-02-11 :-)
_ [NetBSD][マニュアル][man][PDF]NetBSD マニュアルの PDF を作成する
hubertf が「マニュアル印刷して持ち歩こうぜ」と言っていた[ 20140117#p06 ]のでやってみた。
とりあえず make
% cd /usr/src/share/man/man0 % make /bin/sh mkman Preparing data ... : Chewing on man7pages.pdf sh: /usr/src/tooldir.NetBSD-6.1.2-i386/bin/nbsed: not found ps2pdf: not found Chewing on man8pages.pdf sh: /usr/src/tooldir.NetBSD-6.1.2-i386/bin/nbsed: not found ps2pdf: not found Chewing on man9pages.pdf sh: /usr/src/tooldir.NetBSD-6.1.2-i386/bin/nbsed: not found ps2pdf: not found
エラー
ps2pdf ってなんだよ
ググる
pkgsrc.se - ./meta-pkgs/netbsd-www
netbsd-www ぽい?
cd /usr/pkgsrc/meta-pkgs/netbsd-www
Makefile を見たらそれっぽいのあった。これらしい。
USE_TOOLS+= perl:run ps2pdf:run
netbsd-www を make する。
: /bin/sh ./config.status --recheck CXX libgv_lua_la-gv_lua.lo In file included from gv_lua.cpp:1525:0: ../../config.h:568:0: warning: "NO_POSTSCRIPT_ALIAS" redefined <command-line>:0:0: note: this is the location of the previous definition gv_lua.cpp:5733:1: error: elements of array 'const luaL_reg swig_commands []' have incomplete type gv_lua.cpp:5733:1: error: storage size of 'swig_commands' isn't known gv_lua.cpp: In function 'int luaopen_gv(lua_State*)': gv_lua.cpp:6029:19: error: 'LUA_GLOBALSINDEX' was not declared in this scope *** Error code 1 Stop. make: stopped in /usr/pkgsrc/graphics/graphviz/work/graphviz-2.34.0/tclpkg/gv *** Error code 1 Stop. make: stopped in /usr/pkgsrc/graphics/graphviz/work/graphviz-2.34.0/tclpkg/gv cd .. && /usr/bin/make am--refresh /bin/sh ./config.status --recheck make: don't know how to make gv/pkgIndex.tcl. Stop make: stopped in /usr/pkgsrc/graphics/graphviz/work/graphviz-2.34.0/tclpkg *** Error code 1 Stop. make: stopped in /usr/pkgsrc/graphics/graphviz/work/graphviz-2.34.0/tclpkg
おこなの
「pkgsrc でエラーになるならバイナリパッケージを入れればいいじゃない」( Re: meta-pkgs/xfce4 XML::Parser... configure: error ) と言われたこともあるので pkg_add する。
設定
PATH="/usr/pkg/sbin:$PATH" PKG_PATH="ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/6.1.2/All/" export PATH PKG_PATH
以降 エラーになるやつはすべて pkg_add していく。netbsd-www も pkg_add すればいいじゃない とか言わない。
pkg_add graphviz-2.34.0nb5 pkg_add doxygen-1.8.5 pkg_add boehm-gc-7.2e pkg_add jasper-1.900.1nb7 :
netbsd-www を入れ終えたら再度作る。
作ってみたものの PDF が 3KB しかなかった。
make のログを見たら怒られていた。
: grops:<standard input> (<standard input>):459122: duplicate `x res' command grops:<standard input> (<standard input>):459122:warning: too many arguments on current line grops:<standard input> (<standard input>):459123: duplicate `x init' command grops:<standard input> (<standard input>):460678:warning: no final `x stop' command for i in 1 2 3 4 5 6 7 8 9 ; do echo Chewing on man${i}pages.pdf ; /usr/src/tooldir.NetBSD-6.1.2-i386/bin/nbsed -e '/^\/level0 0 def/d' -e '/^\/level0 save/d' -e '/^level0 restore/d' <man${i}pages.ps >man${i}pages.ps.tmp ; ps2pdf man${i}pages.ps.tmp man${i}pages.pdf ; rm man${i}pages.ps.tmp ; done Chewing on man1pages.pdf sh: /usr/src/tooldir.NetBSD-6.1.2-i386/bin/nbsed: not found Chewing on man2pages.pdf sh: /usr/src/tooldir.NetBSD-6.1.2-i386/bin/nbsed: not found Chewing on man3pages.pdf sh: /usr/src/tooldir.NetBSD-6.1.2-i386/bin/nbsed: not found Chewing on man4pages.pdf sh: /usr/src/tooldir.NetBSD-6.1.2-i386/bin/nbsed: not found Chewing on man5pages.pdf sh: /usr/src/tooldir.NetBSD-6.1.2-i386/bin/nbsed: not found Chewing on man6pages.pdf sh: /usr/src/tooldir.NetBSD-6.1.2-i386/bin/nbsed: not found Chewing on man7pages.pdf sh: /usr/src/tooldir.NetBSD-6.1.2-i386/bin/nbsed: not found Chewing on man8pages.pdf sh: /usr/src/tooldir.NetBSD-6.1.2-i386/bin/nbsed: not found Chewing on man9pages.pdf sh: /usr/src/tooldir.NetBSD-6.1.2-i386/bin/nbsed: not found
nbsed が無いらしい。nbsed は /usr/src/tooldir にあるらしいので tools を作る。なぜ tools の sed なんて使うんだ?と思ったが man0 が /usr/src/share/man/man0 にあるから tools に依存させてるのか。
% cd /usr/src % ./build.sh tools
再度 make
% cd /usr/src/share/man/man0 % make
今度こそ ok