swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: /bin/ld: Unsatisfied symbols: with swarm-960110 and my apps


From: Manor Askenazi
Subject: Re: /bin/ld: Unsatisfied symbols: with swarm-960110 and my apps
Date: Thu, 11 Jan 96 16:56:21 MST

Warning Warning Warning Warning Warning Warning Warning Warning Warning 
-----------------------------------------------------------------------

The problem raised by Rick has to do with Swarm usage patterns and is 
therefore relevant to all members in the swarm-beta team:

Rick was getting an error because he was not calling initSwarm(argc, argv)
at the beginning of his program. Previously, this was not a problem but in 
the latest release all swarmobjects refer to a probeLibrary which is 
generated by initSwarm (this allows them to generate Probes, ProbeMaps and 
ProbeDisplays) - there is an html explaining all of this which will be 
released soon, or if you're really curious check out:

  http://www.santafe.edu/~manor/probing.html

As it turns out, Rick avoided calling initSwarm() because he wanted to 
batch-job, and therefore needed to avoid calling graphics code. We *are*
currently designing a more general startup framework which will be used
both for batch runs and interactive jobs, but obviously (and this is
great) some of you have already started working in this fashion... So,
if you really need to batch job the following procedure [which should
be added to global.m/h (in simtools) just might do the job - until the 
next release becomes available]:

global.h addition 
-----------------

void initBatchSwarm(int argc, char ** argv);

global.m addition
-----------------

void
initBatchSwarm(int argc, char ** argv) {
  // initialize Roger's support
  initActivity();

  randomGenerator = [[PMMLCG1 alloc] init];       // seeds from clock
  uniformRandom = [[[Uniform alloc] init] setGenerator: randomGenerator];
  probeLibrary = [ProbeLibrary create: globalZone];
}

Now, as far as stopping the simulation (another issue raised by Rick),
you can schedule a termination verification procedure, which internally
does [getTopLevelActivity() terminate] if it is OK to stop the simulation. 
This will cause the original [swarmActivity run] call (in main) to return.

Manor.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]