$ ./configure之后会出现
configure: error: ./configure failed for unix
configure: error: ./configure failed for tcl
如果没有出现类似错误,说明比较幸运了
$ cd tcl/unix
$ cp configure{,.orig} && sed "s/relid'/relid/" configure.orig > configure
$ cd ../../tk/unix
$ cp configure{,.orig} && sed "s/relid'/relid/" configure.orig > configure
$ cd ..
$ cd ..
$ ./configure
$ make 之后会出现下列错误
cc1: error: unrecognized command line option "-fwritable-strings"
$ find . -name "Makefile"|xargs grep -n "fwritable-strings"
./tix/unix/tk8.3/Makefile:51:TIX_CFLAGS = $(CFLAGS) -fwritable-strings
./libgui/Makefile:74:LIBGUI_CFLAGS = -fwritable-strings
./libgui/src/Makefile:133:LIBGUI_CFLAGS = -fwritable-strings
./libgui/library/Makefile:73:LIBGUI_CFLAGS = -fwritable-strings
把-fwritable-strings注释了就行
$ make -B
$ sudo make install
$ ./snavigator 有可能出现错误
Can't find a usable tk.tcl in the following directories: /usr/share/sourcenav/share/tk8.3 /usr/share/sourcenav/share/tk8.3/tk.tcl: no event type or button # or keysym no event type or button # or keysym while executing "bind Listbox <MouseWheel> { %W yview scroll [expr {- (%D / 120) * 4}] units }" (file "/usr/share/sourcenav/share/tk8.3/listbox.tcl" line 182) invoked from within "source [file join $tk_library listbox.tcl]" invoked from within "if {[string compare $tcl_platform(platform) "macintosh"] && [string compare {} $tk_library]} { source [file join $tk_library button.tcl] so..." (file "/usr/share/sourcenav/share/tk8.3/tk.tcl" line 308) invoked from within "source /usr/share/sourcenav/share/tk8.3/tk.tcl" ("uplevel" body line 1) invoked from within "uplevel #0 [list source $file]" This probably means that tk wasn't installed properly.
可以用"#"注释掉下列文件的
/usr/local/share/tk8.3/listbox.tcl 第182-184行 /usr/local/share/tk8.3/text.tcl 第457-459行
也可以参考网上http://www.hovercool.com/en/%E5%AE%89%E8%A3%85Source_Navigator
但是我打完补丁后并没有解决上面问题。