Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-ui-dev] SDK build fails on org.eclipse.rcp.id

Hi David,

I think I found out what was different.

Previously I had first full build with unmodified sources from master (OK) and after that build I've patched platform.ui and re-started the build => was OK too.

After switching to Fedora I was happy that I can build patched platform so I've started from scratch but applied the patches immediately and the first build run on patched code failed. From here on I was not able to build anymore.

Now trying to reproduce I've started the first build again *completely* from scratch, from master *without* patches - and it went through!

But now after applying the patches from https://git.eclipse.org/r/#/c/39470/ on top of the repository doesn't work anymore again.

I have some vague ideas why, so can you help me with the last small thing:

The error says (full log file attached):

[ERROR] Cannot resolve project dependencies:
[ERROR]   Software being installed: org.eclipse.rcp.id 4.5.0.qualifier
[ERROR]   Missing requirement: org.eclipse.e4.rcp.feature.group 1.3.200.v20150116-1456 requires 'org.eclipse.e4.ui.workbench.renderers.swt [0.12.100.v20150113-1117]' but it could not be found
[ERROR]   Cannot satisfy dependency: org.eclipse.rcp.feature.group 4.5.0.v20150120-1712 depends on: org.eclipse.e4.rcp.feature.group [1.3.200.v20150116-1456]
[ERROR]   Cannot satisfy dependency: org.eclipse.rcp.id 4.5.0.qualifier depends on: org.eclipse.rcp.feature.group 0.0.0

The patches are "touching" the *code* (but not the manifests/poms) of two plugins: 

org.eclipse.ui.workbench
org.eclipse.e4.ui.workbench.renderers.swt

and we also see that the error says something about "org.eclipse.e4.ui.workbench.renderers.swt [0.12.100.v20150113-1117]". I'm wodering why maven tries to search *older* version of the plugin and is not using the locally built version? Please note that I have NOT specified -Dtycho.localArtifacts=ignore option as you suggested, because this would *exclude* locally built artifacts, so I expected that maven *should* build & use local bundles, but might be this was mistake and I need to explicitly specify -Dtycho.localArtifacts=default???

Looking in the compile log, I see those info lines after maven compiled the org.eclipse.e4.ui.workbench.renderers.swt locally:

[INFO] Building jar: /data/eclipse.platform.releng.aggregator/eclipse.platform.ui/bundles/org.eclipse.e4.ui.workbench.renderers.swt/target/org.eclipse.e4.ui.workbench.renderers.swt-0.12.100-SNAPSHOT.jar
[INFO] 
[INFO] --- tycho-p2-plugin:0.22.0:p2-metadata-default (default-p2-metadata-default) @ org.eclipse.e4.ui.workbench.renderers.swt ---
[INFO] No baseline version MavenProject: org.eclipse.e4:org.eclipse.e4.ui.workbench.renderers.swt:0.12.100-SNAPSHOT @ /data/eclipse.platform.releng.aggregator/eclipse.platform.ui/bundles/org.eclipse.e4.ui.workbench.renderers.swt/pom.xml

Is this "baseline" thing the root cause??? How I can enforce maven to use locally built artifacts? Another thing I can't understand: *who* and *where* expects 0.12.100.v20150113-1117 version? I couldn't find this via brute force grep in the source tree, only the generated artifacts have that version inside, so maven computes this strange version somehow "on the fly"? Based on which configuration data???

Many thanks for your help!


On Sunday 18 January 2015 19:03 David M Williams wrote:
> One thing you don't mention is cleaning (deleting) your local repo -- the 
> one in ~/.m2/repository (by  default). At least, I didn't see it 
> mentioned. 
> And, pretty sure you do need "toolchainx.xml" defined. I tried it without, 
> and did not get very far at all. 
> 
> The other things "special" I define are: 
> 
> export ANT_OPTS=${ANT_OPTS:-"-Dbuild.sysclasspath=ignore 
> -Dincludeantruntime=false"}
> export MAVEN_OPTS=${MAVEN_OPTS:--Xmx2048m -XX:MaxPermSize=256M 
> -Djava.io.tmpdir=${TMP_DIR} -Dtycho.localArtifacts=ignore} 
> 
> Having your "own" "tmp" directory might make a difference. p2 caches what 
> it "already has" there, so I typically "clean" (delete) that too, to make 
> sure everything is fresh (at least, every now and then, especially if 
> things are acting funny). 
> I tried a local build again today, with Java 8 -- just to make sure that 
> wasn't the source of the difference we are seeing -- and, again, it worked 
> fine. 
> 
> HTH
> 
> 
> 
> 
> From:   Andrey Loskutov <loskutov@xxxxxx>
> To:     platform-ui-dev@xxxxxxxxxxx, 
> Date:   01/18/2015 05:04 AM
> Subject:        Re: [platform-ui-dev] SDK build fails on 
> org.eclipse.rcp.id
> Sent by:        platform-ui-dev-bounces@xxxxxxxxxxx
> 
> 
> 
> OK,
> 
> I've cloned the entire aggregator repo from scratch and still see same 
> error.
> 
> All my steps to reproduce:
> git clone -b master --recursive 
> git://git.eclipse.org/gitroot/platform/eclipse.platform.releng.aggregator.git
> cd eclipse.platform.releng.aggregator/
> cd eclipse.platform.ui/
> # pull patch I'm interested in  from https://git.eclipse.org/r/#/c/39470/
> # this doesn't change any pom or MANIFEST.MF files, only Java code
> # if I don't apply this patch, maven still fails
> git fetch https://git.eclipse.org/r/platform/eclipse.platform.ui 
> refs/changes/70/39470/4 && git checkout FETCH_HEAD
> cd ..
> time mvn -V clean verify -DskipTests=true 
> -Dmaven.repo.local=/data/mvn_localrepo/  2>&1 | tee out.txt
> 
> 
> [INFO] --- target-platform-configuration:0.22.0:target-platform 
> (default-target-platform) @ org.eclipse.rcp.id ---
> [INFO] 
> [INFO] --- tycho-p2-publisher-plugin:0.22.0:publish-products 
> (default-publish-products) @ org.eclipse.rcp.id ---
> [INFO] {osgi.os=linux, osgi.ws=gtk, 
> org.eclipse.update.install.features=true, osgi.arch=x86}
> [ERROR] Cannot resolve project dependencies:
> [ERROR]   Software being installed: org.eclipse.rcp.id 4.5.0.qualifier
> [ERROR]   Missing requirement: org.eclipse.e4.rcp.feature.group 
> 1.3.200.v20150116-1456 requires 'org.eclipse.e4.ui.workbench.renderers.swt 
> [0.12.100.v20150113-1117]' but it could not be found
> [ERROR]   Cannot satisfy dependency: org.eclipse.rcp.feature.group 
> 4.5.0.v20150118-0841 depends on: org.eclipse.e4.rcp.feature.group 
> [1.3.200.v20150116-1456]
> [ERROR]   Cannot satisfy dependency: org.eclipse.rcp.id 4.5.0.qualifier 
> depends on: org.eclipse.rcp.feature.group 0.0.0
> 
> 
> Building prereqs.sdk (successfully) as below also didn't help:
> cd eclipse.platform.releng.prereqs.sdk/
> mvn -e clean install -Dmaven.repo.local=/data/mvn_localrepo/ 
> cd ..
> mvn -V clean verify -DskipTests=true 
> -Dmaven.repo.local=/data/mvn_localrepo/ -rf :org.eclipse.rcp.id
> 
> I'm s till see the same error. The full build log is attached.
> 
> Any ideas?
> 
> 
> On Sunday 18 January 2015 09:09 Andrey Loskutov wrote:
> > Hi David,
> > 
> > thanks for quick response.
> > 
> > Last time I've successfully build platform was 2015-01-02, according to 
> the bug 456510.
> > 
> > The 2 differences are now: the code is updated to the latest HEAD on 
> master branch and I've switched from Ubuntu to Fedora as build 
> workstation.
> > 
> > I have cleaned the repo before the build with git clean -fdx and updated 
> the root repo via
> > git pull --recurse-submodules
> > git submodule update
> > 
> > I'm on Fedora 21, 64 bit, maven 3.2.2, ant 1.9.4, OpenJDK 1.8.0_25.
> > I do not use ~/.m2/toolchains.xml but it was also not needed two weeks 
> ago to successfully build the platform.
> > I'm building on master, with few patches on top of platform.ui.
> > 
> > My command line was: 
> > mvn -e clean verify -DskipTests=true
> > 
> > I will try to start from scratch and clone the entire repo again, but I 
> think the root cause is the strange error below:
> > 
> > [ERROR]   Missing requirement: org.eclipse.e4.rcp.feature.group 
> > 1.3.200.v20150116-1456 requires 
> 'org.eclipse.e4.ui.workbench.renderers.swt 
> > [0.12.100.v20150113-1117]' but it could not be found
> > 
> > Those two different dates/versions are suspicious IMHO.
> > 
> > Do you know how/why maven decided to select exact those versions? 
> > Obviously they aren't from my workstation because I would expect that 
> all versions would match the build day/time (yesterday), which is not the 
> case. So maven decides to search some Eclipse platform artifacts on 
> Internet (even if I'm building the entire platform!), and for whatever 
> reason the versions maven found didn't match (because maven used different 
> p2 repositories for lookup?).
> > 
> > How I can enforce maven to not to use internet for Eclipse build 
> artifacts and to use my own, freshly built versions?
> > Or - different approach - how I can enforce maven to lookup only in one 
> p2 repo (if it uses multiple)?
> > 
> > On Saturday 17 January 2015 20:51 David M Williams wrote:
> > > > (which worked previously)
> > > How long ago? 
> > > 
> > > Do you (or have you) tried to "clean" your local repository? (i.e. 
> delete 
> > > it, so it is refreshed?) 
> > > 
> > > I assume you "reset" your build tree to a "pristine" condition? 
> > > 
> > > I assume you have 
> > > ~/.m2/toolchains.xml
> > > defined? 
> > > Last I recall (which was a while ago) "toolchains" was required, 
> defining 
> > > all (most?) "BREE Levels". 
> > > I'm honestly not sure if or when that is still true. 
> > > 
> > > And if none of that helps, are you building "master" or 
> "R4_4_maintenance" 
> > > or ... some tag? 
> > > 
> > > I am trying "master" as I write, and it is well past all the 
> "resolution" 
> > > points, so I hope the above tips help. 
> > > 
> > > I build with Java 7, Ant 1.9.2, and Maven 3.1.1. 
> > > 
> > > My command line is 
> > > mvn -Pbree-libs -V clean verify -DskipTests=true 
> > > -Dmaven.repo.local=/home/davidw/builds/localaggr/localrepo/  2>&1 | 
> tee 
> > > out.txt
> > > 
> > > (and ... I build on Linux :) 
> > > 
> > > 
> > > 
> > > 
> > > From:   Andrey Loskutov <loskutov@xxxxxx>
> > > To:     platform-ui-dev@xxxxxxxxxxx, 
> > > Date:   01/17/2015 05:44 PM
> > > Subject:        [platform-ui-dev] SDK build fails on 
> org.eclipse.rcp.id
> > > Sent by:        platform-ui-dev-bounces@xxxxxxxxxxx
> > > 
> > > 
> > > 
> > > Hi,
> > > 
> > > just tried to build platform SDK as described in [1] but the build 
> (which 
> > > worked previously) fails with this error:
> > > 
> > > [INFO] --- tycho-p2-publisher-plugin:0.22.0:publish-products 
> > > (default-publish-products) @ org.eclipse.rcp.id ---
> > > [INFO] {osgi.os=linux, osgi.ws=gtk, 
> > > org.eclipse.update.install.features=true, osgi.arch=x86}
> > > [ERROR] Cannot resolve project dependencies:
> > > [ERROR]   Software being installed: org.eclipse.rcp.id 4.5.0.qualifier
> > > [ERROR]   Missing requirement: org.eclipse.e4.rcp.feature.group 
> > > 1.3.200.v20150116-1456 requires 
> 'org.eclipse.e4.ui.workbench.renderers.swt 
> > > [0.12.100.v20150113-1117]' but it could not be found
> > > [ERROR]   Cannot satisfy dependency: org.eclipse.rcp.feature.group 
> > > 4.5.0.v20150117-1923 depends on: org.eclipse.e4.rcp.feature.group 
> > > [1.3.200.v20150116-1456]
> > > [ERROR]   Cannot satisfy dependency: org.eclipse.rcp.id 
> 4.5.0.qualifier 
> > > depends on: org.eclipse.rcp.feature.group 0.0.0
> > > 
> > > mvn clean install in 
> > > 
> eclipse.platform.releng.aggregator/eclipse.platform.releng.tychoeclipsebuilder/rcp 
> 
> > > doesn't help either.
> > > 
> > > Any idea how to proceed?
> > > 
> > > [1] 
> > > 
> https://wiki.eclipse.org/Platform-releng/Platform_Build#Running_the_build
> > > 
-- 
Kind regards,
google.com/+AndreyLoskutov

Attachment: out2.txt.zip
Description: Zip archive


Back to the top