Skip to content

jl_setjmp is not exported on Windows, making it impossible to use the JL_TRY/JL_CATCH macros when embedding Julia #42245

@Taaitaaiger

Description

@Taaitaaiger

On Windows jl_setjmp is implemented in assembly here (64 bit) and here (32 bit). On Linux, jl_setjmp is an "alias" to sigsetjmp. The result is that if the JL_TRY/JL_CATCH macros are used when embedding Julia on Linux they work successfully because suigsetjmp can be found in libc, but when embedding on Windows instead it fails because jl_setjmp is not exported.

The easiest way to reproduce this error is to wrap the call to jl_eval_string in the example found here with JL_TRY/JL_CATCH. I've used MINGW to compile the code, the instructions for MSVC didn't work but I haven't investigated this further because I have very little experience with developing on Windows and Visual Studio.

Metadata

Metadata

Assignees

Labels

regressionRegression in behavior compared to a previous version

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions