[llvm-dev] 10.0.1-rc1 release has been tagged

Sedat Dilek via llvm-dev llvm-dev at lists.llvm.org
Thu May 21 01:22:44 PDT 2020


On Thu, May 21, 2020 at 9:24 AM Neil Nelson <nnelson at infowest.com> wrote:
>

Hi Neal,

> Sedat, For building the release according to the subject line of this email on Xubuntu Linux I use
>
> cd ~/Documents/llvm-project/llvm/utils/release
>
> ./test-release.sh \
>      -release 10.0.1 \
>      -rc 1 \
>      -test-asserts \
>      -no-compare-files \
>      -triple x86_64-pc-linux-gnu \
>      -configure-flags "-DLLVM_ENABLE_LIBPFM=OFF -DRUN_HAVE_GNU_POSIX_REGEX=0 -DRUN_HAVE_THREAD_SAFETY_ATTRIBUTES=0" \
>      &> ~/Documents/test-release.sh.log
>
> Looks like your triple is x86_64-unknown-linux-gnu that I have seen on several release notification emails. The configure-flags may or may not work for you.
>

Thanks. I opened a new tc-build issue for this.

https://github.com/ClangBuiltLinux/tc-build/issues/92

> The disk usage is just under 90 gigabytes on a dedicated GUI VM for this purpose. Built and installed the latest clang-llvm before the release run.
>
> From the release directory, cd to rc1/logs. The primary log is testing.10.0.1-rc1.log. deferred_errors.log
> may also be useful.
>
> Use grep -n 'Expected Passes' testing.10.0.1-rc1.log to see where all the pass summaries are with their line numbers.
>
> Use sed -n line-number-begin,line-number-endp testing.10.0.1-rc1.log as in sed -n 187562,187582p testing.10.0.1-rc1.log to see the full counts list.
>
> Use grep -n 'Unexpected Failures' testing.10.0.1-rc1.log to see sections that need a closer look. Those sections will have 'fail' in them to check out and possibly report.
>
> Go up a directory to rc1.
>
> sha256sum clang+llvm-10.0.0-rc6-x86_64-pc-linux-gnu.tar.xz
>
> Copy the sha256sum hex value in the notification email to the list.
>
> Upload the xz file using
>
> scp -i ~/.ssh/id_rsa_llvm.pub clang+llvm-10.0.0-rc6-x86_64-pc-linux-gnu.tar.xz testers at releases-origin.llvm.org:/home/testers
>
> after providing your public key to llvm. Need to find out who to email the public key to.
>

Thanks for explaining the usage of test-release.sh script.

I am primarily interested in understanding the handling of
version-strings and will write a separate email for this.

- Sedat -

> Neil Nelson
>
> On 5/20/20 10:35 PM, Sedat Dilek via llvm-dev wrote:
>
> On Wed, May 20, 2020 at 11:12 PM Tom Stellard <tstellar at redhat.com> wrote:
>
> On 05/20/2020 09:53 AM, Sedat Dilek wrote:
>
> On Wed, May 20, 2020 at 5:06 PM Tom Stellard <tstellar at redhat.com> wrote:
>
> On 05/19/2020 09:05 PM, Sedat Dilek wrote:
>
> Hi Tom,
>
> thanks and congrats for LLVM 10.0.1-rc1 release.
>
> [1] shows 2 assets.
> 10.0.0 RCs had a lot of more assets.
> I am missing the llvm-project-10.0.1rc1.tar.xz tarball.
>
> Will you provide them later or is there a new development/workflow
> decision I do not know of?
>
> I've uploaded all the tarballs now.
>
> I have build from the below tarball.
>
> But the version-strings look odd.
>
> You shouldn't have to make any changes to the source, did you
> try running the test-release.sh script?
>
> I tried...
>
> $ ./llvm/utils/release/test-release.sh -release 10.0.1 -rc 1 -triple
> x86_64-linux-gnu
> # Using git ref: llvmorg-10.0.1-rc1
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100   137  100   137    0     0    345      0 --:--:-- --:--:-- --:--:--   345
> 100 25.7M    0 25.7M    0     0  2263k      0 --:--:--  0:00:11 --:--:-- 2530k^C
>
> I have already built from this git-ref "llvmorg-10.0.1-rc1" successfully.
>
> $ which clang-10
> /home/dileks/src/llvm-toolchain/install/bin/clang-10
>
> $ clang-10 --version
> ClangBuiltLinux clang version 10.0.1
> (https://github.com/llvm/llvm-project
> f79cd71e145c6fd005ba4dd1238128dfa0dc2cb6)
> Target: x86_64-unknown-linux-gnu
> Thread model: posix
> InstalledDir: /home/dileks/src/llvm-toolchain/install/bin
>
> BTW, I use tc-build script from ClangBuiltLinux to build my
> llvm-toolchain consisting of projects "clang" and "lld".
>
> LINK: https://github.com/ClangBuiltLinux/tc-build
>
> With my modifications:
>
> dileks at iniza:~/src/llvm-toolchain$ ln -sf install.dileks install
>
> $ which clang-10
> /home/dileks/src/llvm-toolchain/install/bin/clang-10
>
> $ clang-10 --version
> ClangBuiltLinux clang version 10.0.1rc1
> Target: x86_64-unknown-linux-gnu
> Thread model: posix
> InstalledDir: /home/dileks/src/llvm-toolchain/install/bin
>
> $ which ld.lld
> /home/dileks/src/llvm-toolchain/install/bin/ld.lld
>
> $ ld.lld --version
> LLD 10.0.1rc1 (compatible with GNU linkers)
>
> My goal is to use the official tarballs and the generated binaries
> should show me as a version-string "10.0.1rc1" (see above).
> In the past this was the case - but what is with today :-)?
>
> IMHO this is only possible with changing LLVM_VERSION_SUFFIX.
> But I may be wrong or missing something.
>
> - Sedat -
>
> -Tom
>
> First I added...
>
> --- llvm-project-10.0.1rc1/llvm/CMakeLists.txt  2020-05-19
> 21:16:37.000000000 +0200
> +++ llvm-project/llvm/CMakeLists.txt    2020-05-20 18:02:42.443960091 +0200
> @@ -25,7 +25,7 @@ if(NOT DEFINED LLVM_VERSION_PATCH)
>    set(LLVM_VERSION_PATCH 1)
>  endif()
>  if(NOT DEFINED LLVM_VERSION_SUFFIX)
> -  set(LLVM_VERSION_SUFFIX "")
> +  set(LLVM_VERSION_SUFFIX "rc1")
>  endif()
>
> That lead to strange so-lib-names like *.so.10rc1 which is not wanted.
>
> I hacked around LLVM_VERSION_SUFFIX stuff.
>
> Here is the diff:
>
> diff -uprN llvm-project-10.0.1rc1/clang/CMakeLists.txt
> llvm-project/clang/CMakeLists.txt
> --- llvm-project-10.0.1rc1/clang/CMakeLists.txt 2020-05-19
> 21:16:37.000000000 +0200
> +++ llvm-project/clang/CMakeLists.txt   2020-05-20 18:36:57.621341162 +0200
> @@ -358,8 +358,11 @@ endif()
>  if(NOT DEFINED CLANG_VERSION_PATCHLEVEL)
>    set(CLANG_VERSION_PATCHLEVEL ${LLVM_VERSION_PATCH})
>  endif()
> -# Unlike PACKAGE_VERSION, CLANG_VERSION does not include LLVM_VERSION_SUFFIX.
> -set(CLANG_VERSION
> "${CLANG_VERSION_MAJOR}.${CLANG_VERSION_MINOR}.${CLANG_VERSION_PATCHLEVEL}")
> +if(NOT DEFINED CLANG_VERSION_SUFFIX)
> +  set(CLANG_VERSION_SUFFIX ${LLVM_VERSION_SUFFIX})
> +endif()
> +# Explicitly include CLANG_VERSION_SUFFIX in CLANG_VERSION.
> +set(CLANG_VERSION
> "${CLANG_VERSION_MAJOR}.${CLANG_VERSION_MINOR}.${CLANG_VERSION_PATCHLEVEL}${CLANG_VERSION_SUFFIX}")
>  message(STATUS "Clang version: ${CLANG_VERSION}")
>
>  # Configure the Version.inc file.
> @@ -687,6 +690,7 @@ if (CLANG_ENABLE_BOOTSTRAP)
>      CLANG_VERSION_MINOR
>      CLANG_VERSION_PATCHLEVEL
>      LLVM_VERSION_SUFFIX
> +    CLANG_VERSION_SUFFIX
>      LLVM_BINUTILS_INCDIR
>      CLANG_REPOSITORY_STRING
>      CMAKE_C_COMPILER_LAUNCHER
> Binärdateien llvm-project-10.0.1rc1/clang/test/Analysis/analyzer_test.pyc
> und llvm-project/clang/test/Analysis/analyzer_test.pyc sind
> verschieden.
> diff -uprN llvm-project-10.0.1rc1/lld/CMakeLists.txt
> llvm-project/lld/CMakeLists.txt
> --- llvm-project-10.0.1rc1/lld/CMakeLists.txt   2020-05-19
> 21:16:37.000000000 +0200
> +++ llvm-project/lld/CMakeLists.txt     2020-05-20 18:40:07.817924825 +0200
> @@ -120,16 +120,23 @@ set(LLD_SOURCE_DIR ${CMAKE_CURRENT_SOURC
>  set(LLD_INCLUDE_DIR ${LLD_SOURCE_DIR}/include )
>  set(LLD_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
>
> -# Compute the LLD version from the LLVM version.
> -string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" LLD_VERSION
> -  ${PACKAGE_VERSION})
> +# If LLD_VERSION_* is specified, use it, if not use LLVM_VERSION_*.
> +if(NOT DEFINED LLD_VERSION_MAJOR)
> +  set(LLD_VERSION_MAJOR ${LLVM_VERSION_MAJOR})
> +endif()
> +if(NOT DEFINED LLD_VERSION_MINOR)
> +  set(LLD_VERSION_MINOR ${LLVM_VERSION_MINOR})
> +endif()
> +if(NOT DEFINED LLD_VERSION_PATCHLEVEL)
> +  set(LLD_VERSION_PATCHLEVEL ${LLVM_VERSION_PATCH})
> +endif()
> +if(NOT DEFINED LLD_VERSION_SUFFIX)
> +  set(LLD_VERSION_SUFFIX ${LLVM_VERSION_SUFFIX})
> +endif()
> +# Explicitly include LLD_VERSION_SUFFIX in LLD_VERSION.
> +set(LLD_VERSION
> "${LLD_VERSION_MAJOR}.${LLD_VERSION_MINOR}.${LLD_VERSION_PATCHLEVEL}${LLD_VERSION_SUFFIX}")
>  message(STATUS "LLD version: ${LLD_VERSION}")
>
> -string(REGEX REPLACE "([0-9]+)\\.[0-9]+(\\.[0-9]+)?" "\\1" LLD_VERSION_MAJOR
> -  ${LLD_VERSION})
> -string(REGEX REPLACE "[0-9]+\\.([0-9]+)(\\.[0-9]+)?" "\\1" LLD_VERSION_MINOR
> -  ${LLD_VERSION})
> -
>  # Determine LLD revision and repository.
>  # TODO: Figure out a way to get the revision and the repository on windows.
>  if ( NOT CMAKE_SYSTEM_NAME MATCHES "Windows" )
> diff -uprN llvm-project-10.0.1rc1/llvm/cmake/modules/AddLLVM.cmake
> llvm-project/llvm/cmake/modules/AddLLVM.cmake
> --- llvm-project-10.0.1rc1/llvm/cmake/modules/AddLLVM.cmake
> 2020-05-19 21:16:37.000000000 +0200
> +++ llvm-project/llvm/cmake/modules/AddLLVM.cmake       2020-05-20
> 18:29:09.272548995 +0200
> @@ -544,8 +544,8 @@ function(llvm_add_library name)
>        set_target_properties(${name}
>          PROPERTIES
>          # Since 4.0.0, the ABI version is indicated by the major version
> -        SOVERSION ${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}
> -        VERSION ${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX})
> +        SOVERSION ${LLVM_VERSION_MAJOR}
> +        VERSION ${LLVM_VERSION_MAJOR})
>      endif()
>    endif()
>
> @@ -567,7 +567,7 @@ function(llvm_add_library name)
>        if(${output_name} STREQUAL "output_name-NOTFOUND")
>          set(output_name ${name})
>        endif()
> -      set(library_name
> ${output_name}-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX})
> +      set(library_name ${output_name}-${LLVM_VERSION_MAJOR})
>        set(api_name
> ${output_name}-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX})
>        set_target_properties(${name} PROPERTIES OUTPUT_NAME ${library_name})
>        llvm_install_library_symlink(${api_name} ${library_name} SHARED
> diff -uprN llvm-project-10.0.1rc1/llvm/CMakeLists.txt
> llvm-project/llvm/CMakeLists.txt
> --- llvm-project-10.0.1rc1/llvm/CMakeLists.txt  2020-05-19
> 21:16:37.000000000 +0200
> +++ llvm-project/llvm/CMakeLists.txt    2020-05-20 18:02:42.443960091 +0200
> @@ -25,7 +25,7 @@ if(NOT DEFINED LLVM_VERSION_PATCH)
>    set(LLVM_VERSION_PATCH 1)
>  endif()
>  if(NOT DEFINED LLVM_VERSION_SUFFIX)
> -  set(LLVM_VERSION_SUFFIX "")
> +  set(LLVM_VERSION_SUFFIX "rc1")
>  endif()
>
>  if (NOT PACKAGE_VERSION)
> diff -uprN llvm-project-10.0.1rc1/llvm/tools/llvm-config/CMakeLists.txt
> llvm-project/llvm/tools/llvm-config/CMakeLists.txt
> --- llvm-project-10.0.1rc1/llvm/tools/llvm-config/CMakeLists.txt
>  2020-05-19 21:16:37.000000000 +0200
> +++ llvm-project/llvm/tools/llvm-config/CMakeLists.txt  2020-05-20
> 18:28:03.793999462 +0200
> @@ -49,7 +49,7 @@ set(LLVM_CFLAGS "${LLVM_C_STD_FLAG} ${LL
>  set(LLVM_CXXFLAGS
> "${CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION}
> ${LLVM_CXX_STDLIB_FLAG} ${COMPILE_FLAGS} ${LLVM_DEFINITIONS}")
>  set(LLVM_BUILD_SYSTEM cmake)
>  set(LLVM_HAS_RTTI ${LLVM_CONFIG_HAS_RTTI})
> -set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}")
> +set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}")
>  set(LLVM_HAS_GLOBAL_ISEL "ON")
>
>  # Use the C++ link flags, since they should be a superset of C link flags.
> - End Of DIFF -
>
> With this I now get:
>
> $ ./bin/clang-10 -v
> ClangBuiltLinux clang version 10.0.1rc1
> Target: x86_64-unknown-linux-gnu
> Thread model: posix
> InstalledDir: /home/dileks/src/llvm-toolchain/build/stage1/./bin
> Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
> Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
> Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9
> Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
> Candidate multilib: .;@m64
> Candidate multilib: 32;@m32
> Candidate multilib: x32;@mx32
> Selected multilib: .;@m64
>
> $ ./bin/ld.lld -v
> LLD 10.0.1rc1 (compatible with GNU linkers)
>
> $ find ./ -name '*.so*' | sort
> ./lib/BugpointPasses.so
> ./lib/libclang-cpp.so
> ./lib/libclang-cpp.so.10
> ./lib/libclang.so
> ./lib/libclang.so.10
> ./lib/libLTO.so
> ./lib/libLTO.so.10
> ./lib/libRemarks.so
> ./lib/libRemarks.so.10
> ./lib/LLVMgold.so
> ./lib/LLVMHello.so
>
> Looks that sane to you?
>
> Regards,
> - Sedat -
>
> [1] https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1-rc1/llvm-project-10.0.1rc1.tar.xz
>
>
> -Tom
>
> BTW, the source zip and tar.gz tarballs show no sizes.
> I am using Mobile LTE/UMTS to download stuff from the Internet.
>
> For now I used the "llvmorg-10.0.1-rc1" Git tag to build my
> llvm-toolchain on Debian/testin8g AMD64.
>
> Thanks.
>
> Regards,
> - Sedat -
>
> [1] https://github.com/llvm/llvm-project/releases/tag/llvmorg-10.0.1-rc1
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list