| Summary: | CBI should build and consume native filesystem libraries. | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Krzysztof Daniel <krzysztof.daniel> | ||||||||||||||
| Component: | Resources | Assignee: | Krzysztof Daniel <krzysztof.daniel> | ||||||||||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||||||||||
| Severity: | major | ||||||||||||||||
| Priority: | P3 | CC: | david_williams, john.arthorne, krzysztof.daniel, sptaszkiewicz, Szymon.Brandys, thanh.ha | ||||||||||||||
| Version: | 4.2.1 | Flags: | john.arthorne:
review+
|
||||||||||||||
| Target Milestone: | 4.2.2+ | ||||||||||||||||
| Hardware: | All | ||||||||||||||||
| OS: | All | ||||||||||||||||
| Whiteboard: | |||||||||||||||||
| Bug Depends on: | 391152 | ||||||||||||||||
| Bug Blocks: | 372792 | ||||||||||||||||
| Attachments: |
|
||||||||||||||||
|
Description
Krzysztof Daniel
Created attachment 218684 [details]
Patch proposition:
x86_64 on linux tested.
win32 requires some attention as I was not sure which script should be invoked when.
Created attachment 218685 [details]
Patch v2
Created attachment 218831 [details]
macosx build issue
I tested on Linux x86_64 and it built fine.
When I tested on Macosx x86_64 maven reported that the build was success however investigating the log shows that make had an issue. It seems it tried to use macosx "powerpc" compiler which does not exist on my Intel based Mac.
I've attached a log of building the module org.eclipse.core.filesystem.macosx
I will test the Windows x86_64 build when I'm home tonight.
(In reply to comment #3) > Created attachment 218831 [details] > macosx build issue > > I tested on Linux x86_64 and it built fine. > > When I tested on Macosx x86_64 maven reported that the build was success > however investigating the log shows that make had an issue. It seems it > tried to use macosx "powerpc" compiler which does not exist on my Intel > based Mac. > > I've attached a log of building the module org.eclipse.core.filesystem.macosx > > > I will test the Windows x86_64 build when I'm home tonight. For Windows we cannot run make_x64.bat directly. Instead it should be called via cmd as follows. <exec executable="cmd" newenvironment="false" dir="../org.eclipse.core.filesystem/natives/win32/x64/"> <arg value="/c"/> <arg value="make_x64.bat"/> </exec> After this modification when I look into the directory ../org.eclipse.core.filesystem/natives/win32/x64 I can see a new file exists now localfile.obj so I guess make_x64.bat ran. I still have some concerns though. When I look at make_x64.bat I see in one of the lines it's trying to call a file which does not exist on my system so I don't know where it comes from: call "%MSSDK%\bin\SetEnv.Cmd" /Release /x64 /xp My other concern is in org.eclipse.core.filesystem.win32.x86_64 I noticed the timestamp on the file os/win32/x86_64/localfile_1_0_0.dll is from a month ago which makes me think that we did not compile anything to replace this file. Is this expected? I also posted this detail on cbi-dev: http://dev.eclipse.org/mhonarc/lists/cbi-dev/msg00574.html Created attachment 221226 [details]
Patch revisisted (changed the order of the qualifiers in the profiles)
Thanh, you may need to delete the dll file in the beginning. Build scripts pretty often skip the build if the target file was already built. (In reply to comment #5) > Created attachment 221226 [details] > Patch revisisted (changed the order of the qualifiers in the profiles) I noticed the new patch is missing the Windows and Macosx patches, is this intentional? (In reply to comment #7) > I noticed the new patch is missing the Windows and Macosx patches, is this > intentional? No. I thought this was the case were I was not able to come up with win/macos build. Unfortunately - even if I provide that patch for those two platforms I will not be able to test them. (In reply to comment #8) > (In reply to comment #7) > > > I noticed the new patch is missing the Windows and Macosx patches, is this > > intentional? > > No. I thought this was the case were I was not able to come up with > win/macos build. Unfortunately - even if I provide that patch for those two > platforms I will not be able to test them. Ok sounds reasonable to me. I'm not sure how to get around the mac powerpc compiler issue so I can't get a working patch for that. I'm retesting the Windows one now to see if the dll file is created if I delete it first. If that works I guess I'll need to find a way to get maven to delete it before running the script and come up with a patch. (In reply to comment #6) > you may need to delete the dll file in the beginning. Build scripts pretty > often skip the build if the target file was already built. I tried deleting the DLL however it does not seem to have any affect. I the following log is what I get when I try to build. It seems like the problem is the build's not able to find some files. [INFO] --- maven-antrun-plugin:1.7:run (natives) @ org.eclipse.core.filesystem.win32.x86_64 --- [INFO] Executing tasks main: [exec] Could Not Find c:\eclipse.aggregator\eclipse.platform.resources\bundles\org.eclipse.core.filesystem\natives\ win32\x64\localfile_ [exec] c:\eclipse.aggregator\eclipse.platform.resources\bundles\org.eclipse.core.filesystem\natives\win32\x64>del l ocalfile.obj [exec] [exec] c1_0_0* [exec] The system cannot find the path specified. [exec] :\eclipse.aggregator\eclipse.platform.resources\bundles\org.eclipse.core.filesystem\natives\win32\x64>del lo calfile_1_0_0* [exec] [exec] c:\eclipse.aggregator\eclipse.platform.resources\bundles\org.eclipse.core.filesystem\natives\win32\x64>set J AVA_HOME=c:\Program Files\Java\j2sdk1.4.2_18 [exec] [exec] c:\eclipse.aggregator\eclipse.platform.resources\bundles\org.eclipse.core.filesystem\natives\win32\x64>call "\bin\SetEnv.Cmd" /Release /x64 /xp [exec] [exec] c:\eclipse.aggregator\eclipse.platform.resources\bundles\org.eclipse.core.filesystem\natives\win32\x64>set w in_include=\include [exec] [exec] c:\eclipse.aggregator\eclipse.platform.resources\bundles\org.eclipse.core.filesystem\natives\win32\x64>set l ib_includes=UUID.LIB LIBCMT.LIB OLDNAMES.LIB KERNEL32.LIB [exec] [exec] c:\eclipse.aggregator\eclipse.platform.resources\bundles\org.eclipse.core.filesystem\natives\win32\x64>set j dk_include=c:\Program Files\Java\j2sdk1.4.2_18\include [exec] [exec] c:\eclipse.aggregator\eclipse.platform.resources\bundles\org.eclipse.core.filesystem\natives\win32\x64>set d ll_name=localfile_1_0_0 [exec] [exec] c:\eclipse.aggregator\eclipse.platform.resources\bundles\org.eclipse.core.filesystem\natives\win32\x64>cl .. \localfile.c -I"\include" -I"c:\Program Files\Java\j2sdk1.4.2_18\include" -I"c:\Program Files\Java\j2sdk1.4.2_18\include \win32" -LD -Felocalfile_1_0_0 /link UUID.LIB LIBCMT.LIB OLDNAMES.LIB KERNEL32.LIB /Subsystem:CONSOLE [exec] Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86 [exec] Copyright (C) Microsoft Corporation. All rights reserved. [exec] [exec] localfile.c [exec] Microsoft (R) Incremental Linker Version 9.00.30729.01 [exec] Copyright (C) Microsoft Corporation. All rights reserved. [exec] [exec] /dll [exec] /implib:localfile_1_0_0.lib [exec] /out:localfile_1_0_0.dll [exec] UUID.LIB [exec] LIBCMT.LIB [exec] OLDNAMES.LIB [exec] KERNEL32.LIB [exec] /Subsystem:CONSOLE [exec] localfile.obj [exec] LINK : fatal error LNK1181: cannot open input file 'UUID.LIB' [exec] Result: 2 [INFO] Executed tasks [INFO] Created attachment 226316 [details]
Patch for linux only
Could we revisit this one and at least get the patch for Linux released for Kepler?
It has no effects on existing workflow unless explicitly enabled during CBI build. If this is a concern for some, I'll fix the problems it might cause or it may be reverted.
(In reply to comment #11) > Created attachment 226316 [details] > Patch for linux only > > Could we revisit this one and at least get the patch for Linux released for > Kepler? > > It has no effects on existing workflow unless explicitly enabled during CBI > build. If this is a concern for some, I'll fix the problems it might cause > or it may be reverted. I tested the latest Linux-only patch and was able to successfully build the natives. Can someone from the platform team release this into R3_8_maintenance and master? I will release it next week when M5 settles down. In case you have any questions - I will be happy to answer :). Created attachment 228258 [details]
Patch in a git format
It needs to wait. Krzysztof and Thanh, is the patch from comment 15 the final version to release? Yes, it is. So ... may I ask for status? Seems pretty late to be putting into M7 ... or has it already been and bug just not updated? Out of curiosity, what is the Rhino dependency for? Fix applied in master: http://git.eclipse.org/c/platform/eclipse.platform.resources.git/commit/?id=a77d397c9edd32fa6715abc434e9e17b33763a69 And 4.2 maintenance: http://git.eclipse.org/c/platform/eclipse.platform.resources.git/commit/?h=R3_8_maintenance&id=a5ddeb1df38c762d8f92f23bd7c853d2e23dd253 Thanks Krzysztof, sorry for the delay. Using this bug for 4.2.2+, and bug 391152 for 4.3 stream. Regarding rhino - that's a good question. I guess they're here because all maven-antrun-plugin calls originate from the SWT which required rhino to process parts of swt builds that were written in js. It might be it is a direct dependency of ant as well. I guess I could remove it. |