You are viewing a static version of the site. Enable JavaScript to benefit from the
full functionality of this site and enable such things as forum posting.
CTAGS Upgrade
matt:
I have upgraded ctags
from exuberant-ctags
to universal-ctags
. This will, in future, help to fix the problems of function prototypes across multiple lines.
But, let me know if you see any strangeness - it's supposed to be completely backwards compatible, but you never know...
ullix:
I have refreshed and updated under Plugin Manager, and the only thing which updated was "Exuberant CTags Parser".
But now my sketches don't compile anymore; compile messages seem meaningless, like: (dozens of them)
• Error at line 9 in file am_ffat0.1a_proto.h:
‣ expected constructor, destructor, or type conversion before ';' token
• Error at line 28 in file am_ffat0.1a_proto.h:
‣ expected constructor, destructor, or type conversion before ';' token
• Error at line 36 in file am_ffat0.1a_proto.h:
‣ expected constructor, destructor, or type conversion before ';' token
matt:
Urk. Something broke with the ctags update then...
What OS are you on?
matt:
Can you find the file am_ffat0.1a_proto.h
in Output and paste it here?
ullix:
I now see another update available: "Core varcmd scriptlets" ?? Better not touch it?
matt:
That one just adds a new script that is irrelevant to current operation. You can upgrade it and nothing much will happen (one file will be added).
ullix:
I can't paste this output, because it does not exist. Tried both compile-only and compile-w-upload, but see the screenshot:
matt:
Ok... I shall roll back to exuberant-ctags for now.
matt:
Update to ctags-1.0.8 should undo the changes.
ullix:
... and voila, it compiles again! Pheewww!
matt:
No idea what went wrong there - I use Ubuntu all the time as my desktop, so I know it should work on there, because that is where I have been using it. Are you on 64 or 32 bit?
ullix:
64bit.
Uecide is 0.10.6. I tried the last beta initially, but had trouble, cleaned everything and installed 0.10.6. That worked.
matt:
Maybe it's because you're on such an old version of Ubuntu? Is there any specific reason why you're on 16.4?
matt:
matt@ubuntu1604-64:~/.uecide/tools/ctags/bin/linux_amd64$ ./universal-ctags
./universal-ctags: error while loading shared libraries: libjansson.so.4: cannot open shared object file: No such file or directory
Maybe I need to try and compile a statically linked version...?
matt:
Can't do static, but I can disable support for such things as json, xml, etc, which massively reduces the library requirements...
ullix:
"such an old version of Ubuntu" - come on, this has support until April 2021!
I did a fresh install on my laptop with 18.04, but had nothing but trouble. This laptop is now also back to 16.04, and is reliable.
I am not going to touch my desktop until I absolutely have to!
With respect to your "static" discussion - is beyond my pay grade; I won't be of any help, I am afraid.
matt:
Myself, I'm a "bleeding edge" champion. If something's more than 1 day old it needs upgrading ;)
As for the static thing - the ctags package has both exuberant and universal ctags in there now as separate binaries (I need universal ctags for the new version of UECIDE I'm working on to fix problems with split-line prototypes), si you can try running the binary manually to check that it works - although it should, since I set up a 16.04 64-bit VM to test it on...
matt:
Ctags should have zero effect on the opening of the program. It is merely a tool that is called periodically during running to parse your sketch. There will be something else causing the problem - possibly a corrupt preferences.txt caused by the first lockup.
Whenever it locks up like this it is usually the fault of an exception being thrown. Step one is always to run it from the terminal:
$ uecide --exceptions
That should tell you why it's crashing and I can translate that into what to do to fix it.
By the way, all that changed since the last version (which was working) was I replaced the universal-ctags binaries with slimmed down ones. Nothing in your setup uses those binaries - they are only used in my development branch. So they cannot have a bearing on anything at all.
ullix:
This exuberant thing is not convincing :-((
I upgraded it - I believe it should now be 1.09? - and restarted uecide.
It now shows the editor with the first sketch open, and is frozen solid. I can't even close it by Alt-F4 or the Window frame tools; must kill it!
The opening logo is also still open and responds to nothing.
Another roll-back would be highly appreciated !!!
But, eeh, how can I roll-back when the program does not open???
UPDATE:
Tried to start uecide one last time - and it works again! Plugin manager says that the exuberant thingy 1.0.9 is installed (and 1.0.4 is available?).
How comes? Does it take several minutes (>10min) to update, and while updating freezes everything ?
ullix:
strange. but see my update; it works again.
matt:
Java does strange things. I sometimes have to kill it outright and restart because it's gone unresponsive. And not just UECIDE - many Java programs...
ullix:
running "$ uecide --exceptions" now gives about 2 dozen identical lines of this:
Warning: substituting default font for missing font Monotype
I guess this is of no help.
matt:
That's just a typo in the default preferences settings. Monotype should read Monospaced. It's no matter though, I think it replaces it with Monospaced anyway as the default. If and when it crashes though it should spew out a stack trace of information about why it crashed. The most common problem is "Null Pointer"...
ullix:
So, from one moment to the next, uecide won't start. Killing it, then restarting with "$ uecide --exceptions" gives this:
$ uecide --exceptions
0 packages can be upgraded.
Exception in thread "main" java.lang.NullPointerException
at org.uecide.Editor.openNewTab(Editor.java:2464)
at org.uecide.Editor.openOrSelectFile(Editor.java:2420)
at org.uecide.Editor.<init>(Editor.java:632)
at org.uecide.Base.createNewEditor(Base.java:1352)
at org.uecide.Base.doOpenThings(Base.java:958)
at org.uecide.Base.<init>(Base.java:809)
at org.uecide.Base.main(Base.java:185)
But then it still hangs at this stage. Now what?
matt:
Looking at that backtrace you have "editor.save.loadlast" enabled, but the last sketch either doesn't exist or it's corrupt. Edit the file ~/.uecide/preferences.txt and find the line "editor.save.loadlast=true" (or whatever it equals - I forget if it's true or yes) and delete it.
ullix:
Yes, it was "editor.save.loadlast=true" and removing the line brought it back to life! Thanks.