[{"data":1,"prerenderedAt":256},["ShallowReactive",2],{"project-29538264":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":44,"post_text":46,"what":47,"said":69,"maker_in_thread":126,"shape":133,"grid":137,"attempts":219,"same_week":220,"maker_shows":201,"maker_hidden":248,"reader_version":249,"card":250},"29538264","glibc-abi-tool","A 166 KB file for cross compiling glibc for any version, any target","title","Show HN: A 166 KB file for cross compiling glibc for any version, any target","https:\u002F\u002Fgithub.com\u002Fziglang\u002Fglibc-abi-tool","github.com","AndyKelley",1639389932,2021,171,32,279,2533,12,"notable","dev_tools","cross compilation tooling","other",[24,25,26,27,28],"glibc","cross compiling","abi","zig","libc","curious",0.138,{"positive":32,"neutral":33,"mixed":34,"critical":35},6,11,0,2,19,{"design":38,"execution":40,"idea":41,"docs":43},{"positive":39,"critical":34},1,{"positive":39,"critical":34},{"positive":42,"critical":35},3,{"positive":39,"critical":34},[34,45,42,34,34,34,34,34,34,42,42,42,42,34,45,42,42,39,34,45,34,45,42,42,42,34,34,45,39,45,34,42],5,null,{"problem":48,"audience":46,"pricing":46,"motivation":59,"time_to_build":46,"stack":63,"openness":68,"stage":68,"team_size":68},{"value":49,"source":50,"evidence":51},"Targeting arbitrary glibc versions when cross compiling without installing each glibc","maker",[52,55],{"id":53,"by":11,"text":54},"29538297","Some context: In master branch of Zig right now (before https:\u002F\u002Fgithub.com\u002Fziglang\u002Fzig\u002Fpull\u002F10330 is merged), status quo: ``` $ cat ..\u002Flib\u002Flibc\u002Fglibc\u002F*.txt | wc -c 205219 $ cat…",{"id":56,"by":57,"text":58},"29539185","throwaway525142","What does \"targeting any glibc version\" mean? Is it the solution to the problem where you have to compile on an ancient Debian version to produce a binary that works on all Linux…",{"value":60,"source":50,"evidence":61},"Replace a bloated, buggy glibc symbol representation used by the Zig compiler",[62],{"id":53,"by":11,"text":54},[64],{"value":65,"source":50,"evidence":66},"Zig",[67],{"id":53,"by":11,"text":54},"unknown",{"praise":70,"objections":83,"requests":91,"questions":92,"alternatives":108},[71],{"value":72,"source":73,"evidence":74},"Zig can target any glibc version, a useful feature","commenter",[75,79],{"id":76,"by":77,"text":78},"29544653","modeless","Something is very wrong with the state of C\u002FC++ compiler development that it takes a different language to come in and make these obviously useful convenience features. Why are…",{"id":80,"by":81,"text":82},"29582411","juliancoffee","Well, but zig just... does it?",[84],{"value":85,"source":73,"evidence":86},"Maintaining a custom encoding may be costly as glibc changes",[87],{"id":88,"by":89,"text":90},"29541871","lhorie","How much work is it to then maintain this bespoke encoding? Without having much context on it, it sounds similar to having to maintain unicode identifier character tables for…",[],[93,101],{"value":94,"source":73,"evidence":95},"Can the approach be used with other toolchains or C++ compilers",[96,97],{"id":56,"by":57,"text":58},{"id":98,"by":99,"text":100},"29543253","gavinray","Can I use this incredible feature with other toolchains, or existing artifacts that have a glibc dependency? Say if I am using a language\u002Ftoolchain which pulls in a C\u002FC++…",{"value":102,"source":73,"evidence":103},"How to test against arbitrary glibc versions",[104],{"id":105,"by":106,"text":107},"29542851","ridiculous_fish","How does one go about testing against arbitrary versions of glibc?",[109,120],{"value":110,"source":73,"evidence":111},"Sysroot images with older glibc",[112,116],{"id":113,"by":114,"text":115},"29539853","saurik","The correct solution for that is to just cross compile to whatever older CPU you want and target a sysroot that has a base image of whatever older glibc you wanted: you don't…",{"id":117,"by":118,"text":119},"29543653","zX41ZdbW","Example: https:\u002F\u002Fgithub.com\u002FClickHouse-Extras\u002Fsysroot",{"value":121,"source":50,"evidence":122},"Docker with older Linux distributions",[123],{"id":124,"by":11,"text":125},"29574387","docker with older linux distros is a pretty decent way to do it",{"comments":42,"answered":35,"key":127},[128,129,132],{"id":53,"text":54},{"id":130,"text":131},"29543280","Yep! Example: https:\u002F\u002Fdev.to\u002Fkristoff\u002Fzig-makes-go-cross-compilation-just-work-29ho",{"id":124,"text":125},{"commenters":134,"max_depth":135,"maker_replies":42,"first_comment_mins":135,"lifespan_hours":136},21,8,81,[138,140,144,148,152,155,158,160,162,164,167,169,171,173,175,178,179,182,184,186,188,192,193,194,196,198,199,204,208,211,213,216],[53,34,34,139,11,39],"project\u002Fpositive\u002Fexecution",[141,34,45,142,143,34],"29539471","project\u002Fpositive\u002Fdesign","formerly_proven",[145,34,42,146,147,34],"29540699","project\u002Fneutral\u002Fdesign","dnautics",[149,34,34,150,151,34],"29541014","other\u002Fneutral\u002Fdesign","nyanpasu64",[153,34,34,154,147,34],"29542279","commenter\u002Fneutral\u002Fdesign",[156,34,34,154,157,34],"29542765","mmastrac",[159,34,34,154,151,34],"29547930",[161,34,34,154,157,34],"29553603",[163,34,34,154,151,34],"29559627",[165,34,42,146,166,34],"29542274","Spex_guy",[88,34,42,168,89,34],"project\u002Fneutral\u002Fexecution",[170,34,42,168,166,34],"29542230",[98,34,42,172,99,34],"project\u002Fneutral\u002Fidea",[130,34,34,174,11,39],"maker\u002Fneutral\u002Fexecution",[176,34,45,177,99,34],"29543295","maker\u002Fpositive\u002Fexecution",[56,39,42,172,57,34],[180,39,42,172,181,34],"29539481","wyldfire",[113,39,39,183,114,34],"project\u002Fcritical\u002Fidea",[117,39,34,185,118,34],"commenter\u002Fneutral\u002Fnone",[76,35,45,187,77,34],"project\u002Fpositive\u002Fidea",[189,35,34,190,191,34],"29545049","other\u002Fneutral\u002Fidea","klodolph",[80,35,45,187,81,34],[105,42,42,168,106,34],[195,42,42,172,191,34],"29544800",[197,42,42,168,106,34],"29545225",[124,42,34,174,11,39],[200,201,34,202,203,34],"29540521",4,"other\u002Fneutral\u002Fdocs","jokoon",[205,201,45,206,207,34],"29542621","project\u002Fpositive\u002Fdocs","laserbeam",[209,45,39,183,210,34],"29542234","richardwhiuk",[212,45,45,187,191,34],"29542589",[214,45,34,190,215,34],"29545110","zokier",[217,32,42,172,218,34],"29574578","WGH_",[],[221,226,231,235,240,244],{"id":222,"name":223,"points":224,"category":225},"29513547","federalist",433,"infrastructure",{"id":227,"name":228,"points":229,"category":230},"29540808","Deployment from Scratch",326,"learning_science",{"id":232,"name":233,"points":234,"category":230},"29551947","NLP for Semantic Search",239,{"id":236,"name":237,"points":238,"category":239},"29540416","LZMA decoder x86 CMOV patch",205,"languages",{"id":241,"name":242,"points":243,"category":20},"29551465","DoodleCSS",188,{"id":245,"name":246,"points":247,"category":20},"29535432","setup-new-computer-script",169,false,"v2",{"id":251,"name":5,"line":6,"ai":248,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":252,"top":18,"kw":253,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":254,"url":9,"mix":255,"praise":72,"objection":85,"sub":21},29538264,0.14,[24,25,26,27,28],"05300000033330533105053330051503",[32,33,34,35],1794036614163]