Closed Bug 1089138 Opened 10 years ago Closed 10 years ago

Parallel build fails with VS2013, need -FS option

Categories

(Directory :: LDAP C SDK, defect)

x86_64
Windows 7
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: ssitter, Unassigned)

References

Details

Attachments

(3 files)

From Bug 1085767 Comment 3:

> c:/builds/moz2_slave/tb-try-c-cen-w32-0000000000000/build/ldap/sdks/c-sdk/ldap/libraries/libldap/whoami.c : 
> fatal error C1041: cannot open program database 
> 'c:\builds\moz2_slave\tb-try-c-cen-w32-0000000000000\build\objdir-tb\ldap\sdks\c-sdk\ldap\libraries\libldap\vc120.pdb'; 
> if multiple CL.EXE write to the same .PDB file, please use /FS

That error was fairly straightforward on the FF side. You'll need some variant of bug 915973.
Blocks: 1085767
The LDAP repository is here, we pull it in automatically:

https://hg.mozilla.org/projects/ldap-sdks/
An alternative option I tried playing with was just building LDAP with -j1. It's a small repo, so the loss of parallelization is negligible, and it avoids having to patch LDAP's configure.
Based on the previous comment I'm currently using this workaround that enforces non-parallel build for ldap. On my local system I can successfully build Thunderbird and SeaMonkey using VS2013 and mk_add_options MOZ_MAKE_FLAGS=-j4 in my mozconfig. Maybe you can test it with the official builders.
Comment on attachment 8520721 [details] [diff] [review]
ldap-disable-parallel-build

Seems to me that this is overkill, surely you only need to unparallelise libs?
I have no VS2013 so I can't confirm either of patches work fine. But anyway we need to migrate VS2013 as soon as possible because comm-central tree is now broken. See bug 1105729.
(In reply to neil@parkwaycc.co.uk from comment #5)
> Comment on attachment 8520721 [details] [diff] [review]
> ldap-disable-parallel-build
> 
> Seems to me that this is overkill, surely you only need to unparallelise
> libs?

IIRC, the C-SDK does something weird and actually builds during export or something like that.
Attachment #8520721 - Flags: review?(neil) → review+
Comment on attachment 8530071 [details] [diff] [review]
Add -FS option on VS2013

fwiw, this works.
Attachment #8530071 - Flags: feedback+
Could we get decision which one of the patches should be taken for check-in?
> +          dnl VS2013+ requires -FS when parallel building by make -jN.
> +          dnl If nothing, compiler sometimes causes C1041 error.
Seems like there is something missing in the first part of the second sentence.
VS2010 support will be dropped soon with Bug 1084532. Please decide if you want to take the patch for comm-central repository or if you want to take the patch for ldap-sdks repository.
^^^
Flags: needinfo?(neil)
Flags: needinfo?(Pidgeot18)
(In reply to Stefan Sitter from comment #13)
> VS2010 support will be dropped soon with Bug 1084532. Please decide if you
> want to take the patch for comm-central repository or if you want to take
> the patch for ldap-sdks repository.

I'd prefer the comm-central repository, in part because I have no idea whom is the owner of the LDAP C-SDK stuff.
Flags: needinfo?(neil)
Flags: needinfo?(Pidgeot18)
Resolving fixed per previous comment.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Comment on attachment 8520721 [details] [diff] [review]
ldap-disable-parallel-build

I'd like to push this patch to comm-esr31 so that esr31 will also build with VS2013. Any comments or objections?
Attachment #8520721 - Flags: feedback?(Pidgeot18)
Comment on attachment 8520721 [details] [diff] [review]
ldap-disable-parallel-build

Review of attachment 8520721 [details] [diff] [review]:
-----------------------------------------------------------------

None from me.
Attachment #8520721 - Flags: feedback?(Pidgeot18)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: