Wed 09 Mar 2016 01:05:19 AM UTC, comment #44:
If the uninstall target is not working correctly then we should try to fix it.
But in any case, I always recommend using something like
Adjust the directory as needed, but the point is to put all files below an otherwise completely empty directory tree. This way, you can just do
to delete everything, even if the build system has changed significantly. The uninstall target can only be expected to work if you have exactly the same sources as when you last installed. Maybe you deleted them, or maybe you updated to a newer version and the set of installed files has changed.
|
Tue 08 Mar 2016 10:17:48 PM UTC, comment #43:
Rik: I will watch for this problem, but not
easy to catch it or isolate a reproducible cause...
Thanks for all your help!
|
Tue 08 Mar 2016 09:56:05 PM UTC, comment #42:
I'm going to close this report since the original issue has been resolved by jwe's cset.
You can file another bug report about 'make install' if you find a way to reliably reproduce the issue.
|
Tue 08 Mar 2016 09:48:45 PM UTC, comment #41:
No, that was not it. The install is to /usr/local
and has been for a long time.
But, now the installed system runs as it should!
A new bug report on what is wrong with make install
and make uninstall might be good.
For the time being, I will run a laundering script
before make install
|
Tue 08 Mar 2016 09:47:02 PM UTC, comment #40:
'make uninstall' doesn't remove empty directories. You will still have the directory structure left after the uninstall, but there shouldn't be any files in it.
|
Tue 08 Mar 2016 09:40:11 PM UTC, comment #39:
One more thing, you might want to check how you have configured Octave in the development directory. Maybe you didn't give it the '--prefix=/usr/local' and 'make install' is actually installing it somewhere else like /usr. In that case, every 'make install' would just be writing the files somewhere else, but /usr/local probably appears first in your PATH variable and is the version you are getting when you type 'octave' at the shell prompt.
|
Tue 08 Mar 2016 09:40:04 PM UTC, comment #38:
Just for the record:
sudo make uninstall
did not do much. There remains everything in
/usr/local/share/octave/4.1.0+/m/
An odd thing is that I have:
ls -l /usr/local/share/octave/4.1.0+/m
total 124
drwxr-xr-x. 4 root root 4096 Mar 8 16:34 audio
drwxr-xr-x. 2 root root 4096 Mar 8 16:34 deprecated
drwxr-xr-x. 2 root root 4096 Mar 8 16:34 elfun
drwxr-xr-x. 3 root root 4096 Mar 8 16:34 @ftp
drwxr-xr-x. 3 root root 4096 Mar 8 16:34 general
drwxr-xr-x. 2 root root 4096 Mar 8 16:34 geometry
drwxr-xr-x. 3 root root 4096 Mar 8 16:34 gui
drwxr-xr-x. 3 root root 4096 Mar 8 16:34 help
drwxr-xr-x. 3 root root 4096 Mar 8 16:34 image
drwxr-xr-x. 2 root root 4096 Mar 8 16:34 io
drwxr-xr-x. 2 root root 4096 Mar 8 16:34 java
drwxr-xr-x. 2 root root 4096 Mar 8 16:34 linear-algebra
drwxr-xr-x. 3 root root 4096 Mar 8 16:34 miscellaneous
drwxr-xr-x. 3 root root 4096 Mar 8 16:34 ode
drwxr-xr-x. 3 root root 4096 Mar 8 16:34 optimization
drwxr-xr-x. 3 root root 4096 Mar 8 16:34 path
drwxr-xr-x. 3 root root 4096 Mar 8 16:34 pkg
drwxr-xr-x. 5 root root 4096 May 28 2015 plot
drwxr-xr-x. 3 root root 4096 Mar 8 16:34 polynomial
drwxr-xr-x. 3 root root 4096 Mar 8 16:34 prefs
drwxr-xr-x. 31 root root 4096 Jul 13 2015 scripts
drwxr-xr-x. 3 root root 4096 Mar 8 16:34 set
drwxr-xr-x. 3 root root 4096 Mar 8 16:34 signal
drwxr-xr-x. 3 root root 4096 Mar 8 16:34 sparse
drwxr-xr-x. 2 root root 4096 Mar 8 16:34 specfun
drwxr-xr-x. 2 root root 4096 Mar 8 16:34 special-matrix
drwxr-xr-x. 2 root root 4096 Mar 8 16:34 startup
drwxr-xr-x. 6 root root 4096 May 28 2015 statistics
drwxr-xr-x. 2 root root 4096 Mar 8 16:34 strings
drwxr-xr-x. 2 root root 4096 Mar 8 16:34 testfun
drwxr-xr-x. 2 root root 4096 Mar 8 16:34 time
=====================================
scripts got left out!!!
I will manually remove more and then try an install
|
Tue 08 Mar 2016 09:30:26 PM UTC, comment #37:
And,
ls -l /usr/local/share/octave/4.1.0+
total 24
drwxr-xr-x. 2 root root 4096 Mar 8 16:15 data
drwxr-xr-x. 3 root root 4096 Mar 8 16:16 etc
drwxr-xr-x. 2 root root 4096 Mar 8 16:15 imagelib
drwxr-xr-x. 2 root root 4096 Mar 8 16:16 locale
drwxr-xr-x. 33 root root 4096 Oct 2 07:32 m
drwxr-xr-x. 3 root root 4096 May 28 2015 site
===================================
So, none of the m files have been updated since Oct 2.
What is the command to remove the currently installed
system?
|
Tue 08 Mar 2016 09:29:41 PM UTC, comment #36:
@Michael: Yes, I can see that the version you have in the .../4.1.0+/... directory is identical to that from 4.0.0.
I think you need to clean the cruft from your installation and then try 'sudo make install' again and see if it completes correctly.
To clean the cruft, begin with 'sudo make uninstall' in the development directory. That should clear out most of it, but I would still go inspect the /usr/local directory by hand
If you find anything more delete those files too.
|
Tue 08 Mar 2016 09:25:11 PM UTC, comment #35:
Rik & John:
To make the state of my system clear:
Source: ls -l scripts/testfun
-rw-rw-r--. 1 godfrey godfrey 24740 Mar 5 13:26 assert.m
-rw-rw-r--. 1 godfrey godfrey 5718 Mar 5 13:26 demo.m
-rw-rw-r--. 1 godfrey godfrey 3457 Mar 5 13:26 example.m
-rw-rw-r--. 1 godfrey godfrey 4931 Mar 5 13:26 fail.m
-rw-rw-r--. 1 godfrey godfrey 1408 Mar 5 13:26 _have_feature_.m
-rw-rw-r--. 1 godfrey godfrey 693 Mar 5 13:26 module.mk
-rw-rw-r--. 1 godfrey godfrey 0 Mar 5 13:40 PKG_ADD
-rw-rw-r--. 1 godfrey godfrey 1095 Mar 5 13:26 _printf_assert_.m
drwxrwxr-x. 2 godfrey godfrey 4096 Mar 5 13:26 private
-rw-rw-r--. 1 godfrey godfrey 1266 Mar 5 13:26 _prog_output_assert_.m
-rw-rw-r--. 1 godfrey godfrey 3204 Mar 5 13:26 rundemos.m
-rw-rw-r--. 1 godfrey godfrey 4336 Mar 5 13:26 runtests.m
-rw-rw-r--. 1 godfrey godfrey 9157 Mar 5 13:26 _run_test_suite_.m
-rw-rw-r--. 1 godfrey godfrey 14928 Mar 5 13:26 speed.m
-rw-rw-r--. 1 godfrey godfrey 30920 Mar 5 13:26 test.m
Installed system after make install:
[root@pbdsl4 octave]# ls -l /usr/local/share/octave/4.1.0+/m/scripts/testfun/
total 132
-rw-r--r--. 1 root root 24813 Jul 13 2015 assert.m
-rw-r--r--. 1 root root 5758 Jul 13 2015 demo.m
-rw-r--r--. 1 root root 3511 Jul 13 2015 example.m
-rw-r--r--. 1 root root 4983 Jul 13 2015 fail.m
-rw-r--r--. 1 root root 1321 Jul 13 2015 _have_feature_.m
-rw-r--r--. 1 root root 1108 Jul 13 2015 _printf_assert_.m
-rw-r--r--. 1 root root 1279 Jul 13 2015 _prog_output_assert_.m
-rw-r--r--. 1 root root 3230 Jul 13 2015 rundemos.m
-rw-r--r--. 1 root root 4352 Jul 13 2015 runtests.m
-rw-r--r--. 1 root root 8986 Jul 13 2015 _run_test_suite_.m
-rw-r--r--. 1 root root 14954 Jul 13 2015 speed.m
-rw-r--r--. 1 root root 30991 Jul 13 2015 test.m
|
Tue 08 Mar 2016 09:18:21 PM UTC, comment #34:
Rik: I just compared the file in
/usr/local/share/octave/4.1.0+/m/scripts/testfun/__have_feature__.m
with the one in the source, and they do not match.
The source file is like what you have.
AND, running make does nothing.
AND make install also does nothing.
So, a problem is that the make; make install is not correct.
|
Tue 08 Mar 2016 09:09:57 PM UTC, comment #33:
Rik:
Here is what I have in:
/usr/local/share/octave/4.1.0+/m/scripts/testfun/__have_feature__.m
function retval = _have_feature_ (feature)
features = octave_config_info ("features");
if (iscellstr (feature))
retval = (all (isfield (features, feature))
&& cellfun (@(x) features.(x), feature));
elseif (ischar (feature))
retval = isfield (features, feature) && features.(feature);
else
retval = false;
endif
endfunction
========================================
But, this cannot be right. The "features" should at least
be "build features". Right?
But, before we do more we should check on what John is doing. Right?
|
Tue 08 Mar 2016 08:59:37 PM UTC, comment #32:
Rik: I tried this, but did not quite get the same
results that you did. I suspect that you may not have
applied John's latest patches?? My system is up to date.
Anyhow, here is what I got:
|
Tue 08 Mar 2016 08:06:41 PM UTC, comment #31:
Michael:
Try this
When I ran this I got
|
Tue 08 Mar 2016 06:57:27 PM UTC, comment #30:
John:
Is that when you are running the version of Octave installed in
/usr/local/bin/octave?
YES
What is the hg id of the version of Octave you built?
7ce76114b321+ tip @
Is the version of _have_feature_.m that is installed in /usr/local different
from the one in the source tree you most recently built?
No.
Does
_have_feature_ ("FLTK")
work for you?
It says:
_have_feature_ ("FLTK")
error: octave_config_info: no info for 'features'
error: called from
_have_feature_ at line 25 column 12
|
Tue 08 Mar 2016 06:32:21 PM UTC, comment #29:
Is that when you are running the version of Octave installed in /usr/local/bin/octave?
What is the hg id of the version of Octave you built?
Is the version of _have_feature_.m that is installed in /usr/local different from the one in the source tree you most recently built?
Does
work for you?
|
Tue 08 Mar 2016 06:27:31 PM UTC, comment #28:
John: Your latest patches produce:
1. With including .octaverc which contains
graphics_toolkit('fltk')
So, not much better than before. Sorry.
|
Tue 08 Mar 2016 06:15:02 PM UTC, comment #27:
John: It says:
>> which _have_feature_
'__have_feature__' is a function from the file /usr/local/share/octave/4.1.0+/m/scripts/testfun/__have_feature__.m
|
Tue 08 Mar 2016 06:11:40 PM UTC, comment #26:
I backed out the previous changeset and checked in the following one instead since I think it is a better solution.
http://hg.savannah.gnu.org/hgweb/octave/rev/7ce76114b321
Michael, what does
display on your system? I think you are somehow getting an old version of that.
|
Tue 08 Mar 2016 06:02:19 PM UTC, comment #25:
jwe's changes prevents the segfault, but still doesn't explain why you have the fltk available when you use run-octave, but not after octave is installed. I was trying to debug that, but it should really be a different bug report as that is different behavior.
If you're satisfied that octave is no longer segfaulting with the --debug option then I will close this report.
|
Tue 08 Mar 2016 05:48:13 PM UTC, comment #24:
Rik: I should have added that I think that John
is figuring this out. He has made it better already...
|
Tue 08 Mar 2016 05:38:52 PM UTC, comment #23:
Rik: I had tried that, and trying it again:
|
Tue 08 Mar 2016 04:13:15 PM UTC, comment #22:
My guess is that even after install you are not picking up the correct version of octave because there is another version ahead of it in your PATH variable.
Try this
If that works, exit to the shell and try
to find out where the binary is coming from.
|
Tue 08 Mar 2016 03:21:13 PM UTC, comment #21:
I should also add that if I have:
graphics_toolkit('fltk');
in my .octaverc file ans I run the current build I get:
|
Tue 08 Mar 2016 03:15:30 PM UTC, comment #20:
First, I missed some of your emails since my spam filter
ate them. I think that is fixed now.
John and Rik:
I do have both fltk and gnuplot available. But,
if I run the current build I get:
>> available_graphics_toolkits()
ans =
{
[1,1] = qt
}
>>
So, this is a problem.
If I run: run-octave (from the octave build directory) I get:
>> available_graphics_toolkits()
ans =
{
[1,1] = fltk
[1,2] = gnuplot
[1,3] = qt
}
>>
|
Tue 08 Mar 2016 02:52:46 PM UTC, comment #19:
The octaverc files were already evaluated inside a try/catch block so errors there should not caused Octave to crash either before or after my changeset.
The --debug option is really for debugging the parser. It just causes the parser state to be printed out as it reads tokens.
|
Tue 08 Mar 2016 02:44:45 PM UTC, comment #18:
Do you actually have the libraries available for FLTK available?
Start Octave and run
My guess is that only qt and gnuplot are available on your system.
In this case, trying to use fltk is the same as trying to use any other non-exististent toolkit. For example, you could change your .octaverc to
which is valid Octave code, but should produce the same error.
At least for me, on Kubuntu 15.10, I can set the toolkit to foobar in a local .octaverc and running 'octave -debug --no-gui' doesn't segfault. This is even before applying jwe's patch.
|
Tue 08 Mar 2016 02:39:10 PM UTC, comment #17:
Sorry, forget the entry below. I was using the wrong
octave. All graphics_toolkit call like:
graphics_toolkit('gnuplot')
error: graphics_toolkit: gnuplot toolkit is not available
error: called from
graphics_toolkit at line 81 column 5
>>
fail.
|
Tue 08 Mar 2016 02:34:09 PM UTC, comment #16:
One more fact:
graphics_toolkit('qt')
and
graphics_toolkit('gnuplot')
both work correctly. So, there is something
wrong specific to 'fltk'.
|
Tue 08 Mar 2016 02:29:51 PM UTC, comment #15:
John: This helps, but:
Running: octave -f --no-gui --debug
now works, but: octave --no-gui --debug
fails with:
Entering state 36
Next token is token END_OF_INPUT ()
Shifting token END_OF_INPUT ()
Entering state 111
Reducing stack by rule 2 (line 403):
$1 = nterm simple_list ()
$2 = token END_OF_INPUT ()
Stack now 0
error: graphics_toolkit: fltk toolkit is not available
error: unhandled execution exception
error: execution of /home/godfrey/.octaverc failed
error: trying to make my way to a command prompt
>>
===========================
My .octaverc is:
graphics_toolkit('fltk');
If I remove the graphics_toolkit('fltk'); line,
startup is OK.
But then if I try to run graphics_toolkit('fltk');
I get the same error.
Running graphics_toolkit();
Works and gives 'qt'
So, you have found a source of this problem...
|
Tue 08 Mar 2016 11:24:47 AM UTC, comment #14:
I checked in the following changeset:
http://hg.savannah.gnu.org/hgweb/octave/rev/74a676d5ce09
This should at least prevent a crash when errors happen in PKG_ADD files that are executed when Octave starts.
|
Tue 08 Mar 2016 02:50:20 AM UTC, comment #13:
Michael: Try running
This will echo commands as they are executed from scripts, including initialization scripts.
When I try it the first thing that runs is
and _have_feature_ checks octave_config_info for "build_features".
|
Tue 08 Mar 2016 02:32:26 AM UTC, comment #12:
It's not an obsolete version of the octave_config_info. It's happening because I changed the way that the structure is organized. This work was spread over a number of different changesets.
I haven't checked to be sure, but if Octave is crashing on startup without giving much feedback about the crash, then I suspect that we're throwing an exception in a place where there is no handler set up yet. If that happens, then Octave will just abort.
I'll try to take a look at this soon.
|
Tue 08 Mar 2016 01:43:43 AM UTC, comment #11:
Rik: It appears to me that the installed octave is
finding an obsolete script when it calls
octave_config_info which contains "features"
instead of "build-features" but so far I cannot
find anything.
Any ideas?
|
Tue 08 Mar 2016 12:41:47 AM UTC, comment #10:
Rik: I get it, but the script that runs at
startup, for me, does octave_config_info('features').
I have looked to see if that comes from some local
file (I did an rm -rf octave and reloaded all of octave
but the problem continued).
Now at least I know that the octave_config_info('features')
should really be octave_config_info('build_features')
Thanks.
|
Mon 07 Mar 2016 07:39:46 PM UTC, comment #9:
And once again, Mike and Rik have posted updates within 60 seconds of each other.
|
Mon 07 Mar 2016 07:33:47 PM UTC, comment #8:
@Michael: jwe has been reworking parts of the build system and the structure field called "features" has been renamed to "build_features".
In my development directory I just did
and I have zero instances of the problem code
that you are seeing.
My guess is that when you do 'make install' you may be installing to a directory that has previous versions of Octave installs including, somewhere, a call to
You probably need to track down which file, a .octaverc, a package, etc., is using the offending line.
|
Mon 07 Mar 2016 07:33:27 PM UTC, comment #7:
The octave_config_info function has definitely changed recently, renaming "features" to "build_features". If something is printing a message about "no info for features", that means there is a package or startup script somewhere that hasn't been updated to the changes on default yet.
Is the segfault still an issue or has that been resolved?
|
Mon 07 Mar 2016 01:19:20 PM UTC, comment #6:
Rik: No.
And, wwhen I use run-octave, it starts up normally, but
I get:
octave --no-gui
>> ...normal signon, then
>> octave_config_info('features')
error: octave_config_info: no info for 'features'
>>
But,
>> octave_config_info('build_features')
ans =
scalar structure containing the fields:
ACOSH = 1
ACOSHF = 1
ALLOCA = 1
ALLOCA_H = 1
AMD = 1
AMD_AMD_H = 0
AMD_H = 0
ARPACK = 1
ASINH = 1
ASINHF = 1
ATANH = 1
ATANHF = 1
<<and so on>
Isn't this what 'features' should produce?
|
Mon 07 Mar 2016 05:28:50 AM UTC, comment #5:
Assuming octave is installed, does the CLI version work?
|
Sun 06 Mar 2016 04:08:26 AM UTC, comment #4:
I also made a typo in the original submit:
For:
sudo make install
leads to
octave
.......
I should have typed:
sudo make install
leads to
octave --debug
......
Then the first error message is, as below:
error: octave_config_info: no info for 'features'
So, it appears that something has gone wrong with
octave_config_info
|
Sun 06 Mar 2016 02:48:38 AM UTC, comment #3:
I should have mentioned that -f and any other change
to initialization that I could think of does no good.
Sorry.
I recently updated to the latest fc23, which included:
glibc.x86_64 2.22-11.fc23
kernel-4.4.3-300.fc23.x86_64
Does it help that run-octave works?
(So, if I copy it to /usr/local/bin/octave
and that works!)
|
Sun 06 Mar 2016 12:55:04 AM UTC, comment #2:
To see if it is an issue with packages, try starting with 'octave -f' which will bypass all initialiation files.
|
Sat 05 Mar 2016 09:35:40 PM UTC, comment #1:
This might be the same as
<http://savannah.gnu.org/bugs/?47273>
|
Sat 05 Mar 2016 09:15:17 PM UTC, original submission:
sudo make install
leads to
octave
...
Reducing stack by rule 2 (line 403):
$1 = nterm simple_list ()
$2 = token END_OF_INPUT ()
Stack now 0
error: octave_config_info: no info for 'features'
terminate called after throwing an instance of 'octave_execution_exception'
panic: Aborted -- stopping myself...
attempting to save variables to 'octave-workspace'...
save to 'octave-workspace' complete
Aborted (core dumped)
=================
Running run-octave works fine.
But, any attempt to use the octave in
/usr/local/bin/
fails
|