multiversx / mx-sdk-py-cli

Python Command Line Tools and SDK for interacting with the MultiversX blockchain and dApps.
Other
34 stars 36 forks source link

Handle Rust (sc-meta) dependencies: pkg-config, libssl-dev #338

Open andreibancioiu opened 11 months ago

andreibancioiu commented 11 months ago

mxpy is not aware of some dependencies of sc-meta:

Reported here: https://t.me/MultiversXDevelopers/118542.

Summary of the error message:

error: failed to run custom build command for openssl-sys
andreibancioiu commented 11 months ago

Workaround: run sudo apt-get install pkg-config libssl-dev (on Ubuntu).

andreibancioiu commented 9 months ago

More detailed error message (for future reference):

error: failed to run custom build command for `openssl-sys             
 v0.9.93`                                                               

 Caused by:                                                             
   process didn't exit successfully:                                    
   (...)

 "--cflags" "openssl"`                                                  
   The pkg-config command could not be found.                           

   Most likely, you need to install a pkg-config package for            
 your OS.                                                               
   Try `apt install pkg-config`, or `yum install pkg-config`,           
   or `pkg install pkg-config`, or `apk add pkgconfig`                  
 depending on your distribution.                                        

   If you've already installed it, ensure the pkg-config                
 command is one of the                                                  
   directories in the PATH environment variable.                        

   If you did not expect this build to link to a pre-installed          
 system library,                                                        
   then check documentation of the openssl-sys crate for an             
 option to                                                              
   build the library from source, or disable features or                
 dependencies                                                           
   that require pkg-config.                                             

   --- stderr                                                           
   thread 'main' panicked at '                                          

   Could not find directory of OpenSSL installation, and this           
 `-sys` crate cannot                                                    
   proceed without this knowledge. If OpenSSL is installed and          
 this crate had                                                         
   trouble finding it,  you can set the `OPENSSL_DIR`                   
 environment variable for the                                           
   compilation process.                                                 

   Make sure you also have the development packages of openssl          
 installed.                                                             
   For example, `libssl-dev` on Ubuntu or `openssl-devel` on            
 Fedora.                                                                

   If you're in a situation where you think the directory               
 *should* be found                                                      
   automatically, please open a bug at                                  
 https://github.com/sfackler/rust-openssl                               
   and include information about your system as well as this            
 message.                                                               

   $HOST = x86_64-unknown-linux-gnu                                     
   $TARGET = x86_64-unknown-linux-gnu                                   
   openssl-sys = 0.9.93                                                 

   It looks like you're compiling on Linux and also targeting           
 Linux. Currently this                                                  
   requires the `pkg-config` utility to find OpenSSL but                
 unfortunately `pkg-config`                                             
   could not be found. If you have OpenSSL installed you can            
 likely fix this by                                                     
   installing `pkg-config`.                                             

 error: failed to compile `multiversx-sc-meta ...`