Deep Dive: Creating Shared Libraries with PackageCompiler.jl
2021-07-29, 20:00–20:30 (UTC), Blue

The ability to create shared library bundles was recently added to PackageCompiler.jl. In this talk, we will discuss the technical details of the implementation and give in-depth examples of using the resulting shared library bundles from C and Rust.


We recently added to PackageCompiler.jl functionality for creating shared library bundles, consisting of a "main" dynamic library (.so, .dylib, or .dll) created from Julia code, as well as any required Julia runtime libraries. The purpose of the library bundle is to allow developers to write Julia code that can be distributed to developers using other languages without the need for Julia to be installed.

This work extends the existing PackageCompiler.jl functionality to create self-contained, distributable and relocatable "apps". In this talk, we will go into the details of the implementation, as well as give in-depth examples of using the resulting shared library from C and rust.

I'm a contributor to the Julia language and many packages.

This speaker also appears in:

Kevin Squire is a Senior Software Engineer at Second Spectrum, Inc., where he works in the AI group on machine learning algorithms and infrastructure. Previously, he completed a postdoc in Computational Genetics at UCLA and taught Computer Science at the Naval Postgraduate School. He received his PhD in Electrical Engineering from the University of Illinois. Kevin has been interested in Julia since its first public release and was an early contributor to the language.

This speaker also appears in:

Senior Machine Learning Engineer at Second Spectrum.