2013-10-23 148 views
0

我在最新的Redhawk SDR 1.9安裝說明中苦苦尋找如何讓它在Ubuntu 13.10上運行(我也試過Mint 15無濟於事)。具體來說,我注意到兩兩件事:Ubuntu上的Redhawk 1.9安裝問題13.10

  1. 對於框架-GPP /蟒蛇,它說運行使但這樣做的時候,它說沒有什麼可以做的「所有」。我不確定運行它的意義在於它沒有做任何事情;這導致我相信當我./reconf和./configure時出現了錯誤,但我沒有看到這些錯誤。

  2. 對於framework-bulkioInterfaces,使在bulkio_out_port.cpp上出現故障:error: 'pushSRI' was not declared in this scope and no declarations were found by argument-dependent lookup at the point of instantiation[-fpermissive]

我搜遍了所有,但它看起來並不像其他人有這些問題。

有沒有人有不同的/修改的安裝說明在Ubuntu上編譯和安裝1.9(或只是一個基於Debian的發行版)?

回答

0

第一個問題:編寫GPP的Python會在運行之前自動將Python腳本編譯爲字節代碼文件(.pyc)。由於這是在執行前由Python解釋器完成的,make階段不會產生任何東西。

爲了解決Ubuntu 13.10問題,特別是gcc 4.7+和boost1.50 +,有一系列補丁必須應用於framework-core和framework-bulkioInterfaces。這些補丁已應用於https://github.com/VenturaSolutionsInc/framework-bulkioInterfaces https://github.com/VenturaSolutionsInc/framework-core

已經提出了一組拉請求,以將這些更改推回基準。

bulkioInterfaces需要-fmissive的錯誤是由於GCC不再爲基類範圍執行額外的非限定查找或在過去執行非限定的模板函數查找而發生的更改。見http://gcc.gnu.org/gcc-4.7/porting_to.html

在libsrc/CPP/bulkio_out_port.cpp到pushSRI的所有引用(currentSRIs [流ID]。首先)必須改變,以顯式調用 「這個」,造成這 - > pushSRI(currentSRIs [流ID]。首先) ;

boost和framework的問題是由於對boost :: filesystem v3的boost :: filesystem v2的棄用和移除。兩者之間有什麼變化可以在這裏找到:http://www.boost.org/doc/libs/1_49_0/libs/filesystem/v2/doc/index.htm。修補後的框架可從以下網址下載:https://github.com/VenturaSolutionsInc/framework-core.git

最後,Ubuntu 13.X中boost 1.5+的默認安裝位置已更改,默認情況下configure不會找到它。如果您閱讀上述引用的git項目中的Ubuntu.md,您會看到我包含了標誌--with-boost-libdir =/usr/lib/x86_64-linux-gnu來配置。這告訴自動工具在哪裏可以找到boost 1.5庫。

0

有同樣的問題。降級到GCC-4.6和libboost1.49

+0

因此,通過這兩個更改,您可以使用RH 1.9的IDE生成新代碼,並且它將使用12.04提供的指令進行編譯?這是我的全部麻煩 - 從發行版的基本安裝和安裝RH 1.9開始。它可以編譯1.8個項目,但不能生成和編譯1.9。 – Thomas

0

目前REDHAWK支持Ubuntu 12.04 LTS。可以在這裏找到安裝說明:http://redhawksdr.github.io/Documentation/mainap5.html

在未經測試的操作系統(如Mint 15或Ubuntu 13.10)上安裝時,可能會或可能不會需要額外的步驟或衝突。

爲了回答您的具體問題:運行作出的GPP項目時

  1. 沒有什麼應該發生。您可以選擇跳過該步驟直接進入「sudo make install」。

  2. 這是Ubuntu 13.10特有的問題,特別是它發生的原因是它具有比在Ubuntu 12.04和CentOS 5中找到的版本更嚴格的GCC的更新版本。爲解決此問題,請嘗試定義調用configure時包含「-fpermissive」標誌,該標誌告訴編譯器「將一些關於不符合規範的代碼從錯誤中降級爲警告」,CXXFLAGS變量。爲此,您可以在這樣一行:

CPPFLAGS =「 - fpermissive」的./configure

這應該爲你做的伎倆但是,請記住,在13.10運行紅鷹是未經測試,不支持的。如果你需要基於Debian的安裝,我會推薦使用12.04 LTS。

+0

我在12.04 LTS和CentOS 6.4上遇到了麻煩。當我儘可能嚴格遵守這封信時,我還沒有找到與他們各自的發行版兼容的一套說明。在這兩種情況下,我最終都會遇到無法編譯的組件或設備,因爲未定義「bulkio」 - 就好像內置項目模板對於實際安裝的位置是錯誤的。如果我引入一個1.8項目並且不重新生成它,我可以在沒有問題的情況下重新編譯。 – Thomas

+0

您的環境中的聲音沒有正確設置。如果再次遇到該問題,請在新的堆棧溢出文章中發佈詳細信息 –

+0

事實證明環境很好,但項目需要添加一個端口。此時,合適的標題包含在內,並且項目可以編譯。 – Thomas