Compiling

在 FreeBSD 錯誤上從原始碼建構 m4:不知道如何製作 ../../build-aux/snippet/c++defs.h

  • March 17, 2020

我正在使用 FreeBSD 13.0-CURRENT(有關更多資訊,請參見此處),並且我想使用GNU m4。下載它的這個版本,配置,並嘗試製作。但它給出了標題中所述的錯誤:錯誤:don't know how to make ../../build-aux/snippet/c++defs.h。有關整個日誌,請參見此處。任何的想法?感謝所有的建議和答案。

EDIT1:確實,我的 m4 版本是 1.4.17。

剛剛在這裡解壓了 m4-1.4.17(Fedora 31;你latest可能是另一個版本……但它似乎是從 2013 年開始的)。有問題的文件在那裡(在build-aux/snippet)。有一個稱為bootstrap包含的腳本,但大概只有直接來自版本控制的源才需要它。

傳統./configure; make舞蹈很好,但在編譯一堆東西後失敗了:

freadahead.c: In function 'freadahead':
freadahead.c:91:3: error: #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib."

對“GNU m4 FreeBSD”的簡單搜尋會導致FreshPorts,FreeBSD 的m4 手冊討論了-g啟動 GNU m4 兼容性的選項。為什麼這些還不夠?大概無論 FreshPorts 帶有什麼更新檔版本都是一個更好的起點(如果它們是文明的並且帶有原始源和單獨的更新檔,那麼將更新檔移植到另一個版本比自己調試這個爛攤子的工作要少)。

引用自:https://unix.stackexchange.com/questions/570646