Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sloeber plugin won't install on 2021-06 after most recent update #1361

Closed
eshicks4 opened this issue Jul 12, 2021 · 62 comments · Fixed by #1431
Closed

Sloeber plugin won't install on 2021-06 after most recent update #1361

eshicks4 opened this issue Jul 12, 2021 · 62 comments · Fixed by #1431
Labels
domain: configuration Configuring Sloeber does not work as docummented Hot issue OS: all status: workaround documented A workaround has been confirmed to solve this issue.
Milestone

Comments

@eshicks4
Copy link

eshicks4 commented Jul 12, 2021

====================WORKAROUND===============
There are a couple of ways to work around this issue. Here are 2

  1. make sure you have following update sites before installing sloeber
    https://download.eclipse.org/releases/latest/
    http://download.eclipse.org/eclipse/updates/latest
    https://download.eclipse.org/nebula/releases/latest/
    http://eclipse.baeyens.it/update/V4/stable

  2. Try to install sloeber using either the marketplace or install new software
    This will fail (but will add the update sites above to the update sites)
    Restart eclipse (needed to clean caches)
    try again (this should work)

  3. add the plugin (not the product) to an existing eclipse install.
    =============================================

An update came through yesterday (2021-11-07) which doesn't appear compatible with the current version 2021-06. I've tried multiple times from completely fresh installs of different "flavors" and the fewest errors I've gotten has been from the C/C++ variety:

An error occurred while collecting items to be installed
session context was:(profile=_Users_ehicks_Applications_Eclipse.app_Contents_Eclipse, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
No repository found containing: osgi.bundle,org.eclipse.nebula.cwt,1.1.0.202011020719
No repository found containing: osgi.bundle,org.eclipse.nebula.widgets.cdatetime,1.5.0.202011020719
No repository found containing: osgi.bundle,org.hamcrest.core,1.3.0.v20180420-1519
No repository found containing: osgi.bundle,org.junit,4.13.0.v20200204-1500

I'm also attaching an export of my install sources. It's from one of today's fresh installs but after having installed a few other packages to make sure it was just Sloeber that was having issues.

bookmarks.xml.txt

If you need any other info please let me know. Thanks

@jantje
Copy link
Member

jantje commented Jul 12, 2021

I tested with downloading Sloeber version V.4.3.3 and upgrading.
Apart from having to replace the jre because of the java update (causing me to have to restart 2 times) all went well.

Can you please be more precise on what you are trying to do?
What do you men with 2021-06? There has not been a Sloeber release on 2021-06

@jantje jantje added the status: waiting for input OP was requested to provide more info. (issues in this state longer than a month will be closed) label Jul 12, 2021
@eshicks4
Copy link
Author

2021-06 is the latest Eclipse. Installing Sloeber product via the Marketplace had worked until yesterday.

I haven't been able to get the customized Eclipse version to work at all. I'm on MacOS Big Sur with jdk1.8.0_291.jdk installed. When I try to launch it I just get an alert window that says "Failed to create the Java Virtual Machine". Attempting to run the binary directly I see this:

iMac:~ user$ Applications/Sloeber.app/Contents/MacOS/sloeber-ide
JavaVM: Failed to load JVM: /Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home/lib/libserver.dylib
JavaVM FATAL: Failed to load the jvm library.

The binary just hangs from there until I cntl-c out of it. It isn't lying about the file not being there but I'm not sure why it wasn't installed with the rest of the JDK or what I need to install to get it.

@eshicks4
Copy link
Author

eshicks4 commented Jul 12, 2021

BTW, I did see the note that the newer Sloebers need JDK11 but I'm not sure how to convince it to use it. It is installed and a link to it is in /Libaray/Java/JavaVirtualMachines but the trick it convincing the software to use it instead of JDK8.

iMac:~ user$ ls -l /Library/Java/JavaVirtualMachines/
drwxr-xr-x  3 root  wheel   96 Jul 12 01:32 jdk1.8.0_291.jdk
lrwxr-xr-x  1 root  wheel   33 Jun 22 10:20 openjdk.jdk -> /usr/local/Cellar/openjdk/16.0.1/
lrwxr-xr-x  1 root  wheel   37 Jun 22 10:21 openjdk@11.jdk -> /usr/local/Cellar/openjdk@11/11.0.10/

Regardless, libserver.dylib isn't in that one either.

@jantje
Copy link
Member

jantje commented Jul 12, 2021

this page explains how you can set the java path
https://wiki.eclipse.org/Eclipse.ini
having a jre folder works as well if you have enough disk space
afbeelding

@eshicks4
Copy link
Author

The JRE subdirectory part didn't work for me as it still wanted to use the system JDK8; however, forcing the path to JDK11 in the ini file did. Still kind of bummed that I need to split across 2 IDEs but at least I can push off learning PlatformIO a bit longer. Feel free to do whatever you like with this issue report. Thanks!

@jantje
Copy link
Member

jantje commented Jul 13, 2021

The jre subfolder is a standard eclipse way to do things. This should work though.

Still kind of bummed that I need to split across 2 IDEs

What do you mean by that?

@florianfa
Copy link

I'm facing the same issue here.

@florianfa
Copy link

Hi wim,

JDK11 also won't work. I,m actually using the following environment:

Eclipse Version: 2021-06
Sloeber Version: 4.4.0
openjdk 11.0.11 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.18.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.18.04, mixed mode, sharing)

Florian

@wimjongman
Copy link
Member

@florianfa what is exactly your problem? Please attach logs and stuff (attach, not paste in comment). Cheers.

@Kilill
Copy link

Kilill commented Sep 8, 2021

Seems i have the same issue?

Trying to install the plugin from the marketplace on a fresh install of eclipse:

i get the following error
Installing software has enountered a problem.

An error occurred while collecting items to be installed
session context was:(profile=E__eclipse_eclipse, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
No repository found containing: osgi.bundle,jnr.x86asm,1.0.2.v201505052040
No repository found containing: osgi.bundle,org.eclipse.nebula.cwt,1.1.0.202011020719
No repository found containing: osgi.bundle,org.eclipse.nebula.widgets.cdatetime,1.5.0.202011020719
No repository found containing: osgi.bundle,org.hamcrest.core,1.3.0.v20180420-1519
No repository found containing: osgi.bundle,org.junit,4.13.0.v20200204-1500

OS: Windows 10

Eclipse version:
Version: 2021-06 (4.20.0)
Build id: 20210612-2011

Attaching parts of the configuration dump from eclipse
eclipseDump.txt

@jantje
Copy link
Member

jantje commented Sep 8, 2021

From the log I would assume you do not have nebula in your update sites
http://download.eclipse.org/nebula/releases/latest/
This should resolve the 2 nebula repositories and may introduce new ones
I'm not sure where the others should be found.
Do you have http://download.eclipse.org/releases/latest/ as update site? I mean junit seems pretty common in eclipse.

@Kilill
Copy link

Kilill commented Sep 8, 2021

Thanks, you was almost right, the Nebula repository was there and did contain the actual files. After a lot of trial and error i disabled the Nebula site and lo and behold it installed without complaining.

Tried to reenable the Nebula site after and sure enough, it fails.

So it seems the eclipse-21-06 install sets up some weird repositories

Thanks for the help!

@jantje
Copy link
Member

jantje commented Sep 8, 2021

@Kilill
The whole update site ecosystem is still unknown territory to me. I simply even can't get my head around how it is supposed to work in a multiple update site scenario as the add sloeber to standard eclipse.
Basically I think it is a miracle it works correctly so often.
Anyway that is also why we created the project that is one download with all the correct plugins in one go.

@btoland
Copy link

btoland commented Sep 10, 2021

I'm having the same problem trying to install the plugin into a fresh eclipse 2021-06 CDT install.

I'm getting exactly the same errors as @Kilill. Tried the solution of removing and adding back in the Nebula repository. Nebula errors go away when repository removed but others remain... and come back when Nebula re-added. Checked the basic update site urls too - all good -as expected from a fresh install.

Any chance we could get a link to the previous (or older) release of the plugin? I think archive versions on the website are the Sloeber Product (I could be wrong there?) but I need to create a custom bundle for teaching.

I tried fresh older versions of eclipse 10 CDT too and got same results. Tried eclipse 9 CDT as well but plugin won't install on that - tries to upgrade to eclipse 10. Also tried on a fresh eclipse Java 2021-06 - same errors as CDT 2021-06.

It would be great to be able to select different versions of the plugin to help hunt down incompatibility issues?

Win 10 on Virtualbox guest, macOS host.
OpenJDK 11, HotSpot JRE
Eclipse version 2021-06 CDT 10.3.2

@jantje
Copy link
Member

jantje commented Sep 10, 2021

I'm getting exactly the same errors as @Kilill. Tried the solution of removing and adding back in the Nebula repository. Nebula errors go away when repository removed but others remain...

And these are?

I think archive versions on the website are the Sloeber Product (I could be wrong there?) but I need to create a custom bundle for teaching.

Why don't you take the product and start from there to build your custom bundle?
The product is eclipse +egit + cdt + sloeber + ...

Alternatively; check the master out from github go to the branch that is linked to the release you want and build with maven. That will give you the update site and the product.
The some old products install zips/archives are available but I don't want to go into the nightmare of old update sites.
Update sites are a nightmare and that is why we created the self contained product and do not support update sites

Tried eclipse 9 CDT as well but plugin ...

#1263
A similar issue exists with java versions

It would be great to be able to select different versions of the plugin to help hunt down incompatibility issues?

I don't see any new incompatibility issues right now.

Win 10 on Virtualbox guest, macOS host.

Any reason why you don't run native?

.

@btoland
Copy link

btoland commented Sep 10, 2021

Hi Jantje,

Thanks for the quick reply.

I was obsessing about putting together a super "clean" bundle with the Sloeber plugin and a some others but I'm going to take your advice and try build off the Sloeber product instead.

I'm using this for teaching embedded programming and as students are mainly on Win10 so I work in a VM. Also, then students on linux or macos can run on VM too and I only have one platform to support.

In future I might go back and build the plugin from source but just don't have time right now.

Thanks for the great work on this tool - it is excellent.

@jantje
Copy link
Member

jantje commented Sep 10, 2021

teaching embedded programming

Can you share the school and class? I like to boast from time to time ;-)
Don't hesitate to create specific school situation tickets or share experiences.

@btoland
Copy link

btoland commented Sep 10, 2021

TU Dublin - Ireland. Computer Engineering Programme.

Thinking about it again now, I realise one of the reasons I'd like the plugin is because I want to introduce Eclipse as our IDE for native C/C++ development when teaching programming before adding Sloeber, AVR plugin etc and moving on to embedded.

There are arguments to keeping separate eclipse instances for different development platforms but it would be nice to have one IDE to rule them all... but maybe separate might be better... I'll keep playing with it...

@Kilill
Copy link

Kilill commented Sep 10, 2021

I have tried to reproduce the original error without success, but, thinking back to what i did i might have an idea, at some point i exterminated any trace of eclipse on the machine, and i think the important directory to get rid of /rename is the C:\Users<yourUserNameHere>.eclipse in addition to any install directory. (This will kill of any plugins/extensions etc that you might have previously) Then I did the following dance

  1. Install eclipse normally, this will populate the "Software Sites" with the normal suspects:

virgin

  1. Try to install Sloeber Plugin from marketplace , (Help->Eclipse Marketplace, Search for Sloeber) this will fail with:

marketPlaceInstall1

3. The "Software List" has now been updated to:

afterInstallHL

4. Disabled all the new entries **Except** the Sloeber site 5. Install Sloeber by Help-Install New Software, select the Sloeber site and add the Plugin. 6. It now installed without errors.

@jantje
Copy link
Member

jantje commented Sep 10, 2021

@btoland
Thanks
Thing is the sloeber product is eclipse + eclipse ide + CDT + sloeber
So even having sloeber installed you can use it as CDT
Sloeber adds the sloeber toolbar and arduino menu but you can easily remove this from the CDT perspective giving you a plain CDT look.
The only direct visual hints about sloeber (once started) then are the about and the arduino in preferences
Note that the arduino in new CDT project is from CDT and has nothing to do with Sloeber.

@jantje
Copy link
Member

jantje commented Sep 10, 2021

@Kilill
Thanks for the research. I'll see whether sloeber specifies these update sites. What I think about them
The CDT9 is bad
Nebula is probably referenced and apparently no more needed
The eclipse repository should be the way to go.
The embedded C++ is "competition" that has been abandoned and the reference for sure should not be coming from sloeber
Part of GNU MCU is part of the sloeber product but not from the plugin. IMHO this has recently become part of CDT so the update site may no longer be needed for the product

Thinking about this. Are you trying to install the product and not the plugin via marketplace?
Because via marketplace adding a plugin you should add the plugin not the product.
I know it is confusing but marketplace lets you specify whether the install is a product or a plugin so I added both but to add a plugin one should use the plugin not the product.
As should be clear from my update site remarks the product installs other goodies (like the gnu mcu debugger and egit) and that is why we advice to install the product (using the downloadable archive).

wimjongman added a commit that referenced this issue Sep 10, 2021
Explicitly added cwt and cdatetime to the dependencies.
@Kilill
Copy link

Kilill commented Sep 10, 2021

Thinking about this. Are you trying to install the product and not the plugin via marketplace?

No its the plugin (background for that: Already have an eclipse installation...)

@wimjongman
Copy link
Member

I am working on this via #1381

@jantje jantje removed the status: waiting for input OP was requested to provide more info. (issues in this state longer than a month will be closed) label Sep 10, 2021
@jantje jantje changed the title Sloeber product won't install on 2021-06 after most recent update Sloeber plugin won't install on 2021-06 after most recent update Sep 10, 2021
@jantje
Copy link
Member

jantje commented Sep 10, 2021

Looking at the update sites from the products
afbeelding
I see a new entry with http://https for which I think @wimjongman should take a look
The update site plugin holds clearly wrong values
afbeelding

Based on that and the info @Kilill presented it looks to me that the marketplace adds the update sites of the update plugin to the update sites of the eclipse install before trying to install the plugin.
From previous experiences with update sites and the install functionality it looked as if these update sites mentioned in the update site plugin were not used (and therefore neglected)

wimjongman added a commit that referenced this issue Sep 14, 2021
Try with http category update sites
Instead of https, try with http update site
Remove redundant update sites
@jantje
Copy link
Member

jantje commented Sep 14, 2021

However when you tried to install Sloeber without having the nebula repository you need to restart eclipse for it to work.

Sometimes you need to restart...
sometimes not...
sometimes you need to restart more than once...
or first, remove the nebula repository and then select Sloeber again...

This is not consistent behavior therefore, I think this is an Eclipse issue.

What I mean is: once it failed with the error message during install, eclipse only recovers after restarting.

@wimjongman
Copy link
Member

What I mean is: once it failed with the error message during install, eclipse only recovers after restarting.

Not always.

@jantje
Copy link
Member

jantje commented Sep 14, 2021

Well it never did in this test case during these tests

@jantje
Copy link
Member

jantje commented Sep 15, 2021

The default update sites for any stock Eclipse installation are:

* Eclipse Simultaneous Release - https://download.eclipse.org/releases/xx.xx

* The Eclipse Project Updates - http://download.eclipse.org/eclipse/updates/xx.xx

These should be also part of the Sloeber product, together with any other update sites.

If I understand correctly you say the sloeber update site should reference these update sites (which it does) and so should nebula (which it doesn't; I checked; tried to add it; everything became complex)

@wimjongman
Copy link
Member

The Sloeber update site should only add update sites that are not expected to be available. So it is not needed to add the two Eclipse Repos. It should add Nebula because that is not expected to be there.

Nebula should not add the two Eclipse repos because they are expected to be there.

Our product should add all repos because no one else adds them.

@wimjongman
Copy link
Member

I am currently debugging P2 but it is a big confusing log. I don't understand why it tries to add the CDateTime widget because we don't use that.

We should try to install only CDT and see if that one fails to install as well.

@jantje
Copy link
Member

jantje commented Sep 15, 2021

First of all thanks for the update on what is expected in the update sites.
I think debugging P2 is the way to go but I also think it is a long lasting problem and as such probably hard to find.
My guess from the behaviour I see is that the install exists out of 2 main steps. Step 1 is "Validation of the installability of the selected components" (enables finish) and step 2 "actual install of the components".
It looks to me as if the list of update sites used in these 2 steps are different.
I say so because I remember testing a sloeber update site without the nebula update site and I got "Can not install nebula" error message in step 1.

We should try to install only CDT and see if that one fails to install as well.

Isn't that what we are doing when installing nebula first and then add Sloeber? That works fine.

@jantje
Copy link
Member

jantje commented Sep 15, 2021

We should try to install only CDT and see if that one fails to install as well.

Thinking about this. I tried this test (which failed in the past)
Install nebula
afbeelding
Installs fine; restart eclipse
Remove all update sites and add sloeber update site.
This puts CDT in the situation it needs to be installed based on a update site only referenced in the sloeber update site
afbeelding
Step 2 fails
afbeelding
I restarted eclipse (just to flush all install caches)
As you can see the update sites do not contain http://download.eclipse.org/eclipse/updates/xx.xx
afbeelding

remove all but sloeber and add http://download.eclipse.org/eclipse/updates/latest
afbeelding

and I get the same error
afbeelding

without editing the update stites
tried again same error
restarted and tried again
installed

From this I conclude that installation step 2 does not take all the update sites into account gathered in step 1

@jantje jantje added domain: configuration Configuring Sloeber does not work as docummented Hot issue OS: all status: workaround documented A workaround has been confirmed to solve this issue. labels Sep 15, 2021
@jantje
Copy link
Member

jantje commented Sep 15, 2021

And I also have the feeling it is the caching that doesn't update as it should.
If one can flush the caches easily; I would add a cache flush when pressing finish. That should answer the question "is this a cache issue or not"

@wimjongman
Copy link
Member

I already tried that. You can go to the preferences and "Reload" every update site but it does not work either.

@jantje
Copy link
Member

jantje commented Sep 15, 2021

Good now we know it is not only a caching issue 🥇 (or there are more caches than we know of )
Next thing I would try is dumping/validating the update sites searched for at the time of failing to find.

Mental note to myself: As this should never happen -due to step 1 validation- this may be an ignored exception

@btoland
Copy link

btoland commented Sep 21, 2021

Finally got the plugin to install on vanilla eclipse 2021-06/2021-09 CDT. Windows 10. No JRE installed.

The workarounds listed at the top of this thread did not work for me but gave me a hunch so tried below which worked for me:

  1. Started with eclipse CDT 2021-06 download as per CDT download site. All previous eclipse folders, workspaces etc deleted so fresh install.
  2. Before running the "Check for Updates" to update CDT - manually added to "Available Software Sites":
    https://download.eclipse.org/nebula/releases/latest/
    http://eclipse.baeyens.it/update/V4/stable
  3. Ran Check for Updates to update CDT/Eclipse and did restart requested. (perhaps this sorted out the various caching issues mentioned above??).
  4. After update installed Sloeber by using Help->Install New Software and selecting Sloeber update site.
  5. Sloeber installed and eclipse restarted.
  6. Then ran into the JRE16 issue with "Cannot parse..." as using the bundled JRE that now comes with eclipse.
  7. Added the " --illegal-access=permit" (Sloeber does not work with Java 16 or higher #1339, The included jrexxx java is version 16 which is incompatible with Sloeber #1384 workaround) line to the END of my eclipse.ini (didn't work after -vm line) and restarted.
  8. All good. Happy Days.

@wimjongman wimjongman added this to the 4.4.1 milestone Jan 2, 2022
@wimjongman wimjongman linked a pull request Jan 2, 2022 that will close this issue
@wimjongman
Copy link
Member

I think this is fixed with: #1431

@rtek1000
Copy link

rtek1000 commented Jun 5, 2022

I believe I had this problem too, with the current version IDE: Version: 2022-03 (4.23.0)

@jantje
Copy link
Member

jantje commented Jun 5, 2022

@rtek1000 I think upgrading will always have it's difficulties.

@CelimoC
Copy link

CelimoC commented Nov 11, 2022

to install Arduino sloeber in Eclipse IDE.

  1. there is an error when installing from the market place

An error occurred while collecting items to be installed
session context was:(profile=C__Users_dcela_cpp-2022-092_eclipse, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
No repository found containing: osgi.bundle,org.eclipse.nebula.widgets.oscilloscope,1.4.0.202208171909
No repository found containing: org.eclipse.update.feature,org.eclipse.nebula.widgets.oscilloscope.feature,1.4.0.202208171909
No repository found containing: osgi.bundle,org.eclipse.nebula.widgets.oscilloscope.source,1.4.0.202208171909
No repository found containing: osgi.bundle,org.hamcrest.core,1.3.0.v20180420-1519
No repository found containing: osgi.bundle,org.junit,4.13.2.v20211018-1956

  1. solution
    Help->Install new update-> Add
    copy paste in Location: https://download.eclipse.org/nebula/releases/latest/
    in "work with" : io.sloeber.updatesite - http://eclipse.baeyens.it/update/V4/stable

Select all and install.
then install Sloeber from the market place. Restart Eclipse,
all DONE!

got this error, but not paying attention:

Due to issues with long pathnames on Windows, the Sloeber installation path must be less than 40 characters.
Your current path: C:/Users/dcela/cpp-2022-092/eclipse/arduinoPlugin is too long and the plugin will no longer function correctly for all boards.
Please visit issue #705 for details. #705
Alternatively use the environment var SLOEBER_HOME.

Sloeber might still function but if you get strange results you know where to look.
Do not reate an issue if you see this!!!

cheers
/Celimo

@dlarue
Copy link

dlarue commented Mar 13, 2023

Still and issue after installing Eclipse 2022-12 CDT, needed to manually install Nebula using the Help->Install New Software option adding http://download.eclipse.org/nebula/releases/latest/ repository and installing Nebula packages.

After Eclipse restart I could then use the Eclipse Marketplace to install the Arduino plugin.

But I did notice it was using Arduino IDE v 1.8.x packages, compiler and tools and that is deprecated for the Arduino IDE v 2.x.x packages, compiler and build tools.

@littlegreenrock
Copy link

littlegreenrock commented Apr 3, 2023

  • perhaps try installing Java 8.

Sloeber plugin for fresh Eclipse install still no bueno after painfully following every bit of advice.
final effort was to install Java 8. Magically corrected something, and the plugin installed into Eclipse. No error messages mentioned specifically Java 8 was needed.

config: win10 64b. Freshly downloaded and latest versions of: Eclipse, and Java. Installing Sloeber as plugin.

@jantje jantje closed this as completed Feb 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain: configuration Configuring Sloeber does not work as docummented Hot issue OS: all status: workaround documented A workaround has been confirmed to solve this issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants