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

Comments

@jeroen
Copy link
Member

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

This comment has been minimized.

@hadley hadley closed this Oct 4, 2019
@jeroen

This comment has been minimized.

Copy link
Member Author

commented Oct 4, 2019

Thanks!

@jeroen

This comment has been minimized.

Copy link
Member Author

commented Oct 4, 2019

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

@hadley

This comment has been minimized.

Copy link
Member

commented Oct 4, 2019

Is it possible to fix the underlying problem in pkgload?

@jeroen

This comment has been minimized.

Copy link
Member Author

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
Projects
None yet
2 participants
You can’t perform that action at this time.