Overview

Request 528590 superseded

- Use LLVM_BUILD_LLVM_DYLIB instead of BUILD_SHARED_LIBS to build
single libLLVM library. This is the recommended way. The old way
was causing various issues.
(bnc#1049703)
- Use LLVM_BUILD_LLVM_DYLIB instead of BUILD_SHARED_LIBS to build
single libLLVM library. This is the recommended way. The old way
was causing various issues.
(bnc#1049703)
- Add lld, linker for Clang/LLVM
(sr#517692)
- Include clang++-MAJOR.MINOR symbolic link
(bnc#1012260)
- Remove unnecessary dependency on flex and bison.
- Make sure all binaries are managed by update-alternatives
- Add llvm-add_a_LLVM_USE_LINKER.patch and link using gold to
prevent memory exhaustion on some build machines.
- Disable debuginfo on x86 architecture. LLVM libraries are so big that they
exhaust all memory on 32 bit machine if linked with debuginfo.
- Speed up build by skipping parts that are not required in stage1.

Loading...

Dominique Leuenberger's avatar
+%package -n lld%{_sonum}
+Summary:        Linker for Clang/LLVM
+Group:          Development/Tools/Building
+Requires(post): update-alternatives
+Requires(postun): update-alternatives
+
+%description -n lld%{_sonum}
+LLD is a linker from the LLVM project. That is a drop-in replacement for system linkers and runs much faster than them. It also provides features that are useful for toolchain developers.
+
+%package -n lld%{_sonum}-devel
+Summary:        Development files for LLD
+Group:          Development/Languages/Other
+Requires:       cmake
+Requires:       liblld%{_sonum} = %{version}

The requires of the devel package does not match the name of the generated package (lld4 vs liblld4)

Additionally: no static libs - if necessary, at least follow the packaging guidelines for static libraries and split them in -devel-static packages (in case of sec issues, we need to find what pulled them)


Dominique Leuenberger's avatar

lldb4 is still in the list of packages failing (and it is a linked package to this one)


Dominique Leuenberger's avatar

CCing @msmeissn - llvm4 is fixed with this, but lldb4 (2nd spec file in the package) still fails (stack-clash-protector)


Michal Srb's avatar

The problem is that clang still shows a warning "optimization flag '-fstack-clash-protection' is not supported". Together with "-Werror" it turns into error.

It may be better to use 'clang_ignored_f_Group' instead of 'clang_ignored_gcc_optimization_f_Group'. The switch is not an optimization after all.


Marcus Meissner's avatar

I will try using this group


Michal Srb's avatar

I am building it with that group now in home:michalsrb:branches:build-fix:devel:tools:compiler. I will submit it if it works. (But llvm build takes very long in build service, so it may take a while.)


Dominique Leuenberger's avatar

lldb fails in staging (and also in the devel prj as far as I see)

llvm is unresolvable on x86_64(?)


Dominique Leuenberger's avatar

lldb4 fails to build in staging and devel prh


Michal Srb's avatar

llvm4 on SLE_12_SP2/x86_64 and on openSUSE_Leap_42.2/x86_64 fails because of unclear "Job seems to be stuck here, killed." error. As far as I can tell, this is bug on build service side. It was happening before this update as well.

llvm4 on SLE_12_SP3 is unresolvable because "ninja" package is missing. This is some nonsense, the package is supposed to be there just like on SLE_12_SP2.

lldb4 on SLE_12_SP2/x86_64 and openSUSE_Leap_42.2/x86_64 fails because llvm4 failed.

lldb4 on openSUSE_Leap_42.3/x86_64 looks like something is wrong in the package - I will look into that.


Dominique Leuenberger's avatar

I literally do 'not care' for the Leap/SLE fails (no offense); but lldb4 failing for TW is fatal:

https://build.opensuse.org/package/live_build_log/devel:tools:compiler/lldb4/openSUSE_Factory/x86_64

The exact same failure was observed in Staging

(if it were 'just' stuck workers, I'd have retriggered them)

Request History
Michal Srb's avatar

michalsrb created request

- Use LLVM_BUILD_LLVM_DYLIB instead of BUILD_SHARED_LIBS to build
single libLLVM library. This is the recommended way. The old way
was causing various issues.
(bnc#1049703)
- Use LLVM_BUILD_LLVM_DYLIB instead of BUILD_SHARED_LIBS to build
single libLLVM library. This is the recommended way. The old way
was causing various issues.
(bnc#1049703)
- Add lld, linker for Clang/LLVM
(sr#517692)
- Include clang++-MAJOR.MINOR symbolic link
(bnc#1012260)
- Remove unnecessary dependency on flex and bison.
- Make sure all binaries are managed by update-alternatives
- Add llvm-add_a_LLVM_USE_LINKER.patch and link using gold to
prevent memory exhaustion on some build machines.
- Disable debuginfo on x86 architecture. LLVM libraries are so big that they
exhaust all memory on 32 bit machine if linked with debuginfo.
- Speed up build by skipping parts that are not required in stage1.


Factory Auto's avatar

factory-auto added opensuse-review-team as a reviewer

Please review sources


Factory Auto's avatar

factory-auto added repo-checker as a reviewer

Please review build success


Factory Auto's avatar

factory-auto accepted review

Check script succeeded


Saul Goodman's avatar

licensedigger accepted review

ok


Staging Bot's avatar

staging-bot set openSUSE:Factory:Staging:C as a staging project

Being evaluated by staging project "openSUSE:Factory:Staging:C"


Staging Bot's avatar

staging-bot accepted review

Picked openSUSE:Factory:Staging:C


Dominique Leuenberger's avatar

dimstar accepted review


Dominique Leuenberger's avatar

dimstar_suse set openSUSE:Factory:Staging:M as a staging project

Being evaluated by staging project "openSUSE:Factory:Staging:M"


Dominique Leuenberger's avatar

dimstar_suse accepted review

Moved to openSUSE:Factory:Staging:M


Dominique Leuenberger's avatar

dimstar declined review

declining based on the comments (resulting packages are not installable)


Dominique Leuenberger's avatar

dimstar declined request

declining based on the comments (resulting packages are not installable)


openSUSE Build Service is sponsored by