I finally managed to build Socorro's minidump_stackwalk, but only inside a Docker image, and only as a Linux binary. Here's how I did it: 1) Download [Docker for Mac](https://docs.docker.com/docker-for-mac/), install it, and run it. 2) At an ordinary Terminal prompt (not one for a Docker container) run git clone https://github.com/mozilla-services/minidump-stackwalk.git 3) `cd minidump-stackwalk`, and while Docker Desktop is running, run make build 4) This creates a Docker container, and builds all the appropriate binaries inside it (including `minidump_stackwalk`). 5) In the Docker Desktop, run the container and open a "CLI" (command line interface) to it. Confusingly, its "home directory" is `/home/app`, and the CLI (a Terminal window) opens at `/app`, but the binaries are in `/stackwalk`. They're all Linux binaries, but they do run correctly in the container (via the CLI). So it looks like I need to add my patch to `minidump-stackwalk/tree/main/breakpad-patches`, re-run `make build`, then test the altered `minidump_stackwalk` inside the container (via its CLI). The CLI supports `sftp`, so I should be able to import copies of minidumps that my altered Firefox has generated. Docker containers run Linux. And the reason the build scripts have Linuxisms is that they're meant to run on Linux -- either directly or via a Docker container.
Bug 1577886 Comment 22 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
I finally managed to build Socorro's `minidump_stackwalk`, but only inside a Docker image, and only as a Linux binary. Here's how I did it: 1) Download [Docker for Mac](https://docs.docker.com/docker-for-mac/), install it, and run it. 2) At an ordinary Terminal prompt (not one for a Docker container) run git clone https://github.com/mozilla-services/minidump-stackwalk.git 3) `cd minidump-stackwalk`, and while Docker Desktop is running, run make build 4) This creates a Docker container, and builds all the appropriate binaries inside it (including `minidump_stackwalk`). 5) In the Docker Desktop, run the container and open a "CLI" (command line interface) to it. Confusingly, its "home directory" is `/home/app`, and the CLI (a Terminal window) opens at `/app`, but the binaries are in `/stackwalk`. They're all Linux binaries, but they do run correctly in the container (via the CLI). So it looks like I need to add my patch to `minidump-stackwalk/tree/main/breakpad-patches`, re-run `make build`, then test the altered `minidump_stackwalk` inside the container (via its CLI). The CLI supports `sftp`, so I should be able to import copies of minidumps that my altered Firefox has generated. Docker containers run Linux. And the reason the build scripts have Linuxisms is that they're meant to run on Linux -- either directly or via a Docker container.
I finally managed to build Socorro's `minidump_stackwalk`, but only inside a Docker image, and only as a Linux binary. Here's how I did it: 1) Download [Docker for Mac](https://docs.docker.com/docker-for-mac/), install it, and run it. 2) At an ordinary Terminal prompt (not one for a Docker container) run git clone https://github.com/mozilla-services/minidump-stackwalk.git 3) `cd minidump-stackwalk`, and while Docker Desktop is running, run make build 4) This creates a Docker container, and builds all the appropriate binaries inside it (including `minidump_stackwalk`). 5) In the Docker Desktop, run the container and open a "CLI" (command line interface) to it. Confusingly, its "home directory" is `/home/app`, and the CLI (a Terminal window) opens at `/app`, but the binaries are in `/stackwalk`. They're all Linux binaries, but they do run correctly in the container (via the CLI). So it looks like I need to add my patch to `minidump-stackwalk/tree/main/breakpad-patches`, re-run `make build`, then test the altered `minidump_stackwalk` inside the container (via its CLI). The CLI supports `sftp`, so I should be able to import copies of minidumps that my altered Firefox has generated. Docker containers run Linux. And the reason the build scripts have Linuxisms is that they're meant to run on Linux -- either directly or via a Docker container.
I finally managed to build Socorro's `minidump_stackwalk`, but only inside a Docker image, and only as a Linux binary. Here's how I did it: 1) Download [Docker for Mac](https://docs.docker.com/docker-for-mac/), install it, and run it. 2) At an ordinary Terminal prompt (not one for a Docker container) run git clone https://github.com/mozilla-services/minidump-stackwalk.git 3) `cd minidump-stackwalk`, and while Docker Desktop is running, run make build 4) This creates a Docker container, and builds all the appropriate binaries inside it (including `minidump_stackwalk`). 5) In the Docker Desktop, run the container and open a "CLI" (command line interface) to it. Confusingly, its "home directory" is `/home/app`, and the CLI (a Terminal window) opens at `/app`, but the binaries are in `/stackwalk`. They're all Linux binaries, but they do run correctly in the container (via the CLI). So it looks like I need to add my patch to `minidump-stackwalk/tree/main/breakpad-patches`, re-run `make build`, then test the altered `minidump_stackwalk` inside the container (via its CLI). The CLI supports `sftp`, so I should be able to import copies of minidumps that my altered Firefox has generated. Docker containers run Linux. And the reason the build scripts have Linuxisms is that they're meant to run on Linux -- either directly or via a Docker container. You don't need a Docker account to do any of this. That's only for getting access to remote storage.