Overview

Request 769057 accepted

Drop llvm6-devel requirement for ARM



Dominique Leuenberger's avatar

@ptrommler

Then you have bigger issues: ghc.spec has:

%ifarch aarch64 %{arm} %{ix86} x86_64
%if 0%{?suse_version} >= 1550
BuildRequires:  llvm7-devel
%else
BuildRequires:  llvm-devel
%endif
%endif

so you BuildRequire llvm7-devel - and ghc-bootstrap requires llvm6-devel: the two conflict (which is why ghc is unresolvable in :ARM at the moment)


Peter Trommler's avatar

True. We have a big issue here. We need llvm6 to run ghc 8.6.5 which is our bootstrap compiler and llvm7 to run stage1 of ghc 8.8.x to build stage 2.

I could update the ghc-bootstrap to ghc 8.8.2 then the versions would match but that will only offload the issue onto our users. When LLVM is updated to the next major version GHC is likely to break.

A clean solution would be to have an llvm package for version 6 and one for version 7 that can live in parallel. All GHC needs is opt and llc and if they were available as opt-<major> and llc-<major> GHC would even work after an upgrade of LLVM.

This requires a change in the packaging of LLVM. Should we raise a ticket for that?


Dominique Leuenberger's avatar

Not sure if having multiple llvm-devel packages in parallel is going to be a lot of fun.

The libraries for example don't contain a version, i.e.

/usr/bin/llvm-config
/usr/lib64/libLLVM.so

then there is /usr/include/llvm, and /usr/lib64/cmake/llvm that conflict in the -devel packages

You can try with a ticket - not sure if there is already some though to have this parallel installable or if the maintainer would not want this extra complexity


Peter Trommler's avatar

I think, requiring llvm<major> would be sufficient. I don't remember why I required llvm,major>-devel. The all that would be required are versioned links as described above. I hope, I can convince the maintainers to add that :-)

I will file a ticket and continue discussion there.


Dominique Leuenberger's avatar

llvm is already parallel installable:

> rpm -qa llvm*
llvm9-polly-9.0.1-4.1.x86_64
llvm9-vim-plugins-9.0.1-4.1.noarch
llvm9-gold-9.0.1-4.1.x86_64
llvm9-LTO-devel-9.0.1-4.1.x86_64
llvm9-devel-9.0.1-4.1.x86_64
llvm-gold-9.0.1-1.1.x86_64
llvm9-doc-9.0.1-4.1.noarch
llvm9-polly-devel-9.0.1-4.1.x86_64
llvm9-9.0.1-4.1.x86_64
llvm7-7.0.1-13.5.x86_64
llvm-devel-9.0.1-1.1.x86_64
> llvm-config --version
9.0.1

> ls -la /usr/bin/clang
lrwxrwxrwx 1 root root 23 Jan 23 20:00 /usr/bin/clang -> /etc/alternatives/clang

> clang --version
clang version 9.0.1 





Dominique Leuenberger's avatar

and for opt:

> ls -la /usr/bin//opt*
lrwxrwxrwx 1 root root      21 Jan 23 20:00 /usr/bin//opt -> /etc/alternatives/opt
-rwxr-xr-x 1 root root 3746704 Jan 23 20:00 /usr/bin//opt-7.0.1
-rwxr-xr-x 1 root root 4664656 Jan 24 16:16 /usr/bin//opt-9.0.1

> opt --version
LLVM (http://llvm.org/):
  LLVM version 9.0.1
  Optimized build.
  Default target: x86_64-unknown-linux-gnu
  Host CPU: haswell

Request History
Guillaume GARDET's avatar

Guillaume_G created request

Drop llvm6-devel requirement for ARM


Factory Auto's avatar

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

Please review sources


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 added as a reviewer

Being evaluated by staging project "openSUSE:Factory:Staging:adi:60"


Staging Bot's avatar

staging-bot accepted review

Picked "openSUSE:Factory:Staging:adi:60"


Dominique Leuenberger's avatar

dimstar accepted review


Peter Trommler's avatar

ptrommler declined review

This would break ghc-bootstrap-helpers in Factory ARM. Package ghc-bootstrap needs opt and llc at version 6.* to work and that is the reason ghc-bootstrap requires llvm6-devel.


Peter Trommler's avatar

ptrommler declined request

This would break ghc-bootstrap-helpers in Factory ARM. Package ghc-bootstrap needs opt and llc at version 6.* to work and that is the reason ghc-bootstrap requires llvm6-devel.


Dominique Leuenberger's avatar

dimstar_suse reopened request

Reopened via staging workflow.


Dominique Leuenberger's avatar

dimstar_suse added factory-staging as a reviewer

Being evaluated by group "factory-staging"


Dominique Leuenberger's avatar

dimstar_suse accepted review

Unstaged from project "openSUSE:Factory:Staging:adi:60"


Dominique Leuenberger's avatar

dimstar_suse declined request

Declined via staging workflow.


Guillaume GARDET's avatar

Guillaume_G reopened request

I tried to build ghc without llvm6-devel for aarch64 and it does build just fine.


Staging Bot's avatar

staging-bot added openSUSE:Factory:Staging:adi:37 as a reviewer

Being evaluated by staging project "openSUSE:Factory:Staging:adi:37"


Staging Bot's avatar

staging-bot accepted review

Picked "openSUSE:Factory:Staging:adi:37"


Peter Simons's avatar

psimons accepted review

OK


Dominique Leuenberger's avatar

dimstar_suse accepted review

Staging Project openSUSE:Factory:Staging:adi:37 got accepted.


Dominique Leuenberger's avatar

dimstar_suse approved review

Staging Project openSUSE:Factory:Staging:adi:37 got accepted.


Dominique Leuenberger's avatar

dimstar_suse accepted request

Staging Project openSUSE:Factory:Staging:adi:37 got accepted.

openSUSE Build Service is sponsored by