Comments (3)
Nice catch @Lachlan-White
It looks like our current .goreleaser.yaml
doesn't account for a v7
distribution here.
This section does not exist in our release file:
# GOARM to build for when GOARCH is arm.
# For more info refer to: https://go.dev/doc/install/source#environment
#
# Default: [ 6 ]
goarm:
- 6
- 7
Reading again, it also looks like we only support arm64
as a release candidate: ARM64 (64-bit): Also known as ARMv8
- id: linux-build
dir: ./cmd/syft
binary: syft
goos:
- linux
goarch:
- amd64
- arm64
- ppc64le
- s390x
To reproduce this I also ran
❯ docker run -it mcr.microsoft.com/powershell:latest /bin/sh
# uname -m
x86_64
It looks like for the powershell latest docker image the arch should be x86_64) arch="amd64" ;;
I was also able to install syft successfully when running that image interactively:
# curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
[info] fetching release script for tag='v1.4.1'
[info] using release tag='v1.4.1' version='1.4.1' os='linux' arch='amd64'
[info] installed /usr/local/bin/syft
Do you have any more information on why your mcr.microsoft.com/powershell:latest /bin/sh
is returning an arm32
architecture?
I can talk with the team about updating our release assets, but want to also get to the bottom of why we're seeing different outcomes on our respective machine.
Here is the link to the powershell official docker image along with the tags and their supported architecture:
https://hub.docker.com/_/microsoft-powershell
from syft.
Hey @spiffcs, thanks for the quick response!
Have no idea why the default output of the Microsoft image is returning an arm32
by default.
I might just force the version specifically in arm64
which would fix my issue, but it is an interesting scenario.
If you had anything you wanted me to test on my local to help, just let me know
from syft.
If you run this on your local what's your result?
docker run -it mcr.microsoft.com/powershell:latest /bin/sh
# uname -a
Linux 83b1dbc1234f 6.6.26-linuxkit #1 SMP PREEMPT_DYNAMIC Sat Apr 27 04:15:35 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
I copied your Dockerfile and removed the powershell lines and was able to get a successful install.
What happens if you do the same for the alpine version or any explicitly tagged x86_64
arch?
docker run -it mcr.microsoft.com/powershell:lts-alpine-3.17 /bin/sh
Unable to find image 'mcr.microsoft.com/powershell:lts-alpine-3.17' locally
lts-alpine-3.17: Pulling from powershell
3c854c8cbf46: Pull complete
09b3f3175f8c: Pull complete
0505aeb2a439: Pull complete
Digest: sha256:2064d42be1cb05f5d83995f2b12f95737fe74924cbd8519fda886ad834e0b4f8
Status: Downloaded newer image for mcr.microsoft.com/powershell:lts-alpine-3.17
/ # uname -a
Linux aab7448f7e05 6.6.26-linuxkit #1 SMP PREEMPT_DYNAMIC Sat Apr 27 04:15:35 UTC 2024 x86_64 Linux
from syft.
Related Issues (20)
- Very High Memory Usage Using Syft HOT 1
- Poetry's multiple constraints seems to break the parser
- Add ability to use distributed ruleset HOT 1
- Show dependencies for Github Actions
- Issue scanning Poetry Project with Syft 1.6 and cataloger=python-package-cataloger HOT 5
- The ability to extract the contents of the license file (LICENSE.txt) itself HOT 3
- Nondeterministic SBOM generation HOT 4
- Include repository_url information in PURLs for non-default repository packages
- `License` field in Python package metadata could be name or full text HOT 2
- Python libraries licenses are not gathered HOT 5
- Add CycloneDX 1.6 Support HOT 3
- Add support for java "kar" files
- Syft reports the wrong version of the go package from binary (F/P findings on Grype result) HOT 2
- CycloneDX group field not symmetrically handled by encoder/decoders
- Syft tries to create the cache directory at a location that has no permission HOT 3
- linux-kernel-module cataloger doesn't extract version HOT 7
- "none" under file selection in configuration doesn't work as expected HOT 1
- Use VirtualPath to build Dependencies section HOT 1
- No Supplier for each component within SBOM HOT 2
- Nix cataloger should use find by glob instead of iterating over all files HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from syft.