Closed
Bug 363485
Opened 18 years ago
Closed 17 years ago
Build break in JavaXPCOM when building with MSYS
Categories
(Core Graveyard :: Java to XPCOM Bridge, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: jhpedemonte, Assigned: jhpedemonte)
References
Details
Attachments
(2 files, 3 obsolete files)
1.34 KB,
patch
|
benjamin
:
review+
|
Details | Diff | Splinter Review |
1.67 KB,
patch
|
benjamin
:
review+
|
Details | Diff | Splinter Review |
Failure: "/c/Progra~1/Java/jdk1.5.0_08/bin/javac" -source 1.4 -g -classpath ".;MozillaInterfaces.jar" \ -sourcepath ".;/c/builds/trunk/mozilla/extensions/java/xpcom/interfaces" -d _java /c/builds/trunk/mozilla/extensions/java/xpcom/interfaces/org/mozilla/xpcom/Mozilla.java c:/builds/trunk/mozilla/extensions/java/xpcom/interfaces/org/mozilla/xpcom/Mozilla.java:82: cannot find symbol symbol: class IMozilla public class Mozilla implements IMozilla, IGRE, IXPCOM, IXPCOMError { ^ Seems that javac doesn't like paths of the style "/c/..." in the sourcepath.
Assignee | ||
Comment 1•18 years ago
|
||
Attachment #248293 -
Flags: review?(benjamin)
Comment 2•18 years ago
|
||
Comment on attachment 248293 [details] [diff] [review] patch pwd -W is MSYS-only... we're not dropping cygwin support yet, and this would kill linux builds as well I think.
Attachment #248293 -
Flags: review?(benjamin) → review-
Assignee | ||
Comment 3•17 years ago
|
||
This patch should work for both Cygwin and MSYS, in order to fix the current build breaks. I would also like to do the same thing for JAVA_CLASSPATH. However, those paths may include non-directories (such as JAR files); so using "pwd -W" for MSYS will not work for that. It would be best if there was a utility equivalent to 'cygpath' for MSYS. Maybe write our own perl/python script?
Attachment #248293 -
Attachment is obsolete: true
(This is just a side comment, not a review comment or anything like that) Would it be possible to test against HOST_OS_ARCH instead of OS_ARCH? That will make it easier to cross-compile for WINNT from non-WINNT hosts. You are after all running javac on the host system :)
Assignee | ||
Comment 5•17 years ago
|
||
According to http://www.arcknowledge.com/gmane.comp.gnu.mingw.msys/2002-05/msg00037.html: "You can create a posix path to win32 path conversion utility simply by creating a binary that does nothing more than output it's argv array. As long as that binary doesn't exist in /bin or /usr/bin then MSYS will do the path conversion for argv before executing the program." So I created this 'msyspath' util, which will work for both directories and files. What do you think, Benjamin? Is it OK to add another binary tool, or would you rather only take scripts at this point?
Comment 6•17 years ago
|
||
Comment on attachment 257541 [details] [diff] [review] patch v2 (checked in) please use HOST_OS_ARCH in place of OS_ARCH, but otherwise this looks good.
Attachment #257541 -
Flags: review+
Comment 7•17 years ago
|
||
I don't think I'd like to deal with extra binaries at this point.
Assignee | ||
Comment 8•17 years ago
|
||
While putting the finishing touches on this patch and testing it on my new machine with MSVC 2005, I ran into bug 373047. So even if I fix this, the MozillaExperimental tbox will still fail. If I can't fix bug 373047 quickly, I'll just disable the tests.
Assignee | ||
Comment 9•17 years ago
|
||
Comment on attachment 257541 [details] [diff] [review] patch v2 (checked in) Checked this patch into the trunk. Also disabled the tests until bug 373047 is resolved. Leaving this open for now, until I figure out a better solution for MSYS.
Attachment #257541 -
Attachment description: patch v2 → patch v2 (checked in)
Assignee | ||
Updated•17 years ago
|
Attachment #257561 -
Attachment is obsolete: true
Assignee | ||
Comment 10•17 years ago
|
||
Here is my attempt at a perl script that converts an MSYS path to a Windows path (ignoring relative paths). I don't know perl that well, but this works for me.
Attachment #257880 -
Flags: review?(benjamin)
Comment 11•17 years ago
|
||
Comment on attachment 257880 [details] [diff] [review] msyspath.pl script patch perl is overkill. To convert files, you could do something like $(foreach p,$(1),$(shell cd $(dirname $(p)) && pwd -W)/$(basename $(p))) That's off the cuff, so it might need some additional/fewer parens or something.
Attachment #257880 -
Flags: review?(benjamin) → review-
Assignee | ||
Comment 12•17 years ago
|
||
It's not as easy as that. Technically, the path that we are given could not exist, in which case 'cd' would fail. In order to minimize this, I got the very root directory and then called 'pwd -W' on it. This was easier for me to do in Perl, at the time, but if you want, I can probably get it working in Makefile code using sed.
Assignee | ||
Comment 13•17 years ago
|
||
OK, this seems to work.
Attachment #257880 -
Attachment is obsolete: true
Attachment #260761 -
Flags: review?(benjamin)
Updated•17 years ago
|
Attachment #260761 -
Flags: review?(benjamin) → review+
Assignee | ||
Updated•17 years ago
|
Attachment #260761 -
Attachment description: msys makefile-based patch → msys makefile-based patch (checked in)
Assignee | ||
Comment 14•17 years ago
|
||
Both patches checked in. -> FIXED
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Updated•10 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•