HtmlToText
page d'accueil contact se connecter rebuild of debian using clang 3.9, 4.0 and 5.0 aot 24th, 2017 tldr: the percentage of failure is decreasing, clang support is improving but there is a long way to go. the goal of this initiative is to rebuild debian using clang as a compiler instead of gcc. i have been doing this analysis for the last 6 years. recently, we rebuilt the archive of the debian archive with clang 3.9.1 (july 6th), 4.0.1 (july 6th) and 5.0 rc2 (august 20th). for various reasons, we didn't perform a rebuild since june 2016 with version 3.8. therefor, we took the opportunity to do three over the last month. now, the 3.9 & 4.0 results are impacted by a build failure when building all haskell packages (the -no-pie option in clang doesn't exist - i introduced it in clang 5.0 ). fixing this issue with 5.0 removed more than 860 failures. also, for the same versions, a qt compiler detection is considering that clang is not a c++11 compiler because clang++, by default, defines __cplusplus as 199711l (-std=c++11 has to be added to define a correct __cplusplus). see https://bugreports.qt.io/browse/qtbug-62535 for more information. some discussions happened on the upstream mailing list about changing the default c++ dialect . for example, with 4.0, this is causing 132 errors. with 5.0, probably thanks to a new qt version, roughly the same number of packages are failing but because gcc just triggers a warning with the "nodiscard" attribute being incorrectly used when clang triggers an error . in parallel, ignoring the haskell build failures, the numbers sightly increased since last year even if the overall percentage decreased (new packages being uploaded in the archive). version build failures ignoring haskell pkgs 3.8 1367 / 5.6% 3.9 2274 / 8.1% 1618 / 5.8% 4.0 2311 / 8.3% 1655 / 5.9% 5.0 1445 / 5.1% in parallel, new warnings and errors showed up in clang. this is causing a new set of build failures (especially with the usage of -werror). as few examples: * starting with 4.0, clang triggers an error ordered comparison between pointer and zero ('char *' and 'int') . * similarly, with this version, -wmain introduces a new warning which will trigger a warning when a bool literal is returned from main . * clang also introduced a new warning called -waddress-of-packed-member causing 5 new errors. * with the same version, clang can trigger a new error when auto is used in function return type . now, as a conclusion, having debian being built with clang by default is still a long shot. first, when clang became usable for a general audience, gcc was lagging in term of warning and error detections. now, gcc is in a much better position than it was, decreasing the interest to have clang replacing gcc. in parallel, most of the efforts in term of warnings and mistake detections are currently done under the clang tidy umbrella , making them less intrusive as part of this initiative (but harder to use and to deploy). as an example, the gcc warning -wmisleading-indentation has been implemented under a clang-tidy checker . second, the very permissive license of clang has been a key factor for some operating systems to switch like the ps4, mac os x or freebsd. with debian, the community is generally happy with the gpl. third, the performances are similar enough that it is not worth the work, except for some projects with very special needs. last, despite that it is much easier to contribute to llvm/clang than gcc (not copyright assignment or actual review system for example), this isn't a big differentiator for most of the projects. of course, i will continue to run and analysis these rebuilds as this is a great source of information for clang upstream developers to improve the compatibility with gcc and understand some impacts. however, until there is a big game changer, i will stop pursuing the goal of having debian switching to clang instead of gcc. i will stop effort on the debile project (which was aiming to rebuild in the background packages). post dans debian , llvm/clang | ragir » rebuild of debian using clang 3.5.0 september 11th, 2014 clang 3.5.0 has just been released. a new rebuild has been done highlight the progress to get debian built with clang. tl;dr: great progress. we decreased from 9.5% to 5.7% of failures. full results are available on http://clang.debian.net at time of the rebuild with 3.4.2, we had 2040 packages failing to build with clang. with 3.5.0, this dropped to 1261 packages. fixes with arthur marble and alexander ovchinnikov, both gsoc students, we worked on various ways to decrease the number of errors. upstream fixes first, the most obvious way, we fixed programming bugs/mistakes in upstream sources. basically, we took categories of failure and fixed issues one after the other. we started with simple bugs like 'wrong main declaration' , 'non-void function should return a value' or 'void function should not return a value' . they are trivial to fix. we continued with harder fixes like ' undefined reference' or 'variable length array for a non pod (plain old data) element' . so, besides these one, we worked on: no support of nested c function wrong c++ default declaration in a method variable length array for a non pod (plain old data) element tautological comparison conflicting types changes of default constructor potential usage of an uninitialized variable use of old gnu field designator missing symbols at link time (inline in c99) and others in total, we reported 295 bugs with patches . 85 of them have been fixed (meaning that the debian maintainer uploaded a new version with the fix). in parallel, i think that the switch by freebsd and mac os x to clang also helped to fix various issues by upstreams. hacking in clang as a parallel approach, we started to implement a suggestion from linus torvalds and a few others. instead of trying to fix all upstream, where we can, we tried to update clang to improve the gcc compatibility. gcc has many flags to disable or enable optimizations. some of them are legacy, others have no sense in clang, etc. instead of failing in clang with an error, we create a new category of warnings (showing optimization flag '%0' is not supported ) and moved all relevant flags into it. some examples, r212805 , r213365 , r214906 or r214907 we also updated clang to silent some useless arguments like -finput-charset=utf-8 ( r212110 ), clang being utf-8 compliant. finally, we worked on the forwarding of linker flags. clang and gcc have a very different behavior: when gcc does not know an argument, it is going to forward the argument to the linker. clang, in this case, is going to reject the argument and fail with an error. in clang, we have to explicitly declare which arguments are going to be transfer to the linker. of course, the correct way to pass arguments to the linker is to use -xlinker or -wl but the debian rebuild proved that these shortcuts are used. two of these arguments are now forwarded: -z keyword - r213198 -u force symbol to be entered in the output file as an undefined symbol - r211756 . this one fixed most of the haskell build failures. it fixed the most common issue that we had (701 occurrences but this does not mean that all these packages build fine now, some haskell-based package are failing later in the process) new errors just like in other releases, new warnings are added in clang. with (bad) usage of -werror by upstream software, this causes new build failures: absolute value error - 6 occurences tautological pointer comparison - 10 occurences i also took the opportunity to add some further categorizations in the list of errors. some examples: header guard failure unknown/unexpected directive object is not a function or function pointer next steps the debile project being close to ready with clment schreiner's gsoc, we will now have an automatic and transparent way to rebuild packages using clang. conclusion as stated, we can see a huge drop in term of number of failures over time: ho
Informations Whois
Whois est un protocole qui permet d'accéder aux informations d'enregistrement.Vous pouvez atteindre quand le site Web a été enregistré, quand il va expirer, quelles sont les coordonnées du site avec les informations suivantes. En un mot, il comprend ces informations;
Domain Name: LEDRU.INFO
Registry Domain ID: D1262809-LRMS
Registrar WHOIS Server:
Registrar URL: http://www.ovh.com/
Updated Date: 2014-11-04T20:36:15Z
Creation Date: 2001-11-11T19:53:44Z
Registry Expiry Date: 2017-11-11T19:53:44Z
Registrar Registration Expiration Date:
Registrar: OVH sas
Registrar IANA ID: 433
Registrar Abuse Contact Email:
Registrar Abuse Contact Phone:
Reseller:
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Registry Registrant ID: C156080530-LRMS
Registrant Name: Jovialyteam - LineSurf
Registrant Organization: Jovialyteam - LineSurf
Registrant Street: 17 allee Charles Nicolle
Registrant City: Olivet
Registrant State/Province:
Registrant Postal Code: 45160
Registrant Country: FR
Registrant Phone: +33.899498765
Registrant Phone Ext:
Registrant Fax:
Registrant Fax Ext:
Registrant Email: webmaster@ledru.info
Registry Admin ID: C156080531-LRMS
Admin Name: Sylvestre Ledru
Admin Organization:
Admin Street: 7 boulevard Soult
Admin City: Paris
Admin State/Province:
Admin Postal Code: 75012
Admin Country: FR
Admin Phone: +33.617924814
Admin Phone Ext:
Admin Fax:
Admin Fax Ext:
Admin Email: sylvestre-ovh@ecranbleu.org
Registry Tech ID: C156080531-LRMS
Tech Name: Sylvestre Ledru
Tech Organization:
Tech Street: 7 boulevard Soult
Tech City: Paris
Tech State/Province:
Tech Postal Code: 75012
Tech Country: FR
Tech Phone: +33.617924814
Tech Phone Ext:
Tech Fax:
Tech Fax Ext:
Tech Email: sylvestre-ovh@ecranbleu.org
Registry Billing ID: C156080531-LRMS
Billing Name: Sylvestre Ledru
Billing Organization:
Billing Street: 7 boulevard Soult
Billing City: Paris
Billing State/Province:
Billing Postal Code: 75012
Billing Country: FR
Billing Phone: +33.617924814
Billing Phone Ext:
Billing Fax:
Billing Fax Ext:
Billing Email: sylvestre-ovh@ecranbleu.org
Name Server: BATOU.ECRANBLEU.ORG
Name Server: YOGANUP.YALLINGUP.FR
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of WHOIS database: 2017-08-12T20:29:01Z <<<
For more information on Whois status codes, please visit https://icann.org/epp
Access to AFILIAS WHOIS information is provided to assist persons in determining the contents of a domain name registration record in the Afilias registry database. The data in this record is provided by Afilias Limited for informational purposes only, and Afilias does not guarantee its accuracy. This service is intended only for query-based access. You agree that you will use this data only for lawful purposes and that, under no circumstances will you use this data to(a) allow, enable, or otherwise support the transmission by e-mail, telephone, or facsimile of mass unsolicited, commercial advertising or solicitations to entities other than the data recipient's own existing customers; or (b) enable high volume, automated, electronic processes that send queries or data to the systems of Registry Operator, a Registrar, or Afilias except as reasonably necessary to register domain names or modify existing registrations. All rights reserved. Afilias reserves the right to modify these terms at any time. By submitting this query, you agree to abide by this policy.
REFERRER http://whois.afilias.info
REGISTRAR Afilias Global Registry Services
SERVERS
SERVER info.whois-servers.net
ARGS ledru.info
PORT 43
TYPE domain
RegrInfo
DOMAIN
NAME ledru.info
HANDLE D1262809-LRMS
CREATED 2001-11-11
STATUS
clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
clientTransferProhibited https://icann.org/epp#clientTransferProhibited
NSERVER
BATOU.ECRANBLEU.ORG 195.154.220.89
YOGANUP.YALLINGUP.FR 195.154.173.31
OWNER
HANDLE C156080530-LRMS
NAME Jovialyteam - LineSurf
ORGANIZATION Jovialyteam - LineSurf
ADDRESS
STREET
17 allee Charles Nicolle
CITY Olivet
PCODE 45160
COUNTRY FR
PHONE +33.899498765
EMAIL webmaster@ledru.info
ADMIN
HANDLE C156080531-LRMS
NAME Sylvestre Ledru
ADDRESS
STREET
7 boulevard Soult
CITY Paris
PCODE 75012
COUNTRY FR
PHONE +33.617924814
EMAIL sylvestre-ovh@ecranbleu.org
TECH
HANDLE C156080531-LRMS
NAME Sylvestre Ledru
ADDRESS
STREET
7 boulevard Soult
CITY Paris
PCODE 75012
COUNTRY FR
PHONE +33.617924814
EMAIL sylvestre-ovh@ecranbleu.org
BILLING
HANDLE C156080531-LRMS
NAME Sylvestre Ledru
ADDRESS
STREET
7 boulevard Soult
CITY Paris
PCODE 75012
COUNTRY FR
PHONE +33.617924814
EMAIL sylvestre-ovh@ecranbleu.org
REGISTERED yes
Go to top