简体   繁体   中英

Installation of Python and openssl — without yum

trying to install OpenSSL for python 3.8.3 in Linux, make give the following error

I have added all the path required in.bashrc and.bash_profile I have used /config comand

'''./configure --prefix=$Home/.local/python --with-openssl=$HOME/.local/ssl '''

Makefile:1884: warning: overriding commands for target `Modules/_ssl.o'
Makefile:1882: warning: ignoring old commands for target `Modules/_ssl.o'
Makefile:1885: warning: overriding commands for target `Modules/_ssl.cpython-38-x86_64-linux-gnu.so'
Makefile:1883: warning: ignoring old commands for target `Modules/_ssl.cpython-38-x86_64-linux-gnu.so'
gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall    -std=c99 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration  -I./Include/internal  -I. -I./Include    -DPy_BUILD_CORE_BUILTIN  -DUSE_SSL -IOME/.local/openssl1/include -IOME/.local/openssl1/include/openssl -c ./Modules/_ssl.c -o Modules/_ssl.o
./Modules/_ssl.c: In function ‘_ssl_configure_hostname’:
./Modules/_ssl.c:891: error: implicit declaration of function ‘SSL_get0_param’
./Modules/_ssl.c:891: warning: initialization makes pointer from integer without a cast
./Modules/_ssl.c:893: error: implicit declaration of function ‘X509_VERIFY_PARAM_set1_host’
./Modules/_ssl.c:899: error: implicit declaration of function ‘X509_VERIFY_PARAM_set1_ip’
./Modules/_ssl.c: In function ‘_ssl__SSLContext_impl’:
./Modules/_ssl.c:3130: error: ‘X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS’ undeclared (first use in this function)
./Modules/_ssl.c:3130: error: (Each undeclared identifier is reported only once
./Modules/_ssl.c:3130: error: for each function it appears in.)
./Modules/_ssl.c:3240: error: implicit declaration of function ‘SSL_CTX_get0_param’
./Modules/_ssl.c:3240: warning: assignment makes pointer from integer without a cast
./Modules/_ssl.c:3246: error: implicit declaration of function ‘X509_VERIFY_PARAM_set_hostflags’
./Modules/_ssl.c: In function ‘get_verify_flags’:
./Modules/_ssl.c:3555: warning: assignment makes pointer from integer without a cast
./Modules/_ssl.c: In function ‘set_verify_flags’:
./Modules/_ssl.c:3568: warning: assignment makes pointer from integer without a cast
./Modules/_ssl.c: In function ‘set_host_flags’:
./Modules/_ssl.c:3764: warning: assignment makes pointer from integer without a cast

This make output...

 gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -std=c99 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -I./Include/internal -I. -I./Include -DPy_BUILD_CORE_BUILTIN -DUSE_SSL -IOME/.local/openssl1/include -IOME/.local/openssl1/include/openssl -c./Modules/_ssl.c -o Modules/_ssl.o

... suggests that your configure command was not ...

 ./configure --prefix=$Home/.local/python --with-openssl=$HOME/.local/ssl

In particular, I am looking at these bits of the output:

 -IOME/.local/openssl1/include -IOME/.local/openssl1/include/openssl

. That's showing the effect of the text $HOME/.local/openssl1 being expanded by make to OME/.local/openssl1 (because no variable H is defined). That, in turn, indicates that $HOME was not expanded by the shell when you ran configure , so it must have been quoted in the actual command you ran. Something like this, maybe:

(wrong:)

./configure --prefix='$Home/.local/python' --with-openssl='$HOME/.local/openssl1'

Additionally, $Home is not the same as $HOME , so probably what you really want is:

(better:)

./configure --prefix=$HOME/.local/python --with-openssl=$HOME/.local/openssl1

If you do quote then do it with double quotes ("), not single-quotes ('), because the latter suppress shell parameter expansion. If there's anything in your home directory name that requires quoting, however, such as spaces, then you can expect other issues to arise, whether you quote in the configure command or not.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM