Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 717340 - app-admin/clsync-0.4.2 : error.c: fatal error: execinfo.h: No such file or directory
Summary: app-admin/clsync-0.4.2 : error.c: fatal error: execinfo.h: No such file or di...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo musl team
URL:
Whiteboard:
Keywords:
: 717306 (view as bug list)
Depends on:
Blocks: missing-musl-includes
  Show dependency tree
 
Reported: 2020-04-13 16:18 UTC by Toralf Förster
Modified: 2020-11-08 14:35 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge-info.txt (emerge-info.txt,18.26 KB, text/plain)
2020-04-13 16:19 UTC, Toralf Förster
Details
app-admin:clsync-0.4.2:20200413-153039.log (app-admin:clsync-0.4.2:20200413-153039.log,11.90 KB, text/plain)
2020-04-13 16:19 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,469.45 KB, text/plain)
2020-04-13 16:19 UTC, Toralf Förster
Details
environment (environment,116.90 KB, text/plain)
2020-04-13 16:19 UTC, Toralf Förster
Details
etc.portage.tbz2 (etc.portage.tbz2,35.00 KB, application/x-bzip)
2020-04-13 16:19 UTC, Toralf Förster
Details
logs.tbz2 (logs.tbz2,9.00 KB, application/x-bzip)
2020-04-13 16:19 UTC, Toralf Förster
Details
temp.tbz2 (temp.tbz2,32.02 KB, application/x-bzip)
2020-04-13 16:19 UTC, Toralf Förster
Details

Note You need to log in before you can comment on or make changes to this bug.
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(+)