A list for the developers of CellML tools

Text archives Help


[cellml-dev] Compiling opencell on ubuntu


Chronological Thread 
  • From: lpsmith at spod-central.org (Lucian Smith)
  • Subject: [cellml-dev] Compiling opencell on ubuntu
  • Date: Thu, 12 Nov 2009 00:16:23 +0000

* Alan Garny <alan.garny at dpag.ox.ac.uk> [2009-11-11 09:30] writes:
> > * Andrew Miller <ak.miller at auckland.ac.nz> [2009-11-10 23:04] writes:
> > > Lucian Smith wrote:
> > > >OK, the cellml-api now is compiling nicely, and opencell is further
> > > >along. However, I'm now getting the error:
> > > >
> > > >make: *** No rule to make target `opencellStage/lib/libceleds.so.0',
> > > >needed by `opencellStage/application.ini'. Stop.
> > >
> > > Hi Lucian,
> > >
> > > Did you enable CeLeDS when you built the API? Is the file in (path to
> > > API)/.lib?
> >
> > That was it! Sorry, I thought I had got them all. It now compiles!
> > And
> > running it was a bit mysterious, but it runs, too! Thanks, everyone.
>
> First, I am glad you got everything to work. Now, this being said, I must
> confess that am still somewhat puzzled by your whole experience. It just
> doesn't make sense to me. You said that you are under Ubuntu 9.04, so am I
> correct in assuming that you followed the following instructions to build
> the CellML DOM API:
>
> http://cellml-api.hg.sourceforge.net/hgweb/cellml-api/cellml-api/file/f8b026
> 811ce2/docs/build_process_ubuntu_9_04.txt

No, that would have been helpful, wouldn't it? No, I just downloaded the
source, unzipped it, went into that directory, typed 'configure' then
'make'. That worked fine (or seemed to), so there was never any need to
look for any instructions.

After I worked with that for a while, I found that I needed something that
didn't seem to exist (MaLaes, IIRC). So, I assumed there was some other
package I needed, so I asked the list and only then found out about the
options to 'configure'. If you're looking for recomendations, I strongly
recommend that you reverse the paradigm here--a plain 'configure' should
turn on everything that can be turned on (i.e. that has the needed
libraries available on the user's computer). If space (or time) is an
issue for someone, you could provide '--disable-<option>' commands that
provide the same effective amount of control.

That said, that would not have sufficient to subsequently build
OpenCell--you also need the xulrunner stuff present in the API install,
and this is not mentioned in either of the build_process documents you
mention. It is also confusing that telling the two 'configure' programs
in the two situations take completely different options: in the API, it's
'--enable-xpcom=/path/to/xulrunner/' and for opencell, it's
'--with-mozilla=/path/to/xulrunner/'. I've already mentioned that the
inconsistency between all the other '--enable-XX' and '--enable-xpcom'
options in the API meant that it was looking for xulrunner in 'yes/bin/'
(which still amuses me); I would have expected something like
'--enable-xpcom --with-xulrunner=/path/to/xulrunner'. The fact that
opencell is looking for something called 'xulrunner' (which I had never
heard of) but calls it 'mozilla' (which I had heard of) meant that my
first action was to install the mozilla-dev package and point opencell at
/usr/lib/mozilla/.

Finally, in:

> http://cellml-opencell.hg.sourceforge.net/hgweb/cellml-opencell/cellml-openc
> ell/file/8af8082a6b4e/docs/build_process_ubuntu_9_04.txt

the one deficiency is that it never tells you 'download and unzip the
xulrunner-sdk package version XXX or higher and put it in your home
directory'. The only mention of xulrunner at all is:

./configure --with-mozilla=/home/[Username]/xulrunner-sdk
--with-cellml_api=/home/[Username]/cellml

which would of course fail if the user didn't have xulrunner. And again,
just looking at that, I think I would have imagined that installing the
'mozilla-dev' package would be sufficient, and if that didn't work, the
'xulrunner' package. I don't think I've seen an install document that
expects the user to have installed something in their home directory
before (though it's sort of a nice change from install documents that
expect that the user has root or sudo, which I didn't have for many
years.)

> If not, then this is what you should have done and it should have worked
> flawlessly.

I never knew those documents existed! And I never thought to go looking
for them after I started having problems--since the installing side of
things seemed to have gone fine up to that point, I assumed something else
must be going wrong. In fact, after I finally did get things to compile,
I was then flummoxed by the lack of any executables in that directory and
the lack of a bin/ directory. So I searched and found two 'opencell'
executables, one in appSupport/opencell, and one in
opencellStage/opencell. Neither of them did anything, of course. I was
halfway through drafting an email to the list saying "It compiles! And,
uh, this is a dumb question, but how do I run it?" when I thought, "Hmm,
maybe there's instructions somewhere" and there they were! Am I wrong
or could those instructions could be packaged together in a batch file or
something? You already have the xulrunner directory from 'configure'--it
seems like with that information you could put together a script to run it
relatively straightforwardly.

> If this is what you have done, then it would be useful to know
> exactly what is wrong in these sets of instructions, even though I
> appreciate that you might want to move on, now that you have got things to
> work for you.

Nah, I'm happy to talk about my experiences--having developed software
myself, I know how valuable they are!

-Lucian




Archive powered by MHonArc 2.6.18.

Top of page