Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Tor Tor
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 342
    • Issues 342
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 35
    • Merge requests 35
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • The Tor Project
  • Core
  • TorTor
  • Issues
  • #40111
Closed
Open
Issue created Aug 22, 2020 by simplejack@simplejack

Unable to build tor statically (no linkable openssl found)

I try to build tor statically. While configure tor it errors with:

checking for openssl directory... configure: WARNING: Could not find a linkable openssl.  If you have it installed somewhere unusual, you can specify an explicit path using --with-openssl-dir
configure: WARNING: On Debian, you can install openssl using "apt-get install libssl-dev"
configure: error: Missing libraries; unable to proceed.

I tried:

  • with several tor versions
  • with several openssl versions, using several paths to openssl.
  • with ubuntu, debian, in container, locally (ubuntu 20.04) etc. I got always the same error.
  • several different options for openssl, libevent
  • with openssl-dev and path point to it

I don't know if it's a but however i spent now 1-2 days on this. The error should be more precise anyway.

Here a complete example:

FROM debian

RUN mkdir /tor
WORKDIR /tor

RUN apt update && apt upgrade -y

RUN apt install -y exa
RUN apt install -y git

RUN apt install -y build-essential automake pkgconf
RUN apt install -y zlib1g-dev libsystemd-dev
RUN apt install -y libtool autopoint

#RUN git clone --depth 1 -b tor-0.3.3.9 --single-branch https://github.com/torproject/tor.git /tor
RUN git clone --depth 1 -b tor-0.4.5.0-alpha-dev --single-branch https://github.com/torproject/tor.git /tor
#RUN git clone --depth 1 -b openssl-3.0.0-alpha6 --single-branch https://github.com/openssl/openssl /tor/openssl
RUN git clone --depth 1 -b OpenSSL_1_1_1f --single-branch https://github.com/openssl/openssl /tor/openssl
RUN git clone --depth 1 -b v1.2.9 --single-branch https://github.com/madler/zlib /tor/zlib
RUN git clone --depth 1 -b release-2.1.12-stable --single-branch https://github.com/libevent/libevent /tor/libevent
RUN git clone --depth 1 -b v5.2.3 --single-branch https://github.com/roboticslibrary/xz /tor/xz

RUN cd /tor/openssl && \
    ./config --prefix=/opt/openssl \
        no-shared no-dso zlib \
        --static && \
    make -j$(nproc) && \
    make install_sw

RUN cd /tor/libevent && \
    ./autogen.sh && \
    ./configure --prefix=/opt/libevent \
        --disable-openssl && \
    make -j$(nproc) && \
    make install

RUN cd /tor/zlib && \
    ./configure --prefix=/opt/zlib && \
    make -j$(nproc) && \
    make install

RUN cd /tor/xz && \
    ./autogen.sh && \
    ./configure --prefix=/opt/xz && \
    make -j$(nproc) && \
    make install

RUN apt install -y libevent-dev libssl-dev
RUN ./autogen.sh && \
    ./configure --prefix=/opt/tor \
        --disable-module-relay --disable-module-dirauth \
        --disable-system-torrc \
        --disable-asciidoc --disable-manpage --disable-html-manual \
        --disable-lzma --disable-zstd \
        --enable-systemd \
        --disable-gcc-hardening \
        --disable-tool-name-check \
        --enable-static-tor \
        --with-libevent-dir=/opt/libevent \
        --with-openssl-dir=/tor/openssl \
        --with-zlib-dir=/opt/zlib \
        --enable-pci && \
    make -j$(nproc) && \
    make install

RUN env
RUN exa -l --tree fixtures /opt/tor
RUN /opt/tor/bin/tor --version
Edited Aug 22, 2020 by simplejack
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking