Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] SystemC installation on Ubuntu 11.10

Status
Not open for further replies.

gurunath.kadam

Newbie level 6
Newbie level 6
Joined
May 3, 2011
Messages
11
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
Darmstadt, Germany
Activity points
1,366
Hi everybody,
I know most people have faced same problem. After extensive search and trying various options i am putting a request here.
My OS: Ubuntu 11.10
Target SW: SystemC-2.2.0
after exploiting various options like 1. direct ./configure in systemc-2.2.0 folder and 2. in objdir; I am getting following error after make command:

--------------------------------------------------------Error-------------------------------------------------------------------------------------------------------
Code:
gurunath@Kstar-VirtualBox:~/Documents/systemc-2.2.0/objdir$ make
Making all in src
make[1]: Entering directory `/home/gurunath/Documents/systemc-2.2.0/objdir/src'
Making all in sysc
make[2]: Entering directory `/home/gurunath/Documents/systemc-2.2.0/objdir/src/sysc'
Making all in kernel
make[3]: Entering directory `/home/gurunath/Documents/systemc-2.2.0/objdir/src/sysc/kernel'
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_attribute.o -MD -MP -MF .deps/sc_attribute.Tpo -c -o sc_attribute.o ../../../../src/sysc/kernel/sc_attribute.cpp
mv -f .deps/sc_attribute.Tpo .deps/sc_attribute.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_cor_fiber.o -MD -MP -MF .deps/sc_cor_fiber.Tpo -c -o sc_cor_fiber.o ../../../../src/sysc/kernel/sc_cor_fiber.cpp
mv -f .deps/sc_cor_fiber.Tpo .deps/sc_cor_fiber.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_cor_pthread.o -MD -MP -MF .deps/sc_cor_pthread.Tpo -c -o sc_cor_pthread.o ../../../../src/sysc/kernel/sc_cor_pthread.cpp
mv -f .deps/sc_cor_pthread.Tpo .deps/sc_cor_pthread.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_cor_qt.o -MD -MP -MF .deps/sc_cor_qt.Tpo -c -o sc_cor_qt.o ../../../../src/sysc/kernel/sc_cor_qt.cpp
mv -f .deps/sc_cor_qt.Tpo .deps/sc_cor_qt.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_cthread_process.o -MD -MP -MF .deps/sc_cthread_process.Tpo -c -o sc_cthread_process.o ../../../../src/sysc/kernel/sc_cthread_process.cpp
mv -f .deps/sc_cthread_process.Tpo .deps/sc_cthread_process.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_event.o -MD -MP -MF .deps/sc_event.Tpo -c -o sc_event.o ../../../../src/sysc/kernel/sc_event.cpp
mv -f .deps/sc_event.Tpo .deps/sc_event.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_join.o -MD -MP -MF .deps/sc_join.Tpo -c -o sc_join.o ../../../../src/sysc/kernel/sc_join.cpp
mv -f .deps/sc_join.Tpo .deps/sc_join.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_main.o -MD -MP -MF .deps/sc_main.Tpo -c -o sc_main.o ../../../../src/sysc/kernel/sc_main.cpp
mv -f .deps/sc_main.Tpo .deps/sc_main.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_main_main.o -MD -MP -MF .deps/sc_main_main.Tpo -c -o sc_main_main.o ../../../../src/sysc/kernel/sc_main_main.cpp
mv -f .deps/sc_main_main.Tpo .deps/sc_main_main.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_method_process.o -MD -MP -MF .deps/sc_method_process.Tpo -c -o sc_method_process.o ../../../../src/sysc/kernel/sc_method_process.cpp
mv -f .deps/sc_method_process.Tpo .deps/sc_method_process.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_module.o -MD -MP -MF .deps/sc_module.Tpo -c -o sc_module.o ../../../../src/sysc/kernel/sc_module.cpp
mv -f .deps/sc_module.Tpo .deps/sc_module.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_module_name.o -MD -MP -MF .deps/sc_module_name.Tpo -c -o sc_module_name.o ../../../../src/sysc/kernel/sc_module_name.cpp
mv -f .deps/sc_module_name.Tpo .deps/sc_module_name.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_module_registry.o -MD -MP -MF .deps/sc_module_registry.Tpo -c -o sc_module_registry.o ../../../../src/sysc/kernel/sc_module_registry.cpp
mv -f .deps/sc_module_registry.Tpo .deps/sc_module_registry.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_name_gen.o -MD -MP -MF .deps/sc_name_gen.Tpo -c -o sc_name_gen.o ../../../../src/sysc/kernel/sc_name_gen.cpp
mv -f .deps/sc_name_gen.Tpo .deps/sc_name_gen.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_object.o -MD -MP -MF .deps/sc_object.Tpo -c -o sc_object.o ../../../../src/sysc/kernel/sc_object.cpp
mv -f .deps/sc_object.Tpo .deps/sc_object.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_object_manager.o -MD -MP -MF .deps/sc_object_manager.Tpo -c -o sc_object_manager.o ../../../../src/sysc/kernel/sc_object_manager.cpp
mv -f .deps/sc_object_manager.Tpo .deps/sc_object_manager.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_process.o -MD -MP -MF .deps/sc_process.Tpo -c -o sc_process.o ../../../../src/sysc/kernel/sc_process.cpp
mv -f .deps/sc_process.Tpo .deps/sc_process.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_reset.o -MD -MP -MF .deps/sc_reset.Tpo -c -o sc_reset.o ../../../../src/sysc/kernel/sc_reset.cpp
mv -f .deps/sc_reset.Tpo .deps/sc_reset.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_sensitive.o -MD -MP -MF .deps/sc_sensitive.Tpo -c -o sc_sensitive.o ../../../../src/sysc/kernel/sc_sensitive.cpp
mv -f .deps/sc_sensitive.Tpo .deps/sc_sensitive.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_simcontext.o -MD -MP -MF .deps/sc_simcontext.Tpo -c -o sc_simcontext.o ../../../../src/sysc/kernel/sc_simcontext.cpp
mv -f .deps/sc_simcontext.Tpo .deps/sc_simcontext.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_thread_process.o -MD -MP -MF .deps/sc_thread_process.Tpo -c -o sc_thread_process.o ../../../../src/sysc/kernel/sc_thread_process.cpp
mv -f .deps/sc_thread_process.Tpo .deps/sc_thread_process.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_time.o -MD -MP -MF .deps/sc_time.Tpo -c -o sc_time.o ../../../../src/sysc/kernel/sc_time.cpp
mv -f .deps/sc_time.Tpo .deps/sc_time.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_ver.o -MD -MP -MF .deps/sc_ver.Tpo -c -o sc_ver.o ../../../../src/sysc/kernel/sc_ver.cpp
mv -f .deps/sc_ver.Tpo .deps/sc_ver.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_wait.o -MD -MP -MF .deps/sc_wait.Tpo -c -o sc_wait.o ../../../../src/sysc/kernel/sc_wait.cpp
mv -f .deps/sc_wait.Tpo .deps/sc_wait.Po
g++ -I. -I. -I../../../../src/sysc/kernel -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_wait_cthread.o -MD -MP -MF .deps/sc_wait_cthread.Tpo -c -o sc_wait_cthread.o ../../../../src/sysc/kernel/sc_wait_cthread.cpp
mv -f .deps/sc_wait_cthread.Tpo .deps/sc_wait_cthread.Po
rm -f libkernel.a
ar cru libkernel.a  sc_attribute.o sc_cor_fiber.o sc_cor_pthread.o sc_cor_qt.o sc_cthread_process.o sc_event.o sc_join.o sc_main.o sc_main_main.o sc_method_process.o sc_module.o sc_module_name.o sc_module_registry.o sc_name_gen.o sc_object.o sc_object_manager.o sc_process.o sc_reset.o sc_sensitive.o sc_simcontext.o sc_thread_process.o sc_time.o sc_ver.o sc_wait.o sc_wait_cthread.o 
ranlib libkernel.a
make[3]: Leaving directory `/home/gurunath/Documents/systemc-2.2.0/objdir/src/sysc/kernel'
Making all in qt
make[3]: Entering directory `/home/gurunath/Documents/systemc-2.2.0/objdir/src/sysc/qt'
g++ -I. -I. -I../../../../src/sysc/qt -I../../../../src    -Wall -O3 -MT qt.o -MD -MP -MF .deps/qt.Tpo -c -o qt.o ../../../../src/sysc/qt/qt.c
../../../../src/sysc/qt/qt.c:4:14: warning: ‘qt_sp_bottom_save’ defined but not used [-Wunused-variable]
mv -f .deps/qt.Tpo .deps/qt.Po
g++ -I. -I. -I../../../../src/sysc/qt -I../../../../src    -Wall -O3 -MT qtmdc.o -MD -MP -MF .deps/qtmdc.Tpo -c -o qtmdc.o qtmdc.c
mv -f .deps/qtmdc.Tpo .deps/qtmdc.Po
as -o qtmds.o qtmds.s -I. -I. -I../../../../src/sysc/qt -I../../../../src
rm -f libqt.a
ar cru libqt.a  qt.o qtmdc.o qtmds.o
ranlib libqt.a
make[3]: Leaving directory `/home/gurunath/Documents/systemc-2.2.0/objdir/src/sysc/qt'
Making all in communication
make[3]: Entering directory `/home/gurunath/Documents/systemc-2.2.0/objdir/src/sysc/communication'
g++ -I. -I. -I../../../../src/sysc/communication -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_clock.o -MD -MP -MF .deps/sc_clock.Tpo -c -o sc_clock.o ../../../../src/sysc/communication/sc_clock.cpp
mv -f .deps/sc_clock.Tpo .deps/sc_clock.Po
g++ -I. -I. -I../../../../src/sysc/communication -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_event_finder.o -MD -MP -MF .deps/sc_event_finder.Tpo -c -o sc_event_finder.o ../../../../src/sysc/communication/sc_event_finder.cpp
mv -f .deps/sc_event_finder.Tpo .deps/sc_event_finder.Po
g++ -I. -I. -I../../../../src/sysc/communication -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_event_queue.o -MD -MP -MF .deps/sc_event_queue.Tpo -c -o sc_event_queue.o ../../../../src/sysc/communication/sc_event_queue.cpp
mv -f .deps/sc_event_queue.Tpo .deps/sc_event_queue.Po
g++ -I. -I. -I../../../../src/sysc/communication -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_export.o -MD -MP -MF .deps/sc_export.Tpo -c -o sc_export.o ../../../../src/sysc/communication/sc_export.cpp
mv -f .deps/sc_export.Tpo .deps/sc_export.Po
g++ -I. -I. -I../../../../src/sysc/communication -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_interface.o -MD -MP -MF .deps/sc_interface.Tpo -c -o sc_interface.o ../../../../src/sysc/communication/sc_interface.cpp
mv -f .deps/sc_interface.Tpo .deps/sc_interface.Po
g++ -I. -I. -I../../../../src/sysc/communication -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_mutex.o -MD -MP -MF .deps/sc_mutex.Tpo -c -o sc_mutex.o ../../../../src/sysc/communication/sc_mutex.cpp
mv -f .deps/sc_mutex.Tpo .deps/sc_mutex.Po
g++ -I. -I. -I../../../../src/sysc/communication -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_port.o -MD -MP -MF .deps/sc_port.Tpo -c -o sc_port.o ../../../../src/sysc/communication/sc_port.cpp
mv -f .deps/sc_port.Tpo .deps/sc_port.Po
g++ -I. -I. -I../../../../src/sysc/communication -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_prim_channel.o -MD -MP -MF .deps/sc_prim_channel.Tpo -c -o sc_prim_channel.o ../../../../src/sysc/communication/sc_prim_channel.cpp
mv -f .deps/sc_prim_channel.Tpo .deps/sc_prim_channel.Po
g++ -I. -I. -I../../../../src/sysc/communication -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_semaphore.o -MD -MP -MF .deps/sc_semaphore.Tpo -c -o sc_semaphore.o ../../../../src/sysc/communication/sc_semaphore.cpp
mv -f .deps/sc_semaphore.Tpo .deps/sc_semaphore.Po
g++ -I. -I. -I../../../../src/sysc/communication -I../../../../src    -Wall -DSC_INCLUDE_FX -O3 -MT sc_signal.o -MD -MP -MF .deps/sc_signal.Tpo -c -o sc_signal.o ../../../../src/sysc/communication/sc_signal.cpp
In file included from ../../../../src/sysc/datatypes/bit/sc_bv_base.h:50:0,
                 from ../../../../src/sysc/datatypes/bit/sc_lv_base.h:56,
                 from ../../../../src/sysc/communication/sc_signal.cpp:102:
../../../../src/sysc/datatypes/bit/sc_bit_proxies.h:716:16: error: reference ‘m_obj’ cannot be declared ‘mutable’ [-fpermissive]
../../../../src/sysc/datatypes/bit/sc_bit_proxies.h:1193:18: error: reference ‘m_left’ cannot be declared ‘mutable’ [-fpermissive]
../../../../src/sysc/datatypes/bit/sc_bit_proxies.h:1194:18: error: reference ‘m_right’ cannot be declared ‘mutable’ [-fpermissive]
../../../../src/sysc/datatypes/bit/sc_bit_proxies.h:1196:18: error: reference ‘m_refs’ cannot be declared ‘mutable’ [-fpermissive]
In file included from ../../../../src/sysc/communication/sc_signal.cpp:102:0:
../../../../src/sysc/datatypes/bit/sc_lv_base.h: In member function ‘sc_dt::sc_logic_value_t sc_dt::sc_lv_base::get_bit(int) const’:
../../../../src/sysc/datatypes/bit/sc_lv_base.h:310:33: warning: suggest parentheses around arithmetic in operand of ‘|’ [-Wparentheses]
make[3]: *** [sc_signal.o] Error 1
make[3]: Leaving directory `/home/gurunath/Documents/systemc-2.2.0/objdir/src/sysc/communication'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/gurunath/Documents/systemc-2.2.0/objdir/src/sysc'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/gurunath/Documents/systemc-2.2.0/objdir/src'
make: *** [all-recursive] Error 1
gurunath@Kstar-VirtualBox:~/Documents/systemc-2.2.0/objdir$

------------------------------------------------------End of Error-----------------------------------------------------------

Please guys, if any one has a solution, post it here. Thank you.

Gurunath Kadam
 
Last edited by a moderator:

Step 1) google the error message.

Step 2) google hit # 1: https://www.accellera.org/Discussio...stemc-forum&monthdir=201105&msg=msg00016.html

Step 3) choose one of following 2 options:

option A: "This particular error can be fixed by removing the "mutable" keyword in the SystemC sources (and installed headers) at the reported places."

option B: "Add CPPFLAGS=-fpermissive with your configure command. "


Personally I'd go with option B.

So whatever your "./configure your_options" was, you now need to do "CPPFLAGS=-fpermissive ./configure your_options" and then run "make" again. Best just remove the entire source tree and do a clean untar before you do all that. You could do a make clean / make distclean , but no need to take chances.
 

@mrflibble........................

I am so much happy today!! :) Thnks man!

Sorry but going against your preferred option, I used option A and it worked nicely. Now just trying to figure out how to use it, as I am used to GUI based systems. (Any tutorial suggestions?)

Thanks again!
 

heheh, you are you and I am me. I said what I'd do. You are free to pick your own options. :p

I am just a lazy bastard. From the real quick look I had at the problem it seems that this is just an issue with older code + newer compiler. All in all it is then easier in general to fix that with a compiler option. Why? Well, next time you pick an updated version of the source code and they still haven't fixed this particular issue, you don't have to go patch the source code again. Just use the "proper" CPP flags (which is all option B does) and you are good to go with the new version.

But to each their own. Glad you got it working. :)

How to use it? MMmh, not sure what you are asking. I am assuming you had some underlying motivation to compile it... :p
 

Hi there, I was asking how can I compile a systemc program. I never used command lines for compiling so confused. An example of sample systemc programs given in 'examples' folder will be great.

Thanks in advance.
 

Mmmh? It does come with working examples. From the systemc I have installed here ... totally random example:

Code:
cd systemc-2.2.0/examples/sysc/simple_perf
make check

...

             SystemC 2.2.0 --- Jan  2 2012 22:41:45
        Copyright (c) 1996-2006 by all Contributors
                    ALL RIGHTS RESERVED

Fifo size is: 10
Average fifo fill depth: 6.46931
Maximum fifo fill depth: 10
Average transfer time per character: 121676 ps
Total characters transferred: 100004
Total time: 12168100 ns
PASS: simple_perf
==================
All 1 tests passed
==================

You can just browse the examples for a bit and read the Makefile + source code to see what it provides.
 
Now that you have installed system C

Please post one tutorial on how to run a simple program using System C.

This forum is not only Q & A, it is also where you learn how to do things.
 

Who? I take it you mean gurunath.kadam , since he started the thread. ;)

My tutorial is the following one-liner: "Install it, then muck about with the included examples to get a feel for it; when in doubt, use google."

;)

---------- Post added at 19:55 ---------- Previous post was at 19:39 ----------

mmmh, while having an IDE is nice, it doesn't really address anything systemc related. ;)

I mean, a howto on installing eclipse will learn you exactly zero about writing java applications. In the same way it will teach you zero about writing systemc. All it does is tell you how to get the environment up and running.

On a pedagogical note I think the extra fluff of the IDE actually detracts from the learning experience, but that may just be personal preference.

Put another way: a howto on installing a systemc plugin for eclipse does not a systemc tutorial make. Cool, we have an IDE. Now what? ;)
 

HI mrflibble,

damn.....you guys are demanding..!! :p

Anyways I myself am not a very proficient systemc programmer but just a beginner. So now this next link is strictly for beginners...and I think most people must already be having this. But just to be little helpful.....(in future lets hope i will put a video going through one nice systemc program and all gtkwave stuff!)

https://www.asic-world.com/systemc/index.html
 

HI mrfibble,

How are you my friend?

Yes you are right, i meant the owner of the post and not you.

He has posted how to integrate GUI and System C. It would be great if he posts some further images of an example of running system C design in his wordpress website.

This would get the noobs started and something that will get much visibility besides asic-world.

Its just a suggestion!!
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top