emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#53925: closed ([PATCH 0/2] gnu: clang: Build and link as shared libr


From: GNU bug Tracking System
Subject: bug#53925: closed ([PATCH 0/2] gnu: clang: Build and link as shared libraries.)
Date: Wed, 16 Feb 2022 15:57:01 +0000

Your message dated Wed, 16 Feb 2022 16:56:50 +0100
with message-id <871r02x0sd.fsf@gnu.org>
and subject line Re: bug#53925: [PATCH 0/2] gnu: clang: Build and link as 
shared libraries.
has caused the debbugs.gnu.org bug report #53925,
regarding [PATCH 0/2] gnu: clang: Build and link as shared libraries.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
53925: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=53925
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: [PATCH 0/2] gnu: clang: Build and link as shared libraries. Date: Thu, 10 Feb 2022 14:46:23 -0500
clang-tools-extra has been moved to a separate "extra" output due to the size of the statically linked binaries. Unfortunately, this prevents tools from finding the header files stored in the default clang "out" output:

--8<---------------cut here---------------start------------->8---
$ guix describe
Generation 1 Feb 08 2022 14:30:38 (current)
  guix 59892f1
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 59892f105585a98bcaaa4abc99142944cb171acf

$ cat main.cpp
#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

$ guix shell clang clang:extra

$ clang-tidy main.cpp --
1776 warnings and 1 error generated.
Error while processing /efs/devel/hello/src/main.cpp.
/gnu/store/i86pbiqnnz0c2313616jdbsbdgp7qvav-profile/include/wchar.h:35:10: error: 'stddef.h' file not found [clang-diagnostic-error]
#include <stddef.h>
         ^~~~~~~~~~
Suppressed 1776 warnings (1776 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
Found compiler error(s).
--8<---------------cut here---------------end--------------->8---

After applying the attached patch the tool does find the necessary header file (at /gnu/store/*-clang-13.0.1/lib/clang/13.0.1/include/stddef.h):

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix shell clang

$ clang-tidy main.cpp --
1971 warnings generated.
Suppressed 1971 warnings (1971 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
--8<---------------cut here---------------end--------------->8---

The patch builds clang with dynamic linkage and removes the separate output. The new size of the full complement of dynamically linked libraries and binaries is one-third the size of the original clang with extras excluded.

--8<---------------cut here---------------start------------->8---
$ guix size clang
store item                                                       total    self
/gnu/store/ylbcqp3yjha97g450g33cz9grsg0ic2w-clang-13.0.1          1247.5   628.0  50.3%
...
total: 1247.5 MiB

$ ./pre-inst-env guix size clang
store item                                                       total    self
/gnu/store/fxf9gyx7c790kbbzhyyamdf27g8yjb9v-clang-13.0.1           842.1   222.6  26.4%
...
total: 842.1 MiB
--8<---------------cut here---------------end--------------->8---

I successfully built all dependent packages of the affected clang versions (clang@10 through 13) except c-vise-2.4.0, for which I have included a patch, and the following packages currently failing on master:
  clang-toolchain-8.0.0
  dub@1.7.2
  gtkd@3.9.0
  icedove-wayland@91.5
  itk-snap@3.8.0
  java-pep-adapter-2.1.23
  rdmd@2.077.1
  rust-aom-sys-0.3.0
  rust-bindgen-0.52.0
  rust-bindgen-0.55.1
  rust-clang-sys-0.26.4
  rust-sequoia-openpgp-0.9.0
  scregseg-0.1.1

Greg

Attachment: 0002-gnu-c-vise-Fix-linkage.patch
Description: Source code patch

Attachment: 0001-gnu-clang-Build-and-link-as-shared-libraries.patch
Description: Source code patch


--- End Message ---
--- Begin Message --- Subject: Re: bug#53925: [PATCH 0/2] gnu: clang: Build and link as shared libraries. Date: Wed, 16 Feb 2022 16:56:50 +0100 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Hi,

Greg Hogan <code@greghogan.com> skribis:

> The patch builds clang with dynamic linkage and removes the separate
> output. The new size of the full complement of dynamically linked libraries
> and binaries is one-third the size of the original clang with extras
> excluded.

That’s indeed much better than the extra output, in addition to fixing
bugs (also reported at <https://issues.guix.gnu.org/52054>).

Pushed as 6481dbda5100e9b0ff9c5221280d2c0cadd663b7.

Thanks!

Ludo’.


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]