Skip to content

Cannot build the latest version #1

Description

@hufhend

Hi, I tried to deploy your chart and it works, but there is an old version of obfs4proxy-0.0.11. So I tried to slightly modify your Dockerfile and build the latest version and it doesn't work.

I used the following Dockerfile:

FROM alpine:latest
LABEL maintainer="info@jfwenisch.com"
ARG TORVERSION
RUN if [[ -z "$TORVERSION" ]] ; then echo Build argument "TORVERSION" not provided. To build a specific version run with --build-arg TORVERSION=0.4.4.6 ; else echo Build argument torversion is $TORVERSION ; fi
#Init


RUN apk update
# Add required build utitlities
RUN apk --no-cache add --update \
        gnupg \
        build-base \
        gcc \
        wget \
        git \
        libevent \
        libevent-dev \
        libressl \
        libressl-dev \
        xz-libs \
        xz-dev \
        zlib \
        zlib-dev \
        zstd \
        zstd-libs \
        zstd-dev \
        automake \
        autoconf
RUN apk add --no-cache lyrebird --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing
#Add obfs4proxy for usage as bridge
RUN apk add --no-cache obfs4proxy --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing
# Create a group and user
#RUN addgroup -S torusergrp && adduser -S toruser -G torusergrp


#Build
RUN git clone https://git.torproject.org/tor.git
#Get the latest tag from remote not containing 'alpha' or 'dev' or 'rc' and switch to it (git checkout $release). 

RUN if [[ -z "$TORVERSION" ]] ; then export TORVERSION=$(git ls-remote --tags --sort="v:refname" https://git.torproject.org/tor.git | grep -v 'rc'| grep -v 'alpha'| grep -v 'dev'| tail -n1| sed  's/.*\///; s/\^{}//') &&  cd tor && git checkout $TORVERSION; else echo Build argument torversion is $TORVERSION &&  cd tor && git checkout $TORVERSION; fi

RUN cd tor && ./autogen.sh
RUN cd tor && ./configure --disable-asciidoc
RUN cd tor && make
RUN cd tor && make install
RUN rm -rf /var/cache/apk/*
RUN rm -rf /tor


COPY torrc /etc/tor/torrc

COPY entrypoint.sh /entrypoint.sh
#Permission for tor-user
#RUN chown -R toruser /etc/tor/torrc
RUN chmod +x /entrypoint.sh
#RUN mkdir /tor
#RUN chown -R toruser /tor


# Tell docker that all future commands should run as the appuser user
#USER toruser

ENTRYPOINT [ "/bin/sh" , "entrypoint.sh" ]

In addition, there is actually only the lyrebird and I end up with an error:


89.44 /usr/lib/gcc/x86_64-alpine-linux-musl/13.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: libtor.a(libtor_crypt_ops_a-crypto_openssl_mgt.o):/tor/src/lib/crypt_ops/crypto_openssl_mgt.c:366: more undefined references to `ENGINE_get_cipher_engine' follow
89.50 collect2: error: ld returned 1 exit status
89.50 make[1]: *** [Makefile:11060: src/app/tor] Error 1
89.50 make[1]: Leaving directory '/tor'
89.50 make: *** [Makefile:7648: all] Error 2
------
Dockerfile:44
--------------------
  42 |     RUN cd tor && ./autogen.sh
  43 |     RUN cd tor && ./configure --disable-asciidoc
  44 | >>> RUN cd tor && make

Any idea where the problem might be?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions