delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

30 May 2012

GNU libtool 和 FreeBSD 10

FreeBSD 开始用 10 以上的版本号有一段时间了。这个变动立刻导致了大量 ports 无法编译,多数情况下是因为开发者采用了较早版本的 libtool 导致的,具体来说,是类似下面的代码:


    case $host_os in
    freebsd[123]*) objformat=aout ;;
    *) objformat=elf ;;
    esac

解法是在星号前面加个小数点。

前段时间的半夜 make 总是在 OpenOffice 上通不过,结果发现是同样的原因。囧死了……当初匹配的时候打个.会死吗?

(这个问题已经在 libtool 2.4.2 以上版本中修正)。教训是,即使是代码生成器,重复的代码导致维护成本的增加。