[LLVM/Clang v3.8.1] Missing Git branches/tags and source-tarballs?

Hi Tom, Hi Anton,

the first I had in mind was...
"Another (LLVM/CLang) realease - a new drama!"
( See Byron Katie "The work". )

I know SVN is your 1st development platform.
Personally, I prefer Git and use the LLVM/Clang mirrors on GitHub.

Unfortunately, I am missing a "release_381" branch at all on the
GitHub repositories.

I looked through the llvm-commits [1] and I only see two emails with
the subject...

"Creating release candidate final from release_381 branch"

[test-suite] r273407 - Creating release candidate final from
release_381 branch Tom Stellard via llvm-commits
[lld] r273414 - Creating release candidate final from release_381
branch Tom Stellard via llvm-commits

So, how should I know which is the corresponding SVN-commit-id for
tagging myself in my local [llvm | clang | compiler-rt]
Git-repositories?

Which files have to be changed to get a correct version-string when
invoking "clang -v" or 'clang --version" (here: "3.8.1")?
( I had that problem with "3.8.0rc3" in my local Git repos, I got
displayed "3.8.0" as a version-string )

Do you have source-tarballs released?
If yes, can you point me to a URL?

Thanks in advance for answering my questions.

Regards,
- Sedat -

[1] http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20160620/author.html#start

Sedat,

What you're probably missing is that 3.8.1 is made in release_38
branch. So, everything is there and already mirrored.

Source tarballs will be available upon the release.

Which are just coming, now that final has been tested successfully. :slight_smile:

They'll be announced in the list and available here:

http://llvm.org/releases/download.html#3.8.1

cheers,
--renato

Thanks you both for your answers.

Can you or Tom (as release-manager) answer why there were no
commit-ids (release_381 SVN branch) sent to llvm-commits ML?

Can you answer my question on how to set the version-string correct
when generating tarballs out of the release_38 Git branch?
( I generated source-tarballs out of my local Git repositories, see below. )

- Sedat -

[ INSTRUCTIONS: GENERATE TARBALLS OUT OF GIT REPOSITORY WITH GIT-ARCHIVE ]
[ Here: Release v3.8.1 and tagged Git-commit-ids ]

$ cd ~/src/llvm-toolchain/

[ LLVM-GIT ]

$ cd llvm-git/
$ git checkout -b release_38 origin/release_38
$ git log --oneline -1
051e787f26db Merging r257663:
$ git tag 3.8.1 051e787f26db

[ CLANG-GIT ]

$ cd clang-git/
$ git log --oneline -1
2cb088be9c6a Merging r262838:

build_llvm-toolchain_clang-cmake-ninja-gold.sh (5.89 KB)

install_llvm-toolchain_clang-cmake-ninja-gold.sh (5.18 KB)

Can you answer my question on how to set the version-string correct
when generating tarballs out of the release_38 Git branch?
( I generated source-tarballs out of my local Git repositories, see below. )

[ llvm.src/CMakeLists.txt ]
...
if(NOT DEFINED LLVM_VERSION_MAJOR)
  set(LLVM_VERSION_MAJOR 3)
endif()
if(NOT DEFINED LLVM_VERSION_MINOR)
  set(LLVM_VERSION_MINOR 8)
endif()
if(NOT DEFINED LLVM_VERSION_PATCH)
  set(LLVM_VERSION_PATCH 1)
endif()
if(NOT DEFINED LLVM_VERSION_SUFFIX)
  set(LLVM_VERSION_SUFFIX "")
endif()
...

[ llvm.src/autoconf/configure.ac ]
...
AC_INIT([LLVM],[3.8.0],[http://llvm.org/bugs/])

LLVM_VERSION_MAJOR=3
LLVM_VERSION_MINOR=8
LLVM_VERSION_PATCH=0
LLVM_VERSION_SUFFIX=
...

Building with CMake sets the version-string correct whereas using
autotools as build-system does not.

- Sedat -

What you're probably missing is that 3.8.1 is made in release_38
branch. So, everything is there and already mirrored.

Source tarballs will be available upon the release.

Which are just coming, now that final has been tested successfully. :slight_smile:
They'll be announced in the list and available here:
http://llvm.org/releases/download.html#3.8.1

Thanks you both for your answers.
Can you or Tom (as release-manager) answer why there were no
commit-ids (release_381 SVN branch) sent to llvm-commits ML?

Sure, I already written this above - there is *no* such branch
(http://llvm.org/svn/llvm-project/llvm/branches/)

Hmm, I saw this on llvm-commits ML...

[test-suite] r273407 - Creating release candidate final from release_381 branch
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20160620/366816.html

- Sedat -

[1] http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20160620/366815.html
[2] http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20160620/366816.html

Please have a look at the dedicated mailing list:
http://lists.llvm.org/pipermail/llvm-branch-commits/

Please wait for the official release to happen, you will then find tarballs on
llvm.org. They will also contain correct version strings, though I haven't yet
tried building from the SVN branches directly. Maybe you need to use the SVN
tags, $ clang --version currently gives me "clang version 3.8.0
(tags/RELEASE_380/final)")

Jonas

Hi Sedat,

This was reported earlier and it's unfortunate, but we don't support
autotools build any more. The official releases are made using CMake
and most of the buildbots are using it.

Feel free to apply a patch on top of the release to change that if you
must build with autotools.

cheers,
--renato

I switched over to CMake build-system with v3.8.0.
AFAICS, autotools support is deprecated with upcoming v3.9.

- Sedat -

Please have a look at the dedicated mailing list:
http://lists.llvm.org/pipermail/llvm-branch-commits/

OK, I clicked the offline version of that ML on the main-page of
<llvm.org>, so I knew of it.
Anyway, I think most people use Git these days.

Please wait for the official release to happen, you will then find tarballs on
llvm.org. They will also contain correct version strings, though I haven't yet
tried building from the SVN branches directly. Maybe you need to use the SVN
tags, $ clang --version currently gives me "clang version 3.8.0
(tags/RELEASE_380/final)")

In the meantime I created source-tarballs out of my local Git repos
and built a llvm-toolchain v3.8.1 successfully.

I will test it with my local version of "llvmlinux-amd64" Linux-kernel.

- Sedat -

autotools support was deprecated in 3.8. It's deleted in the upcoming 3.9.

OK, thanks for the clarification.

- Sedat -

[...]

In the meantime I created source-tarballs out of my local Git repos
and built a llvm-toolchain v3.8.1 successfully.

I will test it with my local version of "llvmlinux-amd64" Linux-kernel.

Boots fine (with the known problems)...

$ cat /proc/version
Linux version 4.4.14-3-llvmlinux-amd64 (sedat.dilek@gmail.com@fambox)
(clang version 3.8.1 ) #1 SMP Mon Jun 27 20:05:34 CEST 2016

- Sedat -

P.S.: Output of 'clang -v'

$ clang -v
clang version 3.8.1
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/llvm/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.2
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64

- EOT -

There is no compiler-rt v3.8.1 source tarball available on
<http://llvm.org/releases/3.8.1/>.

- Sedat -

Debian and Ubuntu prebuilt toolchains seem not to be fully uploaded...

clang+llvm-3.8.1-x86_64-linux-gnu-debian8.tar.xz08-Jul-2016 07:58 7.4M
clang+llvm-3.8.1-x86_64-linux-gnu-ubuntu-14.04.tar.xz08-Jul-2016 07:58 1.9M
clang+llvm-3.8.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz08-Jul-2016 07:58 1.6M

...whereas F22 has...

clang+llvm-3.8.1-x86_64-fedora22.tar.xz08-Jul-2016 07:58 142M

- Sedat -

clang+llvm-3.8.1-x86_64-linux-gnu-debian8.tar.xz08-Jul-2016 07:58 7.4M

It should be 145MB. I've just checked the copy I uploaded to the sftp server and it's the right size there so I guess it hasn't been fully transferred from there to the web server.

The source tarball for clang-tools-extra-3.9.0.src.tar.xz is also
missing as well from http://llvm.org/releases/3.8.1/.
          Jack

Opps. I meant clang-tools-extra-3.8.1.src.tar.xz of course.

[ CCed all people who were involved in this thread ]

Hi Tom,

personally, I am interested to test the prebuilt-toolchains for
Ubuntu/xenial alias 16.04 LTS and Debian/Jessie v8.5.0 AMD64.
The available toolchains are incomplete and thus useless.

Just as a fact: There is still no compiler-rt source-tarball available.
I know of Linux distributions which refuse to build and upload new
packages when there are no official tarballs around.

Can you please - as the release-manager of LLVM v3.8.1 - care of
uploading missing and/or incomplete source-tarballs and/or
prebuilt-toolchains?
( "Care" in the sense of you know whom to poke. )

Thanks in advance.

Regards,
- Sedat -

[1] http://llvm.org/releases/3.8.1/compiler-rt-3.8.1.src.tar.xz