Hi,
Matthias Scheutz (http://www.nd.edu/~mscheutz/) wrote:
| For now, I have a (hopefully) simple question about POPC: I want to make a
| standalone version of SIMWORLD, which people can use (without having to
| install the POPLOG). However, I keep running into problems compiling
| objectclass (have not even gotten to SIMAGENT or SIMWORLD yet...). This
| is what I get when I try to compile objectclass.p (either alone or when I
| try to compile SIMWORLD):
Unfortunately I wrote ObjectClass prior to POPC being generally
available, even in a preview version. I guessed as to what the
limitations would be but, alas, I guessed wrongly. Wildly wrongly.
I have always been under the impression that ObjectClass breaks so
many of the ghastly POPC limits that there was no prospect of getting
it working properly.
| [root@mattlaptop simworld332]# popc testo.p
| ;;; DECLARING VARIABLE OBJECTCLASS_IN_POPC
|
| ;;; MISHAP - POPC: ILLEGAL ASSIGNMENT TO CONSTANT IDENTIFIER
| ;;; INVOLVING: 1100 pop_oc_version
| ;;; FILE : /usr/local/poplog/v15.53/pop/lib/objectclass/objectclass.p
| ;;; LINE NUMBER: 19
This particular problem looks simple: the command "lib objectclass"
causes a short file to be loaded that establishes a few necessary
facts about the loading environment (mainly so you can establish the
ObjectClass development environment as an alternative to the normal
running mode.) It should be easy to track down where pop_oc_version
is declared and assigned to in the loading sequence since it will be
in the somewhat casually written short loading file.
| The documentation on objectclass says that it should compile, so I take it
| I must be doing something wrong... Maybe you have an idea? Thanks.
This is news to me! If I had a working copy of Poplog available I
would try to find this documentation myself. Could someone post me
the relevant snippet - I'd love to see this!
Aaron Sloman wrote:
>I guess another option is to produce a package made of two files
> executable(basepop11)+saved image,
>(plus a shell script to run them) which has been used for some
>commercial packages.
Yes, this is the only general method for delivering Poplog
applications. This is similar to (although clumsier than) how Perl
and Python work, of course, so it is a generally acceptable delivery
method.
It is a _great_ shame that there is no option for dumping saved
images with a leading line "#!/usr/local/poplog/pop/com/run_psv" (or
whatever) so that you can just set "chmod a+x" and avoid the tedium
of having to coordinate the location of script and saved image. (I
guess you would want to be able to specify the string that is put
after the "#!".) This would actually make saved images much, much
more useful than they currently are.
In a similar vein, it would be _very_ nice if there was a way to
write standalone "#!" scripts just like Perl or Python. My feeling
is that we would need a special executable for this because of the
limitations for processing arguments for #! scripts and Poplog has
become rather complicated in its command line requirements. I
embarked on this work a couple of years ago, got a long way and ran
out of time. I would be happy to share my documentation and C source
code it with anyone else who is interested.
--
Steve
|