Bug 1217710 - icecream fails to compile remotely, falls back to local compilation
Summary: icecream fails to compile remotely, falls back to local compilation
Status: NEW
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Development (show other bugs)
Version: Current
Hardware: x86-64 openSUSE Tumbleweed
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Lubos Lunak
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-30 17:09 UTC by Dimitrios Apostolou
Modified: 2023-12-06 17:57 UTC (History)
1 user (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitrios Apostolou 2023-11-30 17:09:52 UTC
Icecream fails to find libraries, when executing cc1plus on the remote host. On the remote host we see:

    cc1plus: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

This causes all compilations to fail and re-run locally.

The reason is that the binary is linked to hardware-dependent shared libraries under `/lib64/glibc-hwcaps` directory, and icecream-create-env fails to transfer the generic versions of the libraries too.

    $ ldd /usr/lib64/gcc/x86_64-suse-linux/13/cc1plus | grep hwcap
        libz.so.1 => /lib64/glibc-hwcaps/x86-64-v3/libz.so.1.3 (0x00007f8f2020e000)
        libzstd.so.1 => /lib64/glibc-hwcaps/x86-64-v3/libzstd.so.1.5.5 (0x00007f8f20161000)


The fix is already upstream, but icecream hasn't had a release in almost 2 years. Could you please cherry-pick the fix and make icecream usable again?

https://github.com/icecc/icecream/pull/602
Comment 1 Andreas Stieger 2023-11-30 18:59:37 UTC
Maintainer might be gone. Can you submit to devel:tools:building/icecream?
Comment 2 Dimitrios Apostolou 2023-11-30 21:11:49 UTC
I can't find such a product in this bugzilla. Is it on another website?
Comment 3 Andreas Stieger 2023-12-01 07:08:21 UTC
I mean, submit a fix to the package, as in 
https://en.opensuse.org/openSUSE:How_to_contribute_to_Factory
Comment 4 Dimitrios Apostolou 2023-12-01 12:22:29 UTC
Oh, I see! I haven't done it before so it will have to wait until I find a bit of time and read about OpenSUSE package maintenance.
Comment 5 Dimitrios Apostolou 2023-12-06 10:44:13 UTC
FYI my testing indicates that another patch might be necessary for icecream in OpenSUSE Tumbleweed. I'll get back to you when I have proof.
Comment 6 Dimitrios Apostolou 2023-12-06 17:57:25 UTC
I filed a patch upstream at: https://github.com/icecc/icecream/pull/627

Only this is needed for OpenSUSE-Tumbleweed, not the pull request 602 I mentioned earlier. (that one is for Clear Linux)

It would be nice to also cherry-pick the following small fix too, it's for clang sanitizer builds:
https://github.com/icecc/icecream/commit/c2aa32d17c00d66273d2a8b22fd22150856cc2a3

I've tested that such a patched version works.