Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when installing @jazzer.js/core on linux arm architectures #795

Open
matthewkeil opened this issue Apr 7, 2024 · 2 comments
Open

Comments

@matthewkeil
Copy link

matthewkeil commented Apr 7, 2024

We using the @jazzer/core for one of our libs which is also a native module. Thanks making this module!!! We prebuild the binaries for a number of architectures and found an edge case in your build process.

Issue 1)
We are attempting to prebuild our library for linux/arm64 which is not prebuilt by jasser.js/fuzzer so it attempts to build it locally. The issue is that prebuild is a devDependency.

@jazzer.js/fuzzer package.json

		"prebuild": "prebuild --runtime napi --backend cmake-js --all --strip --verbose",
		"install": "prebuild-install --runtime napi || npm run prebuild",

The installation falls back to the second case where npm run prebuild scripts runs and when it does it throws Error: prebuild not found. Likely this is because its a dev dependency. For the time being we have added prebuild as a global package in our docker container but when the build runs we came up with the second issue below.

Issue 2)
Your CmakeLists.txt has a target that is not supported on linxu/arm64

set(LIBFUZZER_TARGET "clang_rt.fuzzer_no_main-x86_64")

Not sure how to handle this second part of things but wanted to also bring it to your attention.

@Johann-S
Copy link

The only solution I found was to save Jazzer deps as optional...

@matthewkeil
Copy link
Author

The only solution I found was to save Jazzer deps as optional...

We use yarn and this approach caused us issues downstream because yarn pulls optional and there is no flag to ignore them like there is for peer deps. We ended up just running an exec in the fuzz test entrance file if it was not installed yet.

https://github.com/ChainSafe/blst-ts/blob/05be5dac3b2c296f3627e06f75623aaba4d1fa78/test/fuzz/fuzz.test.ts#L31

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants