[SERVER-69752] GCC compiler errors leads to spurious local compile Created: 15/Sep/22  Updated: 26/Jan/23  Resolved: 09/Nov/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Ryan Egesdahl (Inactive) Assignee: Ryan Egesdahl (Inactive)
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Operating System: ALL
Participants:

 Description   

We're currently only setting ICECC_CARET_WORKAROUND=0 when using GCC and icecc < v1.1 and not setting ICECC_REMOTE_CPP at all when using GCC. At the time, this was because we had noticed that GCC's behavior of trying to re-read original source files was not working with remote preprocessing, and we wanted to disable spurious local rebuilds when there was a compilation error.

However, there are two problems with this approach:
1. We still get spurious local rebuilds for Icecream >= v1.1
2. The workaround may hide potential issues with the compiler tarball that don't reoccur locally

Now that Ubuntu 18.04 comes with Icecream 1.3 by default, we should set that as a hard minimum version and remove our workarounds for older Icecream versions. We should also always set ICECC_CARET_WORKAROUND with GCC.



 Comments   
Comment by Alex Neben [ 19/Sep/22 ]

We also need to hard fail if we detect 1.1 in icecream. Here is exactly what you need to run to fix this.

Generated at Thu Feb 08 06:14:17 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.