Fri 08 Jul 2016 10:40:32 PM UTC, comment #8:
Thanks for the explanations.
Editing one line in configure.ac is OK,
and can even be automated as
sed -i s/"\[4.1.0+[0-9+]*\]"/"\[4.1.0+`hg id -n`\]"/g configure.ac
before the ./bootstrap step
This is working as expected, and with the following lines in .octaverc,
allows to encapsulate a given development version snapshot together with packages:
|
Fri 08 Jul 2016 08:48:27 PM UTC, comment #7:
That is correct, you can't install packages without doing 'make install' first. This is known and intentionally caught, when for example the mkoctfile program is not in the bin directory where it is supposed to be.
You might be able to work out which CPPFLAGS and LDFLAGS to add such that all the proper header files and shared libraries distributed throughout Octave's source and build directories are found. Seems like more trouble than it's worth, but if someone thinks this is important they could work on adding support for this.
There is also currently no way to change the version suffix without editing configure.ac to add a suffix yourself or something like that.
Setting a specific --prefix=/some/path/with/specific/version/and/hgid is always possible.
|
Fri 08 Jul 2016 08:40:54 PM UTC, comment #6:
Thanks a lot Mike.
Indeed, removing /usr/local/openblas-mt-gcc4.8.3/share/octave,
followed by make install, did it.
So run-octave (and mkoctfile called from it) is not totally standalone.
Wouldn't it be nice if the "run-octave" version were different (say 4.1.0r) than the installed dev version,
so that a new pull could be tested together with packages,
without breaking a previous working (and installed) dev version ?
Or is there a way to specify a version suffix at installation, like
make install VERSION_SUFFIX=`hg id -n`
which would install to 4.1.0+21750 for instance ?
|
Fri 08 Jul 2016 06:19:05 PM UTC, comment #5:
ederag: ericbarnhill says reinstalling the image package resolves the undefined symbol errors.
I am not able to reproduce the errors that you are seeing.
The symbol that your .oct file is trying to load is indeed no longer defined.
If I had to guess, I would say that it looks like you have not done a make install in a while. The .oct files are probably being compiled against out of date versions of Octave's default branch that are no longer valid.
Please try deleting your entire Octave installation under /usr/local/openblas-mt-gcc4.8.3 and do a fresh 'make install'.
|
Fri 08 Jul 2016 01:42:11 PM UTC, comment #4:
Following comment #3, it looks like the issue is different here,
since it happens even without any package installed.
Here is the bisection outcome:
The test used was:
The package building process (seen with -verbose) went fine though. (logs attached)
The tip (cs 22076:d9643bc3792a) is bad too.
On Linux OpenSUSE 13.2 64bit.
(file #37769, file #37770)
|
Fri 08 Jul 2016 01:32:35 PM UTC, comment #3:
Carnë's suggestion of reinstalling the packages resolves the issue.
|
Fri 08 Jul 2016 01:23:39 PM UTC, comment #2:
Did you reinstall the packages for your new version of Octave? It may have the same version number but that number means nothing when you're building from development sources.
|
Fri 08 Jul 2016 11:43:51 AM UTC, comment #1:
Almost the same error with control, struct, optim packages (maybe more).
The error occurs between changesets 21744:e1be0b36fbed and 21795:973c16f1c9fc.
(bisection process running, will post when done)
|
Fri 08 Jul 2016 10:22:54 AM UTC, original submission:
There is some sort of new incompatibility between 4.1.0 and the image package. I particularly alert you to the fact that it appears to load the second time, but then claims all methods are unimplemented!
Using Octave 4.0.0 from the Ubuntu repos is fine:
--
>> pkg load image
>> entropy
error: entropy: not enough input arguments
error: called from
entropy at line 40 column 5
--
However I just built Octave from Savannah today and get:
--
>> pkg load image
error: _which_: /home/ericbarnhill/octave/image-2.4.1/x86_64-pc-linux-gnu-api-v50+/bwconncomp.oct: failed to load: /home/ericbarnhill/octave/image-2.4.1/x86_64-pc-linux-gnu-api-v50+/bwconncomp.oct: undefined symbol: ZN19octave_dld_function6createEPF17octave_value_listRKS0_iERK12octave_shlibRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESF
error: called from
which at line 34 column 5
/home/ericbarnhill/octave/image-2.4.1/x86_64-pc-linux-gnu-api-v50+/PKG_ADD at line 2 column 1
load_packages_and_dependencies at line 48 column 5
load_packages at line 47 column 3
pkg at line 409 column 7
>> pkg load image
>> entropy
warning: the 'entropy' function belongs to the image package from Octave Forge
but has not yet been implemented.
Please read <http://www.octave.org/missing.html> to learn how you can
contribute missing functionality.
warning: called from
_unimplemented_ at line 523 column 5
error: 'entropy' undefined near line 1 column 1
>>
|