|
Re: Missing dependency on JSch when installing EGit on 3.5.2 [message #524867 is a reply to message #524824] |
Sat, 03 April 2010 07:39 |
Robin Rosenberg Messages: 332 Registered: July 2009 |
Senior Member |
|
|
Jamie Penman-Smithson wrote:
> After updating to Eclipse 3.5.2 on Ubuntu lucid I'm unable to install EGit
> because it can't locate JSch:
>
>
> Cannot complete the install because one or more required items could not
> be found.
> Software being installed: Eclipse JGit Feature (Incubation)
> 0.8.0.201003292117 (org.eclipse.jgit.feature.group 0.8.0.201003292117)
> Missing requirement: JGit Core (Incubation) 0.7.1 (org.eclipse.jgit
> 0.7.1) requires 'package com.jcraft.jsch [0.1.41,0.2.0)' but it could
> not be found Missing requirement: JGit Core (Incubation)
> 0.8.0.201003292111 (org.eclipse.jgit 0.8.0.201003292111) requires
> 'package com.jcraft.jsch [0.1.41,0.2.0)' but it could not be found
> Cannot satisfy dependency:
> From: Eclipse JGit Feature (Incubation) 0.8.0.201003292117
> (org.eclipse.jgit.feature.group 0.8.0.201003292117) To:
> org.eclipse.jgit 0.0.0
>
>
> I've checked that jsch is installed:
>
>
> jamie@avior:~$ aptitude show libjsch-java
> Package: libjsch-java
> State: installed
> Automatically installed: yes
> Version: 0.1.42-1build1
>
>
> and the JAR is installed:
>
>
>
> jamie@avior:~$ ls -al /usr/share/java/jsch*
> -rw-r--r-- 1 root root 208590 2009-10-19 17:38
> /usr/share/java/jsch-0.1.42.jar
> lrwxrwxrwx 1 root root 15 2010-04-02 13:23 /usr/share/java/jsch.jar ->
> jsch-0.1.42.jar
>
>
> and that it's listed in the plugin registry:
>
>
> com.jcraft.jsch (0.1.42) "bundleName" [Resolved]
> [..]
> org.eclipse.jsch.core (1.1.100.I20090430-0408) "JSch Core" [Active]
> org.eclipse.jsch.ui (1.1.200.r35x_20100210-1114) "JSch UI" [Starting]
We import the JSch stuff by package and version number and your version
of the JSch bundle does not export the packages with versions, which
is the recommended OSGi practice. Versions of EGit prior to 0.7 did not
require a specific version of JSch.
$ unzip -c /usr/share/java/jsch-0.1.42.jar META-INF/MANIFEST.MF|head
Archive: /usr/share/java/jsch-0.1.42.jar
inflating: META-INF/MANIFEST.MF
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 14.0-b16 (Sun Microsystems Inc.)
Bundle-ManifestVersion: 2
Bundle-Version: 0.1.42
Export-Package: com.jcraft.jsch, com.jcraft.jsch.jce;x-internal:=true,
com.jcraft.jsch.jcraft;x-internal:=true
.....
Compare with the Eclipse packaging which has version numbers in Export-
Package.
Manifest-Version: 1.0
Bundle-ClassPath: .
Bundle-Vendor: %venderName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.4
Bundle-Name: %bundleName
Bundle-SymbolicName: com.jcraft.jsch
Created-By: 1.4.0 (Sun Microsystems Inc.)
Export-Package: com.jcraft.jsch;version="0.1.41",com.jcraft.jsch.jce;v
ersion="0.1.41";x-internal:=true,com.jcraft.jsch.jcraft;version= "0.1.
41";x-internal:=true,com.jcraft.jsch.jgss;version="0.1.41";x-internal
:=true
Bundle-Version: 0.1.41.v200903070017
You should report this with Ubuntu as they are the ones providing the
packages,
-- robin
|
|
|
Re: Missing dependency on JSch when installing EGit on 3.5.2 [message #527312 is a reply to message #524867] |
Wed, 14 April 2010 19:00 |
Jamie Penman-Smithson Messages: 6 Registered: April 2010 |
Junior Member |
|
|
Robin Rosenberg wrote on Sat, 03 April 2010 03:39 |
We import the JSch stuff by package and version number and your version
of the JSch bundle does not export the packages with versions, which
is the recommended OSGi practice. Versions of EGit prior to 0.7 did not
require a specific version of JSch.
<snip>
Compare with the Eclipse packaging which has version numbers in Export-
Package.
Manifest-Version: 1.0
Bundle-ClassPath: .
Bundle-Vendor: %venderName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.4
Bundle-Name: %bundleName
Bundle-SymbolicName: com.jcraft.jsch
Created-By: 1.4.0 (Sun Microsystems Inc.)
Export-Package: com.jcraft.jsch;version="0.1.41",com.jcraft.jsch.jce;v
ersion="0.1.41";x-internal:=true,com.jcraft.jsch.jcraft;version= "0.1.
41";x-internal:=true,com.jcraft.jsch.jgss;version="0.1.41";x-internal
:=true
Bundle-Version: 0.1.41.v200903070017
You should report this with Ubuntu as they are the ones providing the
packages,
|
I've attempted to work around this by repackaging the JSch JAR with a corrected Export-Package:
jamie@avior:~/Downloads/jsch/jsch-0.1.42/dist/lib$ unzip -c /usr/share/java/jsch-0.1.42.jar META-INF/MANIFEST.MF|head
Archive: /usr/share/java/jsch-0.1.42.jar
inflating: META-INF/MANIFEST.MF
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 14.0-b16 (Sun Microsystems Inc.)
Bundle-ManifestVersion: 2
Bundle-Version: 0.1.42
Export-Package: com.jcraft.jsch;version="0.1.42",com.jcraft.jsch.jce;v
ersion="0.1.42";x-internal:=true,com.jcraft.jsch.jcraft;version="0.1.
42";x-internal:=true
However, Eclipse doesn't seem to recognise my Export-Package line and still complains that the dependency isn't fulfilled. I tried building a JAR by hand (using the tarball from JSch upstream), ensuring the manifest included an identical Export-Package attribute, with the same problem.
I'd really appreciate some pointers
Thanks again
|
|
|
|
|
Re: Missing dependency on JSch when installing EGit on 3.5.2 [message #579506 is a reply to message #524867] |
Wed, 14 April 2010 19:00 |
Jamie Penman-Smithson Messages: 6 Registered: April 2010 |
Junior Member |
|
|
Robin Rosenberg wrote on Sat, 03 April 2010 03:39
> We import the JSch stuff by package and version number and your version
> of the JSch bundle does not export the packages with versions, which
> is the recommended OSGi practice. Versions of EGit prior to 0.7 did not
> require a specific version of JSch.
>
> <snip>
>
> Compare with the Eclipse packaging which has version numbers in Export-
> Package.
>
> Manifest-Version: 1.0
> Bundle-ClassPath: .
> Bundle-Vendor: %venderName
> Bundle-Localization: plugin
> Bundle-RequiredExecutionEnvironment: J2SE-1.4
> Bundle-Name: %bundleName
> Bundle-SymbolicName: com.jcraft.jsch
> Created-By: 1.4.0 (Sun Microsystems Inc.)
> Export-Package: com.jcraft.jsch;version="0.1.41",com.jcraft.jsch.jce;v
> ersion="0.1.41";x-internal:=true,com.jcraft.jsch.jcraft;version= "0.1.
> 41";x-internal:=true,com.jcraft.jsch.jgss;version="0.1.41";x-internal
> :=true
> Bundle-Version: 0.1.41.v200903070017
>
> You should report this with Ubuntu as they are the ones providing the
> packages,
I've attempted to work around this by repackaging the JSch JAR with a corrected Export-Package:
jamie@avior:~/Downloads/jsch/jsch-0.1.42/dist/lib$ unzip -c /usr/share/java/jsch-0.1.42.jar META-INF/MANIFEST.MF|head
Archive: /usr/share/java/jsch-0.1.42.jar
inflating: META-INF/MANIFEST.MF
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 14.0-b16 (Sun Microsystems Inc.)
Bundle-ManifestVersion: 2
Bundle-Version: 0.1.42
Export-Package: com.jcraft.jsch;version="0.1.42",com.jcraft.jsch.jce;v
ersion="0.1.42";x-internal:=true,com.jcraft.jsch.jcraft;version= "0.1.
42";x-internal:=true
However, Eclipse doesn't seem to recognise my Export-Package line and still complains that the dependency isn't fulfilled. I tried building a JAR by hand (using the tarball from JSch upstream), ensuring the manifest included an identical Export-Package attribute, with the same problem.
I'd really appreciate some pointers
Thanks again
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.02439 seconds