elfmz / far2l

Linux port of FAR v2
GNU General Public License v2.0
1.75k stars 171 forks source link

linking fails #2306

Closed unxed closed 3 weeks ago

unxed commented 1 month ago
l but the CMakeFiles/NetRocks-FTP.dir/src/Protocol/FTP/FTPConnection.cpp.o: In function `OpenSSLContext::sNewClientSessionCB(ssl_st*, ssl_session_st*)':
FTPConnection.cpp:(.text._ZN14OpenSSLContext19sNewClientSessionCBEP6ssl_stP14ssl_session_st+0x34): undefined reference to `SSL_SESSION_up_ref'
CMakeFiles/NetRocks-FTP.dir/src/Protocol/FTP/FTPConnection.cpp.o: In function `OpenSSLContext::OpenSSLContext(StringConfig const&)':
FTPConnection.cpp:(.text._ZN14OpenSSLContextC2ERK12StringConfig+0x40): undefined reference to `TLS_client_method'

https://github.com/elfmz/far2l/issues/1985#issuecomment-2253224909

unxed commented 1 month ago

I tried to build it on Mint 20.3 and CentOS8 stream.

ctapmex commented 1 month ago

no problem mint

FROM linuxmintd/mint20.3-amd64

SHELL ["/bin/bash", "-xeuo", "pipefail", "-c"]

# disable auto-cleaning of the apt cache, so that docker caching works
#RUN rm -f /etc/apt/apt.conf.d/docker-clean

# use docker cache for apt packages
RUN --mount=type=cache,target=/var/cache/apt \
<<EOT
    apt-get update && apt-get upgrade -y
    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends cmake gcc g++ make \
     libuchardet-dev libxerces-c-dev libwxgtk3.0-gtk3-dev libx11-dev libxi-dev libssl-dev libsmbclient-dev libnfs-dev libneon27-dev libssh-dev  \
     libarchive-dev libpcre3-dev            
    rm -rf /var/lib/apt/lists/*
EOT

WORKDIR /code
RUN <<EOT
    git config --global http.sslVerify false 
    git clone --depth 1 https://github.com/elfmz/far2l.git
    mkdir build
    cmake -DUSEWX=YES -DCMAKE_BUILD_TYPE=Release  -B /code/build -S /code/far2l
    cmake --build /code/build --config Release -j$(getconf _NPROCESSORS_ONLN)
EOT

centos8 stream

FROM tgagor/centos-stream:stream8

SHELL ["/bin/bash", "-xeuo", "pipefail", "-c"]

# use docker cache for apt packages
RUN --mount=type=cache,target=/root/.cache/dnf \
<<EOT
    find /etc/yum.repos.d -type f -name "*.repo" -exec sed -i  's/^mirrorlist/#&/' {} \;
    find /etc/yum.repos.d -type f -name "*.repo" -exec sed -i  '/^#baseurl/s/.//' {} \;
    find /etc/yum.repos.d -type f -name "*.repo" -exec sed -i  's/mirror.centos.org/vault.centos.org/' {} \;
    dnf install -y --nodocs --setopt=cachedir=/root/.cache/dnf epel-release epel-next-release
    dnf install -y --nodocs --setopt=cachedir=/root/.cache/dnf git cmake gcc-c++ gcc uchardet-devel.x86_64 xerces-c-devel.x86_64 libX11-devel libXi-devel openssl-devel libsmbclient.x86_64 libnfs-devel.x86_64 neon.x86_64 libssh-devel libarchive-devel pcre-devel pcre2-devel
EOT

WORKDIR /code
RUN <<EOT
    git config --global http.sslVerify false 
    git clone --depth 1 https://github.com/elfmz/far2l.git
    mkdir build
    cmake -DUSEWX=NO -DCMAKE_BUILD_TYPE=Release  -B /code/build -S /code/far2l
    cmake --build /code/build --config Release -j$(getconf _NPROCESSORS_ONLN)
EOT