# "collect2.exe: error: ld returned 5 exit status" using the latest MinGW

**URL:** <https://travis-ci.community/t/collect2-exe-error-ld-returned-5-exit-status-using-the-latest-mingw/9840>\
**Category:** Windows\
**Created:** [September 7, 2020, 7:45am UTC](https://travis-ci.community/t/collect2-exe-error-ld-returned-5-exit-status-using-the-latest-mingw/9840 "2020-09-07T07:45:22Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![CendioOssman](https://sea1.discourse-cdn.com/flex015/user_avatar/travis-ci.community/cendioossman/32/5150_2.png) [@CendioOssman](https://travis-ci.community/u/CendioOssman)\
**Post date:** [September 7, 2020, 7:45am UTC](https://travis-ci.community/t/collect2-exe-error-ld-returned-5-exit-status-using-the-latest-mingw/9840/1 "2020-09-07T07:45:22Z")

</div>

It seems something went **poof** with the MSYS gcc somewhere between 2020-08-24 and 2020-09-05:

[https://travis-ci.org/github/TigerVNC/tigervnc/jobs/720562239](https://travis-ci.org/github/TigerVNC/tigervnc/jobs/720562239)  
[https://travis-ci.org/github/TigerVNC/tigervnc/jobs/724338622](https://travis-ci.org/github/TigerVNC/tigervnc/jobs/724338622)

Is anyone else seeing issues here? I have not done any digging in to details yet.

---

<div class="post-metadata">

**Author:** ![native-api](https://sea1.discourse-cdn.com/flex015/user_avatar/travis-ci.community/native-api/32/430_2.png) [@native-api](https://travis-ci.community/u/native-api)\
**Post date:** [September 7, 2020, 9:04am UTC](https://travis-ci.community/t/collect2-exe-error-ld-returned-5-exit-status-using-the-latest-mingw/9840/2 "2020-09-07T09:04:30Z")

</div>

> See also “C:/Users/travis/build/TigerVNC/tigervnc/CMakeFiles/CMakeOutput.log”.  
> See also “C:/Users/travis/build/TigerVNC/tigervnc/CMakeFiles/CMakeError.log”.

So, what do they say? Can’t say anything without that.

---

<div class="post-metadata">

**Author:** ![CendioOssman](https://sea1.discourse-cdn.com/flex015/user_avatar/travis-ci.community/cendioossman/32/5150_2.png) [@CendioOssman](https://travis-ci.community/u/CendioOssman)\
**Post date:** [September 7, 2020, 10:12am UTC](https://travis-ci.community/t/collect2-exe-error-ld-returned-5-exit-status-using-the-latest-mingw/9840/3 "2020-09-07T10:12:48Z")

</div>

Is it possible to access those without having to put up a custom build that prints them?

---

<div class="post-metadata">

**Author:** ![CendioOssman](https://sea1.discourse-cdn.com/flex015/user_avatar/travis-ci.community/cendioossman/32/5150_2.png) [@CendioOssman](https://travis-ci.community/u/CendioOssman)\
**Post date:** [September 7, 2020, 10:36am UTC](https://travis-ci.community/t/collect2-exe-error-ld-returned-5-exit-status-using-the-latest-mingw/9840/4 "2020-09-07T10:36:32Z")

</div>

I got impatient and did a test build:

[https://travis-ci.org/github/TigerVNC/tigervnc/builds/724872499](https://travis-ci.org/github/TigerVNC/tigervnc/builds/724872499)

Unfortunately the log gives very little of value:

```auto
...
/C/tools/msys64/mingw64/bin/gcc.exe -Wl,--whole-archive CMakeFiles/cmTC_50923.dir/objects.a -Wl,--no-whole-archive -o cmTC_50923.exe -Wl,--out-implib,libcmTC_50923.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles/cmTC_50923.dir/linklibs.rsp
collect2.exe: error: ld returned 5 exit status
...

```

So ld is upset about something, but it doesn’t print what.

---

<div class="post-metadata">

**Author:** ![native-api](https://sea1.discourse-cdn.com/flex015/user_avatar/travis-ci.community/native-api/32/430_2.png) [@native-api](https://travis-ci.community/u/native-api)\
**Post date:** [September 7, 2020, 1:53pm UTC](https://travis-ci.community/t/collect2-exe-error-ld-returned-5-exit-status-using-the-latest-mingw/9840/5 "2020-09-07T13:53:35Z")

</div>

This looks like the same problem (1st in Google on “mingw “ld returned 5 exit status””):

> <https://stackoverflow.com/questions/45077846/collect2-exe-error-ld-returned-5-exit-status>

> In release version Qt add this flags " `-Wl,-s,--relax,--gc-section` ". I couldn’t find any information about “-s” flag, but due to [this](https://sourceware.org/binutils/docs/ld/Options.html) link i figured out that -gc-section flag was the reason of fail.

---

<div class="post-metadata">

**Author:** ![CendioOssman](https://sea1.discourse-cdn.com/flex015/user_avatar/travis-ci.community/cendioossman/32/5150_2.png) [@CendioOssman](https://travis-ci.community/u/CendioOssman)\
**Post date:** [September 8, 2020, 12:55pm UTC](https://travis-ci.community/t/collect2-exe-error-ld-returned-5-exit-status-using-the-latest-mingw/9840/6 "2020-09-08T12:55:49Z")

</div>

Seems something is amiss with MSYS binutils and CMake right now:

> <https://github.com/msys2/MINGW-packages/issues/6943>
>
> Hi,
> Since updating to the latest version of binutils, I am seeing a lot of linking errors:
> Unable to resolve exported symbols from...
