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

How to disable pkgload #927

Closed
jeroen opened this issue Oct 4, 2019 · 5 comments
Closed

How to disable pkgload #927

jeroen opened this issue Oct 4, 2019 · 5 comments

Comments

@jeroen
Copy link
Member

jeroen commented Oct 4, 2019

Unfortunately, pkgload does not work for packages that require initialization of an external library. For example it consistently crashes with the V8 package.

To reproduce you need libv8:

brew install v8

And then you see this: https://youtu.be/vL-kXDEaC4A

It crashes quite frequently for me with c/c++ packages, but V8 is the most reproducible.

@hadley
Copy link
Member

hadley commented Oct 4, 2019

@hadley hadley closed this as completed Oct 4, 2019
@jeroen
Copy link
Member Author

jeroen commented Oct 4, 2019

Thanks!

@jeroen
Copy link
Member Author

jeroen commented Oct 4, 2019

Btw, an option to globally opt-out of all pkgload everywhere is very high on my wish list :)

@hadley
Copy link
Member

hadley commented Oct 4, 2019

Is it possible to fix the underlying problem in pkgload?

@jeroen
Copy link
Member Author

jeroen commented Oct 8, 2019

I don't know exactly how pkgload works and what it does wrong. In general, unloading and reloading of symbols from dll's is very tricky and OS specific, I think it is very hard to do this reliably.

Maybe pkgload should only be used for packages without compiled code, or perhaps packages with compiled code but without a Makevars so that it only uses the default compiler and linker flags.

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