Giter Club home page Giter Club logo

Comments (1)

guimarqu avatar guimarqu commented on August 25, 2024

I modified the BinDeps dependencies.jl file to see where the error comes from. Line 520, in _find_library function, I replaced h = Libdl.dlopen_e(l, Libdl.RTLD_LAZY) by h = Libdl.dlopen(l, Libdl.RTLD_LAZY). According to the libdl.jl documentation, dlopen_e mutes errors.

Then, I built

ulia> Pkg.build("MbedTLS")
INFO: Building MbedTLS
INFO: Recompiling stale cache file /home/imb/gmarqu100p/.julia/lib/v0.4/BinDeps.ji for module BinDeps.
===============================[ ERROR: MbedTLS ]===============================

LoadError: could not load library "/home/imb/gmarqu100p/.julia/v0.4/MbedTLS/deps/src/mbedtls-2.1.1/library/libmbedtls"
/home/imb/gmarqu100p/.julia/v0.4/MbedTLS/deps/src/mbedtls-2.1.1/library/libmbedtls: cannot open shared object file no such file or directory
while loading /home/imb/gmarqu100p/.julia/v0.4/MbedTLS/deps/build.jl, in expression starting on line 74

================================================================================

==============================================================================================[ BUILD ERRORS ]===============================================================================================

WARNING: MbedTLS had build errors.

 - packages with build errors remain installed in /home/imb/gmarqu100p/.julia/v0.4
 - build the package(s) and all dependencies with `Pkg.build("MbedTLS")`
 - build a single package by running its `deps/build.jl` script

=============================================================================================================================================================================================================

So, I modified libraries dependency declaration in build.jl. I added the so extension despite of what it says on BinDeps documentation.

mbed = library_dependency("libmbedtls.so", aliases=["libmbedtls.so", "libmbedtls.so.2.1.1"])
mbed_crypto = library_dependency("libmbedcrypto.so", aliases=["libmbedcrypto.so", "libmbedcrypto.so.2.1.1"], validate=validate_mbed)
mbed_x509 = library_dependency("libmbedx509.so", aliases=["libmbedx509.so", "libmbedx509.so.2.1.1"])

And built again

julia> Pkg.build("MbedTLS")
INFO: Building MbedTLS
INFO: Recompiling stale cache file /home/imb/gmarqu100p/.julia/lib/v0.4/BinDeps.ji for module BinDeps.
===============================[ ERROR: MbedTLS ]===============================

LoadError: could not load library "/home/imb/gmarqu100p/.julia/v0.4/MbedTLS/deps/src/mbedtls-2.1.1/library/libmbedtls.so"
/home/imb/gmarqu100p/.julia/v0.4/MbedTLS/deps/src/mbedtls-2.1.1/library/libmbedtls.so: mauvaise classe ELF : ELFCLASS64
while loading /home/imb/gmarqu100p/.julia/v0.4/MbedTLS/deps/build.jl, in expression starting on line 74

================================================================================

==============================================================================================[ BUILD ERRORS ]===============================================================================================

WARNING: MbedTLS had build errors.

 - packages with build errors remain installed in /home/imb/gmarqu100p/.julia/v0.4
 - build the package(s) and all dependencies with `Pkg.build("MbedTLS")`
 - build a single package by running its `deps/build.jl` script

=============================================================================================================================================================================================================

The library is found but it looks like I have a 32 bits app trying to load a 64bits library. Indeed, I installed Julia in 32bits. (Note that It works even without the .so).

from mbedtls.jl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.