FreeBSD的ports系统虽然很强大,但有个问题:安装某个软件的过程可能会很漫长,所以很多人会希望是无人值守,但这个过程中经常出现菜单需要人工输入一些选项,导致自动安装无法继续进行。如果您希望这些选项全都采用默认值,有2种方法可以解决这个问题:
1、运行make命令时加入相应的参数:make BATCH=yes install
2、修改/etc/make.conf配置文件,加入BATCH=yes这一行
我在编译CMake时发现,生成的可执行文件很大,经过长时间的检查比对,最后发现问题出在编译参数上面,可以修改3个环境变量:
CFLAGS=‘-O2 -pipe -fno-strict-aliasing’
CXXFLAGS=‘-O2 -pipe -fno-strict-aliasing’
CPPFLAGS=‘-O2 -pipe -fno-strict-aliasing’
在CMake自举之后会生成等值的CMAKE_C_FLAGS/CMAKE_CXX_FLAGS参数,保存在CMakeCache.txt文件中,从而影响编译结果。如果您不是第一次编译CMake,就要把原先生成的CMakeCache.txt文件删除之后再重新编译。
在FreeBSD环境下编译出来的目标,要比使用相同的编译参数的OS X下的小很多。
编辑文件/boot/loader.conf,加入参数:hw.ata.ata_dma=”0″,以后开机都会自动关闭DMA功能了!