|Re: Linkage error due to the incompatible Guava versions [message #1333724 is a reply to message #1327630]
||Mon, 05 May 2014 07:36
|| Pierre-Charles David
Registered: July 2009
Le 02/05/2014 14:07, Missing name Mising name a écrit :|
> Hi there,
> I'm encountering the aforementioned issue while using Sirius. Detailed
> stack trace attached. I guess this is because my current installation
> contains various Guava versions (10, 11, 15) and Sirius is using a
> different version than Acceleo. I'm aware of some related bugs and work
> in progres for Luna (like
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=428976 or
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=429682 and also some
> effort to handle this issue
> What I'm asking for is whether there is a known workaround which would
> allowed me to use Sirius in my current Kepler installation.
> Unfortunatelly I cannot reduce the number of available versions of Guava
> (especially not the v15) as there are other projects depending on it.
It really depends on which versions of Sirius and Acceleo you use.
- Sirius 0.9 up to and including 1.0.0M5 had a strict version dependency
towards Guava 11.0.2 *and* exposed Guava-specific types in its API,
which is a bad combination, and probably the cause of the error you see.
- Sirius 1.0.0M6 still exposes Guava-specific types, but is more
flexible and accepts any Guava version from 11 to 15 (included). From
what I understand of OSGi there are still possible errors in this case,
but in less situations.
- Sirius 1.0.0M7 which will be released this week, does not expose
Guava-specific types anymore (at least in its API). As long as other
components do not use internal methods that still do expose some Guava,
M7 should normally be free of these kinds of problems.
Note that Sirius 1.0.0M7 (and 1.0.0), even if it is part of the Luna
release train and milestones, is still compatible with Kepler (just be
sure to use the Kepler-specific update-site).
If you can, I would advise to upgrade to M7 as soon as it is available,
or even better to test a recent nightly  to help us verify the issue
is indeed fixed for M7 (and tell us if you still have problems). If you
can not upgrade, the only option I see is to make sure Xtext and the
Sirius Xtext integation plug-in (org.eclipse.sirius.common.xtext) are
not installed (if you do not need them). Beside Sirius and Acceleo
themselves, Xtext is another modeling component that requires Guava.
Depending on whether it is installed or not may have an effect on which
version of Guava is resolved for Sirius and Acceleo.
In any case, can you give us the exact version numbers of Sirius and
Acceleo (and Xtext if installed) with which you saw the error?
Pierre-Charles David - Obeo
Need training or professional services for Sirius?
|Re: Linkage error due to the incompatible Guava versions [message #1336929 is a reply to message #1333724]
||Tue, 06 May 2014 16:35
| Ondrej Ilcik
Registered: December 2010
thanks for your clear and helpful explanation. You are 100% correct.
So, to sum it up, my current Eclipse installation consists basically of Kepler SR2 RCP and various plugins, most notable being CDT, Xtend, Code Recommenders and Acceleo 3.4.2. There are 3 guava plugins able to co-exist and being loaded together:
- Guava 15 required by e.g. Code Recommenders 2
- Guava 11 (?)
- Guava 10 required by e.g. Xtend
Some plugins also carry built-in version of Guava (Guava 13 by Window Builder etc.)
I have tried 3 versions of Sirius with these results:
- Sirius 0.9.0 - does not work
- Sirius 1.0.0M6 - works
- Sirius 1.0.0 Night (20140506) - works
No thorough testing, but it works where 0.9.0 throw the exception.
So maybe this will help others. Btw, altough we hope for a quick transition to Luna, it's definitely good to hear Sirius 1.0 will support both Luna and Kepler.
Once again, thanks for your help.
Powered by FUDForum
. Page generated in 0.06641 seconds