วันนี้เจอปัญหาเวลาจะ ลง package "pkg" ใน FreeBSD 9 , 32 bit (i386) แล้วเจอปัญหาเกี่ยวกับคำสั่ง make ไม่สามารถใช้งานได้ เกิด error ตามข้างล่างครับ
golf# pkgdb -F
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
"/usr/ports/Mk/bsd.sites.mk", line 957: Malformed conditional (!empty(_PERL_CPAN_ID) && ${_PERL_CPAN_FLAG:tl} == "cpan")
Unknown modifier 't'
"Mk/bsd.port.mk", line 2929: Unclosed conditional/for loop
"Mk/bsd.port.mk", line 2929: Unexpected end of file in for loop.
"Mk/bsd.port.mk", line 6706: Unclosed conditional/for loop
"Mk/bsd.port.mk", line 6706: Unexpected end of file in for loop.
1 open conditional:
at line 1179 (evaluated to true)
make: fatal errors encountered -- cannot continue
can't convert nil into String
golf#
ทำการแก้ปัญหาโดยใช้งานตัว bmake แทน make โดย
#pkg_add -r
http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/ports/i386/packages-9.0-release/devel/bmake-20111111.tbz#cp /usr/bin/make /usr/bin/make.old
#rm /usr/bin/make
#ln -sv /usr/local/bin/bmake /usr/bin/make
แล้วทำการลง pkg เพื่อจะไว้ใช้ในการ install package อื่นๆ ต่อไปครับผม
#cd /usr/ports/ports-mgmt/pkg
#make -m /usr/share/mk UPGRADEPKG=1 install clean
ทำการ convert package จาก port style มาเป็นรูปแบบของ Pkg ครับผม
#pkg2ng