Home > database >  how to solve running gcc failed exist status 1 in mac m1?
how to solve running gcc failed exist status 1 in mac m1?

Time:04-04

I have already brew install mingw-w64. When i check the versions its there.

gcc --version:
gcc (Homebrew GCC 11.2.0_3) 11.2.0.

g --version:
g (Homebrew GCC 11.2.0_3) 11.2.0

I also run which gcc:
/opt/homebrew/bin/gcc

Then I run my docker-compose with image golang:latest. No errors yet

up to date, audited 370 packages in 10m

9 packages are looking for funding
  run `npm fund` for details

6 high severity vulnerabilities

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
Unlinking stale socket /tmp/supervisor.sock
[15:30:39] Using gulpfile /go/src/github.com/projectname/src/api/gulpfile.js
[15:30:39] Starting 'default'...
[15:30:39] Starting 'watch'...

When I save a .go file it downloads all mods and this is the error:

 # github.com/projectname/api
 /usr/local/go/pkg/tool/linux_arm64/link: running gcc failed: exit status 1
 collect2: fatal error: cannot find 'ld'
 compilation terminated.

 [15:46:23] 'build-binary' errored after 1.98 s
 [15:46:23] Error in plugin "gulp-shell"
 Message:
     Command `go build` failed with exit code 2

This is my Dockerfile:

FROM golang:1.17.0-alpine3.14 AS builder
    
RUN apk update && apk add gcc make git libc-dev binutils-gold

# Install dependencies
RUN apk add --update tzdata \
    --no-cache ca-certificates git wget \
    nodejs npm \
    g   \
    supervisor \
    && update-ca-certificates \
    && npm install -g gulp gulp-shell
RUN npm install -g yarn


COPY ops/api/local/supervisor /etc
ENV PATH $PATH:/go/bin
WORKDIR /go/src/github.com/projectname/src/api

CodePudding user response:

Try and check if, as in this Dockerfile, adding binutils-gold would allow you to use ld.

RUN apk update && apk add gcc make git libc-dev binutils-gold

(First seen in nodejs/node issue 4212)

  • Related