Paweł Prażak
Paweł Prażak

Reputation: 3191

Installing SystemC 2.2.0, compilation with GCC 4.6 and package for Fedora

How to install SystemC on Fedora 15?

Problems:

Upvotes: 1

Views: 2028

Answers (2)

Jeremy Bennett
Jeremy Bennett

Reputation: 11

In addition to the previous answer, you also need to patch sc_utils_ids.cpp to add missing headers.

--- 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 {

Upvotes: 1

Paweł Prażak
Paweł Prażak

Reputation: 3191

There is extremely useful and well writen blog post by Chitlesh Goorah, please read it first.

Then what reminds is how to compile SystemC library with GCC 4.6. You can add -fpermissive, but I strongly advice against it.

Instead there are 4 lines of code that needs to be changed, here is the patch:

--- 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;

As a bonus, changes above make this header to work with Clang (tested with 3.0).

Upvotes: 4

Related Questions