Closed Bug 1350029 Opened 7 years ago Closed 7 years ago

msvcrt.lib(chkstk.obj) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

Categories

(Firefox Build System :: General, defect)

x86
Windows
defect
Not set
blocker

Tracking

(firefox55 affected)

RESOLVED DUPLICATE of bug 1350001
Tracking Status
firefox55 --- affected

People

(Reporter: mayhemer, Unassigned)

Details

Attachments

(1 file)

33.09 KB, application/x-zip-compressed
Details
Attached file buildlog.zip
using start-shell-msvc2015.bat.  This is a very new regressions, updated today, before that yesterday.

complete build output attached.
This looks like an issue with rust and incorrect identification or handling of 32/64bits. By forcing stable-i686-pc-windows-msvc in rustup I'm able to work around the problem locally.

> rustup toolchain install stable-i686-pc-windows-msvc
> rustup default stable-i686-pc-windows-msvc
> ./mach build
(In reply to Bryce Van Dyk (:SingingTree) from comment #1)
> This looks like an issue with rust and incorrect identification or handling
> of 32/64bits. By forcing stable-i686-pc-windows-msvc in rustup I'm able to
> work around the problem locally.
> 
> > rustup toolchain install stable-i686-pc-windows-msvc
> > rustup default stable-i686-pc-windows-msvc
> > ./mach build

Thanks.  This seems to help.  Tho, obvious questions - how did this regressed and how are you going to fix this for simple mortals?
It seems like you're building a 32-bit Windows build, is that correct? We fixed `mach bootstrap` so that it should install the i686-pc-windows-msvc target for you, so that should just work. You shouldn't have to set the 32-bit toolchain to the default, though, we should be passing the proper --target to rustc in the build system.
(In reply to Ted Mielczarek [:ted.mielczarek] from comment #3)
> It seems like you're building a 32-bit Windows build, is that correct? We
> fixed `mach bootstrap` so that it should install the i686-pc-windows-msvc
> target for you, so that should just work. You shouldn't have to set the
> 32-bit toolchain to the default, though, we should be passing the proper
> --target to rustc in the build system.

Should I run mach bootstrap from time to time?  The think is that all this is pretty much non-obvious to do.  I just updated my repo and got this build bustage.  How should I know that mach bootstrap would fix that?  How would I know that rust target was broken and how to fix exactly that?  This should be done automatically when ./mach build is run, I think.  I'm really curious if I'm the only one facing this.
Since webrender is built as default, this issue occurs.  ac_add_otptions --disable-webrender is better workaround now.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
Product: Core → Firefox Build System
this problem persists with my linux (ubuntut)
also

I had this problem in Windows 10 using "Power Shell for VS 2019" having insatalled MSCV for 32 bits and 64 bits, when I use "Power Shell", Cargo compiled succefully.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: