google / swift-jupyter

Apache License 2.0
619 stars 90 forks source link

work around TF-1179 by pointing at system libuuid #92

Closed marcrasi closed 4 years ago

marcrasi commented 4 years ago

Problem

When you install swift & swift-jupyer using jeremy's harebrained installation instructions (https://forums.fast.ai/t/jeremys-harebrained-install-guide/43814), conda gives you a bunch of shared libraries with versions slightly different from the ones that our swift nightlies and releases are built against. This is normally mostly fine -- you get some harmless warnings about "anaconda3/lib/xxx: no version information available".

However, swiftpm has recently added some logic that runs swiftc in a subprocess and reads the output as json. (https://github.com/apple/swift-package-manager/blob/0faa43fd9094ca905a3e666d040e7e0e36982fd6/Sources/Build/Triple.swift#L141) These warnings make the output be invalid json, so swiftpm dies!

Workaround in this PR

We can use LD_PRELOAD to make swift-build see the system libuuid, so that the warning does not appear, and the json gets parsed correctly.

Proper solution tracked in https://bugs.swift.org/browse/TF-1179.

sgugger commented 4 years ago

Confirmed it fixes the issues on my side.