由於 cacti 有一個netflow viewer plugin, 但是從網站下載的 ftp://ftp.eng.oar.net/pub/flow-tools/flow-tools-0.66.tar.gz 或 ftp://ftp.eng.oar.net/pub/flow-tools/flow-tools-0.68.tar.gz 解開後,在 ./configure 指令沒有開問題,但用 make 時便出現無法編譯的錯誤,情況如下:
==============================================
# makeMaking all in lib
make[1]: Entering directory `/cacti/flow-tools-0.68/lib'
make all-am
make[2]: Entering directory `/cacti/flow-tools-0.68/lib'
source='ftio.c' object='ftio.o' libtool=no \
depfile='.deps/ftio.Po' tmpdepfile='.deps/ftio.TPo' \
depmode=gcc3 /bin/sh ../depcomp \
gcc -I. -I./lib -I. -I. -I. -g -Wall -g -Wall -c `test -f 'ftio.c'
echo './'`ftio.c
ftio.c: In function 「readn」:
ftio.c:2270: 錯誤:賦值運算中的左值無效
ftio.c: In function 「writen」:
ftio.c:2295: 錯誤:賦值運算中的左值無效
make[2]: *** [ftio.o] Error 1
make[2]: Leaving directory `/cacti/flow-tools-0.68/lib'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/cacti/flow-tools-0.68/lib'
make: *** [all-recursive] Error 1
===========================================
依照情況來看問題應該是 c 語言的語法有問題,所以就先修改 ftio.c 這個檔案,在錯誤的第2270行與2295行的程式改寫如下:
2270行原本程式碼:
(char*)ptr += nread;
改寫為:
ptr = (void*) ((char*) ptr) + nread ;
2296行原本程式碼:
(char*)ptr += nwritten;
改寫為:
ptr = (void*) (((char*) ptr) - nwritten) ;
將改寫後的程式存檔後再執行make 指今,發現原先的錯誤不會出現,但出現更多的相同錯誤在fttlv.c、ftchash.c 這個檔案,所以我們再按照相同方式一一修改,應該就可以了完成make動作,雖然仍會遇到一些警告但仍可以完成。
訂閱:
張貼留言 (Atom)
資料無價
做資訊的都知道 資料備份 很重要,但當資料因不可抗力或人為失誤弄掉了! 到底會想要花多少錢來救資料? 答案常常是越少越好~ 最好是 免費 .... 那誰會要去救 .... 買備份設備就跟買保險一樣,有備無患,但重要的是有沒有買對設備,有備份也要有還原測試驗証,而且最好要一段時...
-
最近ESP32 CAM很流行,買了來試看看,結果300元不到的價格可以有這樣的品質,真的不錯。 在晚上沒有燈光的輔助下性能還可以 ESP32 CAM主板上有個LED燈可用在GPIO4來控制。 由於我這個ESP32 CAM沒有自帶USB連接,必需要外接USB轉TTL的板子,接法也...
-
在FreeNAS上安裝OpenVPN有什麼好處? 最大的好處就是當你的公用IP只有一個, 而且還是動態IP, 你的FreeNAS主機上面裝了好幾個Jail虛擬主機, 這時你就可以人在外面也可以透過OpenVPN來進入這些Jail或是透過這個vpn服務連上在區域網路上的任一個IP主...
-
很多的網路設備都有支援 Syslog 的功能, 而 Syslog 會記錄著該設備的活動, 如錯誤的記錄或使用的記錄都會存在一個名叫 Syslog 的檔案, 通常這個檔案就只會存在主機中, 但當我會有好幾台不同的主機時, 要管理這些記錄就不是件簡單的工作, 所以出來了一套 Open...
沒有留言:
張貼留言