Closed
Bug 612809
Opened 15 years ago
Closed 15 years ago
Unable to cross compile 32-bit shells on Mac OS X 10.6
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: gkw, Assigned: paul.biggar)
References
Details
(Keywords: regression, Whiteboard: fixed-in-tracemonkey)
Attachments
(2 files)
|
22.40 KB,
text/plain
|
Details | |
|
1.34 KB,
patch
|
ted
:
review+
|
Details | Diff | Splinter Review |
Recently, I am unable to cross compile 32-bit shells on 10.6. The following is the compilation command:
CC="gcc-4.2 -arch i386" CXX="g++-4.2 -arch i386" HOST_CC="gcc-4.2" HOST_CXX="g++-4.2" RANLIB=ranlib AR=ar AS=$CC LD=ldSTRIP="strip -x -S" CROSS_COMPILE=1sh /Users/fuzz1/Desktop/jsfunfuzz-dbg-32-tm-57557-7b8898c9b54c/compilePath/configure --target=i386-apple-darwin8.0.0 --enable-debug --disable-optimize --disable-tests
I am able to compile 64-bit shells, though.
The error shown is:
jscpucfg.cpp:48:21: error: prtypes.h: No such file or directory
===
hg bisection shows this as the cause:
changeset: 56649:b1094f628602
user: Paul Biggar
date: Thu Oct 28 12:23:00 2010 -0700
summary: Bug 605133 - Sync configure.in changes from the last two years to js/src/configure.in.
| Reporter | ||
Updated•15 years ago
|
blocking2.0: --- → ?
| Assignee | ||
Comment 1•15 years ago
|
||
Yes, bug 605133 broke CROSS_COMPILE, sorry about that. It's being fixed as part of bug 608696. However, that has different symptoms, so let's revisit this after bug 608696 is fixed. (It should be fixed today, but it should work if you export CROSS_COMPILE=1 if you need it sooner).
Comment 2•15 years ago
|
||
This was covered by bug 605133 comment 22, right? Did that just get ignored? :(
| Assignee | ||
Comment 3•15 years ago
|
||
(In reply to comment #2)
> This was covered by bug 605133 comment 22, right? Did that just get ignored?
> :(
I didn't ignore it, I though I had fixed it. The symptom was about js-config not being built, and I thought it was the same as a different problem with js-config not being built, which I fixed. I didn't realize there was a second problem.
| Assignee | ||
Comment 4•15 years ago
|
||
(In reply to comment #1)
> Yes, bug 605133 broke CROSS_COMPILE, sorry about that. It's being fixed as part
> of bug 608696. However, that has different symptoms, so let's revisit this
> after bug 608696 is fixed. (It should be fixed today, but it should work if you
> export CROSS_COMPILE=1 if you need it sooner).
Oh, you were exporting CROSS_COMPILE=1.
The fix in bug 608696 just exports CROSS_COMPILE=1, and I confess I don't understand why it fixes it while setting CROSS_COMPILE=1 did not. (I assume your setting of CROSS_COMPILE=1sh was a cut-and-paste error in the bug report).
| Assignee | ||
Comment 5•15 years ago
|
||
I think this should be fixed (I'd dup this but the symptoms are different). Gary, is this fixed by http://hg.mozilla.org/tracemonkey/rev/301b97a20042?
My local i386 cross-compile on Mac OS X 10.6 is broken by the tm merge. Here is a log. One thing that stands out - I don't think "ARMAssembler.cpp" is supposed to be getting compiled at all.
| Reporter | ||
Comment 7•15 years ago
|
||
(In reply to comment #5)
> I think this should be fixed (I'd dup this but the symptoms are different).
> Gary, is this fixed by http://hg.mozilla.org/tracemonkey/rev/301b97a20042?
Yes, Paul, it seems to be fixed. :) I don't get Josh's error though.
| Assignee | ||
Comment 8•15 years ago
|
||
(In reply to comment #6)
> Created attachment 491450 [details]
> compile output
>
> My local i386 cross-compile on Mac OS X 10.6 is broken by the tm merge. Here is
> a log. One thing that stands out - I don't think "ARMAssembler.cpp" is supposed
> to be getting compiled at all.
I don't know anything about ARMAssembler.cpp, but I think it's a red herring (it says it has no symbols anyway...)
Looking at your logs, which symbols are which cputype? Are your new symbols x86_64 or your old ones?
Does a clean build work?
| Assignee | ||
Comment 9•15 years ago
|
||
(In reply to comment #8)
> Looking at your logs, which symbols are which cputype? Are your new symbols
> x86_64 or your old ones?
>
> Does a clean build work?
Ignore this, I've figured it out.
| Assignee | ||
Comment 10•15 years ago
|
||
cross_compiling is overwritten by autoconf macros, so the correct solution is to set CROSS_COMPILE directly.
I think part of the problem here is that everyone uses different configure lines to cross-compile. Of all the bugs on this, I'm not sure any two have used the same configure line.
Assignee: general → pbiggar
Attachment #491495 -
Flags: review?(ted.mielczarek)
| Assignee | ||
Comment 11•15 years ago
|
||
I'm not sure whether to apply this to TM, and ask for a merge, or apply directly to M-C?
Updated•15 years ago
|
Attachment #491495 -
Attachment is patch: true
Attachment #491495 -
Attachment mime type: application/octet-stream → text/plain
Updated•15 years ago
|
Attachment #491495 -
Flags: review?(ted.mielczarek) → review+
Comment 12•15 years ago
|
||
Whiteboard: fixed-in-tracemonkey
| Assignee | ||
Comment 13•15 years ago
|
||
http://hg.mozilla.org/tracemonkey/rev/c2316a213ef0 for the followup
| Assignee | ||
Comment 14•15 years ago
|
||
I don't have commit privileges for mozilla-central, so a motivated person should feel free to push attachment 491495 [details] [diff] [review] for me (attempts to finds a committer has thus far failed).
Updated•15 years ago
|
Keywords: checkin-needed
Comment 15•15 years ago
|
||
(In reply to comment #14)
> I don't have commit privileges for mozilla-central, so a motivated person
> should feel free to push attachment 491495 [details] [diff] [review] for me (attempts to finds a
> committer has thus far failed).
It should get to m-c on the next merge. Is there some reason you need it to land there sooner?
| Reporter | ||
Comment 16•15 years ago
|
||
Hi Paul, I now get this error when cross compiling 32-bit shells on Ubuntu Linux 10.04 64-bit, not sure if it's related:
configure command:
CC="gcc -m32" CXX="g++ -m32" AR=ar sh configure --target=i686-pc-linux --disable-tests --disable-optimize --enable-debug
Error is:
jscpucfg.cpp:48:21: error: prtypes.h: No such file or directory
jscpucfg.cpp:81:2: error: #error "Endianess not defined."
Comment 17•15 years ago
|
||
So current TM tip (which includes this patch), when I try to do this:
env CC="gcc-4.2 -arch i386" CXX="g++-4.2 -arch i386" AR=ar CROSS_COMPILE=1 ../configure --enable-optimize --disable-debug --target=i386-apple-darwin9.2.0 --enable-macos-target=10.5
for the shell I get:
../jscpucfg.cpp:48:21: error: prtypes.h: No such file or directory
| Assignee | ||
Comment 18•15 years ago
|
||
(In reply to comment #15)
> It should get to m-c on the next merge. Is there some reason you need it to
> land there sooner?
Because the build is broken for people who cross-compile on M-C.
(With this fix, only the shell is broken for cross-compiling folk, and not in all cases).
| Assignee | ||
Comment 19•15 years ago
|
||
(In reply to comment #14)
> I don't have commit privileges for mozilla-central, so a motivated person
> should feel free to push attachment 491495 [details] [diff] [review] for me (attempts to finds a
> committer has thus far failed).
I should mention that OSX will need to be clobbered using https://build.mozilla.org/clobberer/.
Comment 20•15 years ago
|
||
The first patch here landed on m-c as http://hg.mozilla.org/mozilla-central/rev/301b97a20042
I landed the followup as http://hg.mozilla.org/mozilla-central/rev/2e2e864a2959
| Assignee | ||
Comment 21•15 years ago
|
||
The final parts of this are fixed as part of bug 608696.
Updated•15 years ago
|
blocking2.0: ? → final+
Updated•15 years ago
|
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
| Assignee | ||
Updated•15 years ago
|
| Assignee | ||
Updated•15 years ago
|
Status: REOPENED → RESOLVED
blocking2.0: ? → ---
Closed: 15 years ago → 15 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•