Cannot start simulation with custom class

47 views
Skip to first unread message

Konstantin Boyanov

unread,
Aug 13, 2010, 10:29:50 AM8/13/10
to omnetpp
Hello,

I have a problem starting my simulation from the command line. What I
have done is, that I first crated a new OMNeT++ project from the
"Create an empty OMNeT++ project with 'src' and 'simulations' folders"
template and then added a class file to the "src" folder.

I then defined some simple functionality in the class (an int counter
for messages and a output of a simple message), and created the
corresponding .ned file containing the NED definition.

Then I defined my network in another .ned file in the main project
directory (not "src") and included the package which contains my new
simple module. The project compiles fine, no errors. My new class also
gets compiled and linked in to the executable. When I try to start the
simulation however, I get the following error:

---
# opp_run -u Cmdenv -l../queueinglib/queueinglib
OMNeT++ Discrete Event Simulation (C) 1992-2010 Andras Varga, OpenSim
Ltd.
Version: 4.1, build: 100611-4b63c38, edition: Academic Public License
-- NOT FOR COMMERCIAL USE
See the license for distribution terms and warranty disclaimer
Setting up Cmdenv...
Loading NED files from /home/gstu10/gstu1002/workspace/NCqpace: 8
Loading NED files from /home/gstu10/gstu1002/workspace/queueinglib: 20
Loading NED files from /home/gstu10/gstu1002/workspace/NCqpace/src: 4

Preparing for running configuration General, run #0...
Scenario: $repetition=0
Assigned runID=General-0-20100813-16:01:22-11240
Recording event log to file `/home/gstu10/gstu1002/workspace/NCqpace/
results/General-0.elog'...
Setting up network `Qpace'...

<!> Error in module (cCompoundModule) Qpace (id=1) during network
setup: Class "NCqpace::RX" not found -- perhaps its code was not
linked in, or the class wasn't registered with Register_Class(), or in
the case of modules and channels, with Define_Module()/
Define_Channel().
---

I have tried to include the "src" folder with the "ned-path = .;../
queueinglib;./src" directive in the omnetpp.ini file but to no avail.
I have also remade the Makefiles with opp_makemake both in the project
root and "src" directories but still that didn't help.
I have defined all the folders which contain .ned files as NED
directories in the Eclipse IDE.
I have defined my class with the "Define_Module(RX);" directive.

What am I doing wrong so my simple class does not get recognized by
opp_run? Do I have to set some environment variable? Do I have to have
a "Package.ned" in every project folder?

Another thing which is not clear to me is why the error tries to look
for a "NCqpace::RX" class, when I didn't define such a class?

I would highly appreciate any ideas and hints on this problem, because
I spent 3 days already trying to figure it out, recreating projects,
trying to find a document which describes a possible solution and I
must say I am getting quite frustrated.

Thanks in advance!

Best regards,
Konstantin

Konstantin Boyanov

unread,
Aug 13, 2010, 10:42:23 AM8/13/10
to omnetpp
Hi,

I have found the answer to the "NCqpace::RX" situation, in my
frustration I have tried and included @namespace(NCqpace) in my
package.ned file. Now I have removed it and the simulation runs well
in the IDE but still does not start from the command line. Any ideas?

Greets,
Konstantin
Reply all
Reply to author
Forward
0 new messages