You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Jiri Daněk (Jira)" <ji...@apache.org> on 2019/11/16 17:21:00 UTC

[jira] [Commented] (PROTON-2097) Linkage error when openssl version is too old or new (not sure)

    [ https://issues.apache.org/jira/browse/PROTON-2097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16975755#comment-16975755 ] 

Jiri Daněk commented on PROTON-2097:
------------------------------------

I've created the following Dockerfile

{noformat}
# docker build -t qpid-proton:ubuntu -f tools/docker/ubuntu.Dockerfile .

FROM library/ubuntu:18.04 as buildbase
RUN apt-get update
RUN apt-get install -y make build-essential cmake swig libpython3-dev libsasl2-dev libjsoncpp-dev
RUN mkdir /source /build /install

FROM buildbase as pyenv
RUN apt-get install -y git
RUN git clone https://github.com/yyuu/pyenv.git /.pyenv
ENV PYENV_ROOT="/.pyenv"
ENV PATH="/.pyenv/bin:${PATH}"
# https://github.com/pyenv/pyenv/wiki
RUN DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
RUN pyenv install 3.7.5
WORKDIR /build
ADD . /source/
ENV CHACHE_BUSTER=42
RUN cmake /source -DCMAKE_INSTALL_PREFIX=/install -DBUILD_BINDINGS=python
RUN make
RUN make install
# RUN ctest -V
{noformat}

And I can build that just fine. The line where openssl is detected is

{noformat}
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.1.1") 
{noformat}

(It is not detecting the pyenv Python interpreter, but that is different Jira. I'll try to resolve that next.)

Try running CMake in a clean directory and post the full CMake output. {{mkdir build2, cd build2, cmake .. whateverYourOptionsAre}}

Full output

{noformat}
 % docker build -t qpid-proton:ubuntu -f tools/docker/ubuntu.Dockerfile .
Sending build context to Docker daemon  489.5MB
Step 1/17 : FROM library/ubuntu:18.04 as buildbase
 ---> 775349758637
Step 2/17 : RUN apt-get update
 ---> Using cache
 ---> bf253f5501dd
Step 3/17 : RUN apt-get install -y make build-essential cmake swig libpython3-dev libsasl2-dev libjsoncpp-dev
 ---> Using cache
 ---> 8de44e5bfd52
Step 4/17 : RUN mkdir /source /build /install
 ---> Using cache
 ---> 6b75070d6de8
Step 5/17 : FROM buildbase as pyenv
 ---> 6b75070d6de8
Step 6/17 : RUN apt-get install -y git
 ---> Using cache
 ---> 3fdd1f7872e9
Step 7/17 : RUN git clone https://github.com/yyuu/pyenv.git /.pyenv
 ---> Using cache
 ---> 507519c13fca
Step 8/17 : ENV PYENV_ROOT="/.pyenv"
 ---> Using cache
 ---> 2733290e9e1d
Step 9/17 : ENV PATH="/.pyenv/bin:${PATH}"
 ---> Using cache
 ---> ef4464e75ebf
Step 10/17 : RUN DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
 ---> Using cache
 ---> a09fa470b3d5
Step 11/17 : RUN pyenv install 3.7.5
 ---> Using cache
 ---> e4669fb362f3
Step 12/17 : WORKDIR /build
 ---> Using cache
 ---> d63b94c4f292
Step 13/17 : ADD . /source/
 ---> 3766c7097d00
Step 14/17 : ENV CHACHE_BUSTER=42
 ---> Running in 1f20490332ed
Removing intermediate container 1f20490332ed
 ---> a1d5ce7ecae7
Step 15/17 : RUN cmake /source -DCMAKE_INSTALL_PREFIX=/install -DBUILD_BINDINGS=python
 ---> Running in d41aa260820e
-- The C compiler identification is GNU 7.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.1.1") 
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found PythonInterp: /usr/bin/python3.6 (found version "3.6.8") 
-- Found SWIG: /usr/bin/swig3.0 (found version "3.0.12") 
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Found CyrusSASL: /usr/lib/x86_64-linux-gnu/libsasl2.so (found version "2.1.27") 
-- Looking for a CXX compiler
-- Looking for a CXX compiler - /usr/bin/c++
-- The CXX compiler identification is GNU 7.4.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build type is "RelWithDebInfo" (has debug symbols)
-- PN_VERSION: 0.30.0 (SNAPSHOT)
-- Looking for clock_gettime
-- Looking for clock_gettime - found
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Looking for atoll
-- Looking for atoll - found
-- Looking for epoll_wait
-- Looking for epoll_wait - found
-- Building the epoll proactor
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Looking for include file inttypes.h
-- Looking for include file inttypes.h - found
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so (found suitable exact version "3.6.8") 
-- Could NOT find Ruby (missing: RUBY_EXECUTABLE RUBY_INCLUDE_DIR RUBY_LIBRARY) 
-- Looking for Python module sphinx - not found
-- Looking for Python module sphinx_automodapi - not found
-- Sphinx modules not found; doc generation disabled.
-- Looking for Python module setuptools - not found
-- Looking for Python module wheel - not found
-- Looking for Python module tox - not found
-- The tox tool is not available; skipping the python-tox-tests
-- Configuring done
-- Generating done
-- Build files have been written to: /build
Removing intermediate container d41aa260820e
 ---> 358aac410627
Step 16/17 : RUN make
 ---> Running in 905cd6808924
Scanning dependencies of target generated_c_files
[  1%] Generating src/protocol.h
[  2%] Generating src/encodings.h
[  2%] Built target generated_c_files
Scanning dependencies of target qpid-proton-core-objects
[  3%] Building C object c/CMakeFiles/qpid-proton-core-objects.dir/src/core/object/object.c.o
[  4%] Building C object c/CMakeFiles/qpid-proton-core-objects.dir/src/core/object/list.c.o
[  4%] Building C object c/CMakeFiles/qpid-proton-core-objects.dir/src/core/object/map.c.o
[  5%] Building C object c/CMakeFiles/qpid-proton-core-objects.dir/src/core/object/string.c.o
[  6%] Building C object c/CMakeFiles/qpid-proton-core-objects.dir/src/core/object/iterator.c.o
[  7%] Building C object c/CMakeFiles/qpid-proton-core-objects.dir/src/core/object/record.c.o
[  8%] Building C object c/CMakeFiles/qpid-proton-core-objects.dir/src/core/init.c.o
[  9%] Building C object c/CMakeFiles/qpid-proton-core-objects.dir/src/core/logger.c.o
[  9%] Building C object c/CMakeFiles/qpid-proton-core-objects.dir/src/core/util.c.o
[ 10%] Building C object c/CMakeFiles/qpid-proton-core-objects.dir/src/core/error.c.o
[ 11%] Building C object c/CMakeFiles/qpid-proton-core-objects.dir/src/core/buffer.c.o
...
[100%] Built target py_src_dist
Removing intermediate container 905cd6808924
 ---> 02c4300758c2
Step 17/17 : RUN make install
{noformat}


> Linkage error when openssl version is too old or new (not sure)
> ---------------------------------------------------------------
>
>                 Key: PROTON-2097
>                 URL: https://issues.apache.org/jira/browse/PROTON-2097
>             Project: Qpid Proton
>          Issue Type: Improvement
>          Components: python-binding
>    Affects Versions: proton-c-0.29.0
>            Reporter: Omer Katz
>            Priority: Major
>             Fix For: proton-c-0.30.0
>
>
> After successfully building I'm getting the following error when I try to import _cproton.
> {code:java}
> undefined symbol:  CRYPTO_set_locking_callback{code}
> This is not the behavior I expected.
> The build should fail if this symbol is not present.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org