Установка SystemC 2.2.0, компиляция с GCC 4.6 и пакета для Fedora - PullRequest
1 голос
/ 02 сентября 2011

Как установить SystemC на Fedora 15?

Проблемы:

  • нет пакета RPM (проблемы с лицензированием)
  • не компилируется с 4.6
  • даже с -fpermissive (clang не компилирует ваши модули)

Ответы [ 2 ]

4 голосов
/ 02 сентября 2011

Существует очень полезная и хорошо написанная запись в блоге от Читлеш Гура, пожалуйста, прочитайте ее сначала.

Тогда что напоминает, как скомпилировать библиотеку SystemC с GCC 4.6. Вы можете добавить -fpermissive, но я настоятельно рекомендую против него .

Вместо этого есть 4 строки кода, которые необходимо изменить, вот патч:

--- src/sysc/datatypes/bit/sc_bit_proxies.h 2007-03-14 17:47:49.000000000 +0000
+++ src/sysc/datatypes/bit/sc_bit_proxies.h.mod 2011-09-02 13:53:34.318379140 +0000
@@ -713,7 +713,7 @@

 protected:

-    mutable X& m_obj;
+    X&         m_obj;
     int        m_hi;
     int        m_lo;
     int        m_len;
@@ -1190,10 +1190,10 @@

 protected:

-    mutable X&   m_left;
-    mutable Y&   m_right;
+            X&   m_left;
+            Y&   m_right;
     mutable int  m_delete;
-    mutable int& m_refs;
+            int& m_refs;

В качестве бонуса вышеуказанные изменения заставляют этот заголовок работать с Clang (протестировано с 3.0).

1 голос
/ 02 ноября 2011

В дополнение к предыдущему ответу, вам также нужно исправить sc_utils_ids.cpp, чтобы добавить отсутствующие заголовки.

--- src/sysc/utils/sc_utils_ids.cpp     2006-12-15 20:31:39.000000000 +0000
+++ src/sysc/utils/sc_utils_ids.cpp.mod 2011-11-02 15:49:10.431948273 +0000
@@ -59,6 +59,9 @@
 //

 #include "sysc/utils/sc_report.h"
+// Jeremy Bennett 2 Nov 11. Patched for GCC 4.6.
+#include <cstdlib>
+#include <cstring>


 namespace sc_core {
...