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

When is m2w64-libwinpthread-git needed? Is it related to OpenMP? #2045

Open
mfansler opened this issue Dec 13, 2023 · 0 comments
Open

When is m2w64-libwinpthread-git needed? Is it related to OpenMP? #2045

mfansler opened this issue Dec 13, 2023 · 0 comments
Labels

Comments

@mfansler
Copy link
Member

Your question:

The Knowledge Base for maintainers omits any mention of Windows in the OpenMP section. While it seems like there is no such corresponding package, I have noticed a pattern of linking analysis errors for win-64 builds of R packages. Specifically, I've repeatedly observed R packages using OpenMP, where the win-64 versions of these builds result in linking against m2w64-libwinpthread-git.

Example error from r-rxode2random build

ERROR (r-rxode2random,lib/R/library/rxode2random/libs/x64/rxode2random.dll): Needed DSO Library/mingw-w64/bin/libwinpthread-1.dll found in ['m2w64-libwinpthread-git']
  ERROR (r-rxode2random,lib/R/library/rxode2random/libs/x64/rxode2random.dll): .. but ['m2w64-libwinpthread-git'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)

I have been resolving this with adding {{ native }}libwinpthread-git as a run dependency, but perhaps this should be being added elsewhere (as {{ posix }}libwinpthread-git?) whenever a build is using OpenMP flags. Note that I lack familiarity with how win-64 builds are handling -fopenmp flag, and this is merely an empirical pattern I've happened across in a dozen or so packages.

Is there any guidance we could give for when a {{ native }}libwinpthread-git is expected to be needed? Is the association with OpenMP appropriate?

Even if there is no direct OpenMP association, at the least it would be helpful if there were some explanation for why Windows is never mentioned in the OpenMP section of the Knowledge Base.

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

No branches or pull requests

1 participant