FS#13071 - soprano 2.2.1-1 should depend on java-runtime
Attached to Project:
Arch Linux
Opened by xduugu (xduugu) - Saturday, 31 January 2009, 16:32 GMT
Last edited by Pierre Schmitz (Pierre) - Friday, 27 February 2009, 15:32 GMT
Opened by xduugu (xduugu) - Saturday, 31 January 2009, 16:32 GMT
Last edited by Pierre Schmitz (Pierre) - Friday, 27 February 2009, 15:32 GMT
|
Details
Description:
soprano 2.2.1-1 should depend only on java-runtime, not on openjdk6. Additional info: $ pacman -S soprano resolving dependencies... looking for inter-conflicts... :: openjdk6 conflicts with jdk. Remove jdk? [Y/n] n error: unresolvable package conflicts detected error: failed to prepare transaction (conflicting dependencies) :: openjdk6: conflicts with jdk Steps to reproduce: Installing soprano with installed jdk/jre and not replacing jdk/jre with openjdk6. |
This task depends upon
Closed by Pierre Schmitz (Pierre)
Friday, 27 February 2009, 15:32 GMT
Reason for closing: Fixed
Additional comments about closing: kind of ;-)
Friday, 27 February 2009, 15:32 GMT
Reason for closing: Fixed
Additional comments about closing: kind of ;-)
Is it then possible to make openjdk6 an optional dependency or does soprano work only with the java backend?
That way, jre or openjdk can both be used, but not gcj or eclipse.
* They are installed to different paths
* The libjvm.so lib is not covered by ld.conf
* The profile in /etc/profile.d have different names
Point two is the most important one.
The affected packages are:
* openjdk6
* java-gcj-compat (is this really ABI compatible to the other two? If not it should not provide java-runtime)
* jre
If not, versioned provisions could be used. For example :
java-gcj-compat provides java-runtime=5
openjdk6 and jre provide java-runtime=6
soprano can then depend on java-runtime=6 or java-runtime>=6
But the best option would probably be to have soprano accept either jre OR openjdk6 as java dependency...
If it's proven that another java-runtime, e.g. gcj doesn't work please make it conflict and file a bug against it (best way upstream). Anyway Jan and me were already thinking about dropping gcj/java-compat completely). We'll see where java development goes.
And yes, gcj can be dropped; at least it should not provide java-runtime.
Regards
André
I ran 'pacman -Syu' a few hours ago and I had to remove jdk and jre packages, as soprano has to be updated and it now needs openjdk6.
+1 for soprano as optdepend.
i actually never used it. is it mandatory?
please let soprano depend on java-runtime=6 or java-runtime>=6
i've added an comment to the jre and jdk package http://aur.archlinux.org/packages.php?ID=6118 and http://aur.archlinux.org/packages.php?ID=6121
that gcarrier should add a fix for the jre/jdk problem with soprano
/opt/java/jre/lib/amd64/server to /etc/ld.so.conf (on arch64) or /opt/java/jre/lib/i386/server (on 32 bit arch) an run ldconfig
with this modification soprano, nepomuk and strigi service working fine for me.
To Andreas's point, it sounds to me like openjdk6 tries for and mostly achieves 100% compatibility with Sun JRE. If so, users should have a choice to use one or the other, and bugs should be reported upstream to be fixed by openjdk6.
To Fabian's suggestion, we should probably version the java-runtime provision so we can differentiate between things that provide differing levels of Java support (5, 6).
I'm happy to help out with the legwork making something happen to make this all better, if we can agree on the course of action.
FS#13275andFS#13276are implemented, then this bug can be fixed by letting soprano depend on java-runtime>=6FS#13276done.I am suspecting it might be a problem on your system if /etc/profile isn't being sourced properly by your shell.
So jre and jdk provide a file in profile.d which should be sourced properly by /etc/profile, they don't need to have the same names. And these jre/jdk profiles should export JAVA_HOME properly so that ld.so.conf does not need to be affected.
I cannot check now, but I believe this line could be removed : . /etc/profile.d/openjdk6.sh
And the dependencies should be changed to :
depends=('qt' 'clucene' 'java-runtime>=6')
makedepends=('cmake' 'pkgconfig' 'java-environment>=6')
Until openjdk6 achieves 100% compatibility, would'nt it be more desirable to have both openjdk6 and sun jdk don't conflict, and temporarily remove java-runtime and java-environment provisions from openjdk6 ?
Then if soprano explicitly depends on openjdk6, it won't conflict with other packages which depend on sun jdk.
* There is nothing wrong with the soprano pacakge atm.
* Soprano has to depend on openjdk6; its the only supported and working java runtime in Arch (jre is in community)
* Changing the dep to just java-runtime does not solve anything as long as openjdk and jre are not compatible. (and gcj is removed)
** Remember: This is a runtime incompatibility; of course one can build and then run soprano with jre
So, it would be ncie if people would start thinking about "fixing" openjdk or jre to solve this problem instead of repeating over and over again that soprano is the problem here.
Of course, if you have another idea to fix this within soprano (without providing different packages for each java-runtime) I would have a look at it.
> * There is nothing wrong with the soprano pacakge atm.
Yes, it conflicts with any java runtime provider other than openjdk6 (whevever they come from, whatever they are).
> * Soprano has to depend on openjdk6; its the only supported and working java runtime in Arch (jre is in community)
No it doesn't. It can depend on java-runtime, which is the only supported and working abstraction mechanism for java runtime in Arch.
> * Changing the dep to just java-runtime does not solve anything as long as openjdk and jre are not compatible. (and gcj is removed)
openjdk and jre should be compatible; doesn't soprano work with jre? If not, what can I do?
That doesn't change the fact that incompatibility between java apps (like soprano, which partially use java) and jre are a jre bug, and doesn't affect soprano.
> ** Remember: This is a runtime incompatibility; of course one can build and then run soprano with jre
Maybe I didn't understand, finally. You can't compile it for both openjdk6 and jre?
> So, it would be ncie if people would start thinking about "fixing" openjdk or jre to solve this problem instead of repeating over and over again that soprano is the problem here.
What can I do?
> Of course, if you have another idea to fix this within soprano (without providing different packages for each java-runtime) I would have a look at it.
Well, in a first time you could make openjdk6 an option dependency for soprano... As soprano seems to be a dependency for KDE, I'd rather see KDE working 99% when jre is installed instead of this conflict.
If there is any solution requiring (limited) changes in jre, I'd LOVE to hear about it.
FS#13275Make soprano depend on java-runtime(>=foo if known) if it's known to work with any java runtime providing this. If it's known to be broken with anything else than the official openjdk6 pkg I think it's right to strictly depend on it. As this seem to be the case here I think there should be a new bug opened for Sun jre - best place would be upstream (we would close it here).