Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 717340

Summary: app-admin/clsync-0.4.2 : error.c: fatal error: execinfo.h: No such file or directory
Product: Gentoo Linux Reporter: Toralf Förster <toralf>
Component: Current packagesAssignee: Gentoo musl team <musl>
Status: RESOLVED FIXED    
Severity: normal CC: bircoph
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 713786    
Attachments: emerge-info.txt
app-admin:clsync-0.4.2:20200413-153039.log
emerge-history.txt
environment
etc.portage.tbz2
logs.tbz2
temp.tbz2

Description Toralf Förster gentoo-dev 2020-04-13 16:18:58 UTC
x86_64-gentoo-linux-musl-gcc -DHAVE_CONFIG_H -I.  -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -D_FORTIFY_SOURCE=2 -DPARANOID -DREVISION=\-release\ -DTHREADING_SUPPORT  -DINOTIFY_SUPPORT      -DBACKTRACE_SUPPORT -DCAPABILITIES_SUPPORT -DSECCOMP_SUPPORT -DGETMNTENT_SUPPORT    -DHL_LOCKS -O2 -pipe -march=native  -fstack-protector-all -Wall --param ssp-buffer-size=4 -fstack-check -c -o clsync-error.o test -f error.c || echo ./error.c
cc1: warning: -fstack-check= and -fstack-clash_protection are mutually exclusive.  Disabling -fstack-check=
error.c:26:10: fatal error: execinfo.h: No such file or directory
   26 | #include <execinfo.h>
      |          ^~~~~~~~~~~~
compilation terminated.

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 17.0_musl_hardened-20200328-201618

  -------------------------------------------------------------------

  Please see the tracker bug for details.

gcc-config -l:
 [1] x86_64-gentoo-linux-musl-9.3.0 *
clang version 10.0.0 
Target: x86_64-gentoo-linux-musl
Thread model: posix
InstalledDir: /usr/lib/llvm/10/bin
/usr/lib/llvm/10
10.0.0
Available Python interpreters, in order of preference:
  [1]   python3.8
  [2]   python3.7
  [3]   python3.6
  [4]   python2.7 (fallback)
Available Ruby profiles:
  [1]   ruby24 (with Rubygems)
  [2]   ruby25 (with Rubygems) *
Available Rust versions:
  [1]   rust-bin-1.42.0
  [2]   rust-1.42.0 *
Available Java Virtual Machines:
  (none found)


timestamp of HEAD at this tinderbox image:
/var/db/repos/gentoo	Mon Apr 13 14:38:13 UTC 2020
/var/db/repos/musl	Sun Apr 12 18:47:42 UTC 2020

emerge -qpvO app-admin/clsync
[ebuild  N    ] app-admin/clsync-0.4.2  USE="caps hardened highload-locks inotify seccomp -cgroups (-cluster) -control-socket -debug -extra-debug -extra-hardened -gio (-mhash) -namespaces"
Comment 1 Toralf Förster gentoo-dev 2020-04-13 16:19:04 UTC
Created attachment 632686 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2020-04-13 16:19:09 UTC
Created attachment 632688 [details]
app-admin:clsync-0.4.2:20200413-153039.log
Comment 3 Toralf Förster gentoo-dev 2020-04-13 16:19:12 UTC
Created attachment 632690 [details]
emerge-history.txt
Comment 4 Toralf Förster gentoo-dev 2020-04-13 16:19:15 UTC
Created attachment 632692 [details]
environment
Comment 5 Toralf Förster gentoo-dev 2020-04-13 16:19:17 UTC
Created attachment 632694 [details]
etc.portage.tbz2
Comment 6 Toralf Förster gentoo-dev 2020-04-13 16:19:22 UTC
Created attachment 632696 [details]
logs.tbz2
Comment 7 Toralf Förster gentoo-dev 2020-04-13 16:19:25 UTC
Created attachment 632698 [details]
temp.tbz2
Comment 8 Andrew Savchenko gentoo-dev 2020-04-25 22:41:12 UTC
While it is clearly deficiency in musl lacking backtrace support, clsync can be configured to omit this functionality. This quirk was activated only for BSD setups, but apparently musl needs this as well. This problem will be worked around in clsync-0.4.4 we are preparing for release now.
Comment 9 Andrew Savchenko gentoo-dev 2020-04-25 22:43:24 UTC
*** Bug 717306 has been marked as a duplicate of this bug. ***
Comment 10 Michael 'veremitz' Everitt 2020-04-26 23:03:14 UTC
One of the options advocated by upstream (musl) is https://www.nongnu.org/libunwind/ . It may/may not be an option, but throwing it into the mix for consideration.
Comment 11 Larry the Git Cow gentoo-dev 2020-05-05 15:52:30 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=280c2145ce00536797fa0f53e53fadca090ab72a

commit 280c2145ce00536797fa0f53e53fadca090ab72a
Author:     Andrew Savchenko <bircoph@gentoo.org>
AuthorDate: 2020-05-05 15:36:50 +0000
Commit:     Andrew Savchenko <bircoph@gentoo.org>
CommitDate: 2020-05-05 15:52:12 +0000

    app-admin/clsync: version bump
    
    Closes: https://bugs.gentoo.org/717340
    Package-Manager: Portage-2.3.82, Repoman-2.3.20
    Signed-off-by: Andrew Savchenko <bircoph@gentoo.org>

 app-admin/clsync/Manifest            |   1 +
 app-admin/clsync/clsync-0.4.4.ebuild | 104 +++++++++++++++++++++++++++++++++++
 app-admin/clsync/metadata.xml        |   2 +-
 3 files changed, 106 insertions(+), 1 deletion(-)
Comment 12 Andrew Savchenko gentoo-dev 2020-05-05 15:59:19 UTC
This problem should be fixed in 0.4.4: I added execinfo.h check and if not found backtracing will be disabled.

(In reply to Michael 'veremitz' Everitt from comment #10)
> One of the options advocated by upstream (musl) is
> https://www.nongnu.org/libunwind/ . It may/may not be an option, but
> throwing it into the mix for consideration.

Strace upstream recommends to use libdw instead of libunwind, though I don't know how libdw works on musl.

Either way clsync upstream don't mind to have libunwind and/or libdw optional support for backtracing, but this is a low priority task, so patches or pull requests are welcome :)
Comment 13 Andrew Savchenko gentoo-dev 2020-05-05 18:12:42 UTC
Also if you could check build with musl it will be interesting, since we have another musl-related bug:
https://github.com/clsync/clsync/issues/150

Back in 2016 musl defined lstat64 via global macro as lstat and this lead to the name collision with lstat variable in our code. I don't know if this is still an issue, so testing would be nice.

Please open a separate bug if you'll find a problem with lstat.
Comment 14 Michael 'veremitz' Everitt 2020-05-06 11:08:55 UTC
(In reply to Andrew Savchenko from comment #12)
> This problem should be fixed in 0.4.4: I added execinfo.h check and if not
> found backtracing will be disabled.
> 
> (In reply to Michael 'veremitz' Everitt from comment #10)
> > One of the options advocated by upstream (musl) is
> > https://www.nongnu.org/libunwind/ . It may/may not be an option, but
> > throwing it into the mix for consideration.
> 
> Strace upstream recommends to use libdw instead of libunwind, though I don't
> know how libdw works on musl.
> 
> Either way clsync upstream don't mind to have libunwind and/or libdw
> optional support for backtracing, but this is a low priority task, so
> patches or pull requests are welcome :)

We have elfutils in the ::musl overlay and, as far as I know, it's not clobbered, so libdw should exist at the very least; not that I've tried it personally though - https://gitweb.gentoo.org/proj/musl.git/tree/dev-libs/elfutils .

I think conditional disabling of backtracking support is fair enough at this time, and as you suggest, support can be added upstream when it becomes available.
Comment 15 Andrew Savchenko gentoo-dev 2020-05-30 19:55:05 UTC
I made more comprehensive tests on musl-hardened profile: the fix in 0.4.4 was incomplete, fixed now upstream and will be in 0.4.5 release.

Fixing this issue was not enough, so two more musl-related issues were fixed upstream: collision between local lstat variable and musl-provided implementation and use of external fts by musl.
Comment 16 Larry the Git Cow gentoo-dev 2020-11-08 14:35:56 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b1da862281d2c97a9fc1e6a63c377a30eefa4fbd

commit b1da862281d2c97a9fc1e6a63c377a30eefa4fbd
Author:     Andrew Savchenko <bircoph@gentoo.org>
AuthorDate: 2020-11-08 14:30:53 +0000
Commit:     Andrew Savchenko <bircoph@gentoo.org>
CommitDate: 2020-11-08 14:35:40 +0000

    app-admin/clsync: version bump
    
    - Update to 0.4.5
    - Enable LTO support
    - Merge back dev-libs/libclsync and app-doc/clsync-docs into app-admin/clsync
    
    Bug: https://bugs.gentoo.org/749978
    Bug: https://bugs.gentoo.org/750356
    Closes: https://bugs.gentoo.org/717340
    Package-Manager: Portage-3.0.8, Repoman-3.0.1
    Signed-off-by: Andrew Savchenko <bircoph@gentoo.org>

 app-admin/clsync/Manifest            |   1 +
 app-admin/clsync/clsync-0.4.5.ebuild | 144 +++++++++++++++++++++++++++++++++++
 2 files changed, 145 insertions(+)