Add macOS compatibility for CPU core detection#72
Open
Bohaska wants to merge 1 commit intoBGI-flexlab:masterfrom
Open
Add macOS compatibility for CPU core detection#72Bohaska wants to merge 1 commit intoBGI-flexlab:masterfrom
Bohaska wants to merge 1 commit intoBGI-flexlab:masterfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hello BGI-flexlab team,
This Pull Request addresses a build error I encountered when compiling SOAPnuke on macOS systems.
Problem
When attempting to build SOAPnuke on macOS, the compilation process fails with the following error:
This is because
sys/sysinfo.hand theget_nprocs()function are part of the GNU C Library (glibc) and are not available on macOS (which uses a BSD-derived system).Proposed Solution
This PR introduces conditional compilation to use platform-specific headers and functions for retrieving the number of CPU processors. After implementing this PR, I was able to compile SOAPnuke on MacOS.
Changes Made
"sys/sysinfo.h"with a conditional block that includes<unistd.h>for macOS (__APPLE__) and retains"sys/sysinfo.h"for other systems.get_nprocs()function call withsysconf(_SC_NPROCESSORS_ONLN)within a conditional block for macOS. This ensures that the correct POSIX-compliant method is used on Apple platforms.These changes ensure that SOAPnuke can be successfully compiled and run on macOS, significantly improving its portability and accessibility for users that use MacOS.
Thank you for considering this improvement.