octave-maintainers
[Top][All Lists]
Advanced

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

Re: [Forge] IO still gives error


From: Philip Nienhuis
Subject: Re: [Forge] IO still gives error
Date: Tue, 07 Jan 2014 23:50:50 +0100
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:25.0) Gecko/20100101 Firefox/25.0 SeaMonkey/2.22.1

Juan Pablo Carbajal wrote:
On Tue, Jan 7, 2014 at 2:35 PM, Carnë Draug <address@hidden> wrote:
On 7 January 2014 13:33, Carnë Draug <address@hidden> wrote:
On 7 January 2014 13:03, Juan Pablo Carbajal <address@hidden> wrote:
Hi,
I am still running into this error in Ubuntu 13.10, GNU Octave 3.8

octave:1> pkg -forge install io
'chk_spreadsheet_support' undefined near line 41 column 16
error: called from
'/home/juanpi/.octave/io-2.0.1/x86_64-unknown-linux-gnu-api-v49+/PKG_ADD'
in file /home/juanpi/.octave/io-2.0.1/x86_64-unknown-linux-gnu-api-v49+/PKG_ADD
near line 41, column 14
error: called from:
error:   /usr/local/share/octave/3.8.0-rc1/m/pkg/private/install.m at
line 241, column 5
error:   /usr/local/share/octave/3.8.0-rc1/m/pkg/pkg.m at line 394, column 9

If one install twice then the error disappears, so it seems like a
load path problem or something of the like.

Yes that's the issue at hand.

In the mailing list there were temporal solutions presented, like
erase io before installing and the such... anyone have a better idea?
It seems to be a java class problem.

No Java isn't involved here.
It's purely to do with calling m-files by PKG_ADD before the script dir is fully loaded. I suppose (but OK I'm guessing) that it occurs mainly during installing; apparently PKG_ADD is already called while the OS is still busy with package installation I/O and cleanup, much more than during simple loading of the io pkg.

What causes the problem is that the PKG_ADD script of the io package
uses functions from the io package. So when you load a package, the
following happens@

1 - adds the directory with oct files to the path
2 - finds the PKG_ADD file and runs it
3 - the PKG_ADD calls chk_spreadsheet_support which is not in the path yet
4 - fails

When the directory with m files is added first to the path, then there
is no problem. However, it seems that sometimes it happens the other
way around.

Note that the fix for this is not add the directory with m files
always first otherwise you'll have the same problem when PKG_ADD calls
an oct function from the same package.

The scripts dir of the io package needs to be added to the path before PKG_ADD is called, as that (only) invokes m-file functions, not binary modules. So I think for the io package, simply moving PKG_ADD to the scripts dir will do.

Tomorrow I'll look at it (post_install.m).
Juan, would you mind being guinea pig for another io pkg release? I'm severely short of beta testers....

Philip



reply via email to

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