matthijs2704 / vapor-apns

Simple APNS Library for Vapor (Swift)
MIT License
341 stars 37 forks source link

Linker (?) warning #45

Open mipstian opened 7 years ago

mipstian commented 7 years ago

Hi!

Ever since I had VaporAPNS install its fancier version of curl, whenever I run vapor in any way (vapor build, vapor run serve, etc.) I get this message:

vapor: /usr/local/lib/libcurl.so.4: no version information available (required by /usr/lib/swift/linux/libFoundation.so)

Nothing seems to break as a result of this, but the docs didn't mention I should expect it. Any way this can go away? :) Thanks!

alexisakers commented 7 years ago

This message is shown because Foundation requires that libcurl has a version 3 ABI, but libcurl built from source has a version 4 ABI. This shouldn't be a problem because the library is retro-compatible.

However, if this message bothers you, you can uninstall libcurl and follow these steps to reinstall it:

wget https://curl.haxx.se/download/curl-7.54.0.tar.gz
tar -xf curl-7.54.0.tar.gz
cd curl-7.54.0
sed -i -e "s/CURL_@CURL_LT_SHLIB_VERSIONED_FLAVOUR@4/CURL_@CURL_LT_SHLIB_VERSIONED_FLAVOUR@3/g" lib/libcurl.vers.in
./configure --with-nghttp2 --with-ssl --enable-versioned-symbols
make
sudo make install
sudo ldconfig

This will download and extract the source of the latest version of curl, downgrade the ABI version to 3 and compile the library with versionned symbols.

alexisakers commented 7 years ago

@matthijs2704 Maybe we could add this solution directly into CurlUpdater?

mipstian commented 7 years ago

Thanks! I'm not quite sure how libcurl was installed though; how do I go about uninstalling it?