This is an automated email from the ASF dual-hosted git repository. kocolosk pushed a commit to branch update-debian-pr-images in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git
commit 467f4ff1be04482663cca65d572c0c0f1256b787 Author: Adam Kocoloski <[email protected]> AuthorDate: Thu Jan 13 20:52:51 2022 -0500 Simplify Debian 11 support When we first introduced support for Bullseye we added some logic to handle Erlang 19 and below. We no longer support those obsolete versions, and the logic we added is now actively harmful (e.g. the use of gcc 9 instead of gcc 10 caused us to build Erlang 24 without the much-anticipated JIT compiler). This patch reverts back to defaults for Bullseye. It has the side effect of causing Erlang 20 builds to fail to link properly, possibly because of the switch to `-fno-common` by default in gcc 10. Given that Erlang 20 is already unsupported by the Erlang team, I didn't bother to try to fix it here. --- bin/source-erlang.sh | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/bin/source-erlang.sh b/bin/source-erlang.sh index 2c24386..0914cf6 100755 --- a/bin/source-erlang.sh +++ b/bin/source-erlang.sh @@ -40,33 +40,17 @@ SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" redhats='(rhel|centos|fedora)' debians='(debian|ubuntu)' -latest='(stretch|buster|bionic)' echo "Erlang source build started @ $(date)" -export CC=gcc -export CXX=gcc - # Install per-distro dependencies according to: # http://docs.basho.com/riak/1.3.0/tutorials/installation/Installing-Erlang/ # NB: Dropping suggested superfluous packages; fop and unixodbc-dev if [[ ${ID} =~ ${redhats} ]]; then yum install -y git gcc glibc-devel make ncurses-devel openssl-devel autoconf procps elif [[ ${ID} =~ ${debians} ]]; then - if [[ ${ERLANGVERSION%%.*} -le 19 ]] && [[ ${VERSION_CODENAME} =~ ${latest} ]] && [ ${ERLANGVERSION} != "all" ]; then - echo "Recent versions of Linux (Stretch, Bionic, etc) provide a version of libssl" - echo "which is too new to complile earlier (<=19) versions of Erlang. Please" - echo "either choose an earlier distro release or a more rencent version of Erlang." - exit 1 - fi - apt-get update apt-get install -y git build-essential autoconf libncurses5-dev openssl libssl-dev xsltproc procps - if [ ${VERSION_CODENAME} == "bullseye" ]; then - apt install -y gcc-9 - export CC=gcc-9 - export CXX=g++-9 - fi else echo "Sorry, we don't support this Linux (${ID}) yet." exit 1 @@ -105,9 +89,10 @@ else cd otp git checkout OTP-${ERLANGVERSION} -b local-OTP-${ERLANGVERSION} - # Configure Erlang - skip building things we don't want or need + # This command is a no-op as of Erlang 22 ./otp_build autoconf + # Configure Erlang - skip building things we don't want or need ./otp_build configure --without-javac --without-wx --without-odbc \ --without-debugger --without-observer --without-et --without-cosEvent \ --without-cosEventDomain --without-cosFileTransfer \ @@ -126,7 +111,4 @@ elif [[ ${ID} =~ ${debians} ]]; then apt-get clean fi -unset CC -unset CXX - echo "Erlang source build finished @ $(date)"
