2013年5月18日土曜日

(FreeBSD) portsのdatabases/sqlite3で、sqlite3.c:23349: error: 'posix_fallocate' undeclared here (not in a function)

FreeBSD 8.3-RELEASE-p3なマシンにて、portsのdatabases/sqlite3をmakeすると

sqlite3.c:23349: error: 'posix_fallocate' undeclared here (not in a function)

というエラーがでました。



とりあえず、な対処方法。
sqlite-autoconf-3071601のMakefileにて、



DEFS = -DPACKAGE_NAME=\"sqlite\" -DPACKAGE_TARNAME=\"sqlite\" -DPACKAGE_VERSION=\"3.7.16.1\" -DPACKAGE_STRING=\"sqlite\ 3.7.16.1\" -DPACKAGE_BUGREPORT=\"http://www.sqlite.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"sqlite\" -DVERSION=\"3.7.16.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_DECL_STRERROR_R=1 -DHAVE_STRERROR_R=1 -DHAVE_READLINE=1 -DHAVE_POSIX_FALLOCATE=1



とかなっているので、このなかの「-DHAVE_POSIX_FALLOCATE=1」を削除してから、もう一度、portsのディレクトリにてmakeすればOKな気がします。



なぜconfigureがposix_fallocate()があると勘違いするのかは、よく調べてないのでわかりません[E:coldsweats01]



ちなみに、posix_fallocate()は、FreeBSDの8系には無くて、9系だとあるのかも。



20130517



1 件のコメント:

  1. Thanks man, i had the same problem building it inside a jail!
    Worked like a charm!

    返信削除