logoalt Hacker News

swiftcoder • yesterday at 8:19 PM • 5 replies • view on HN

> they don't normally track the build backend as a dependency... It's the "rebuild from source every time" aspect of Gentoo that forces that connection

I don't follow. This feels like Gentoo is mishandling build-tool dependencies.

Does Gentoo also recompile every C/C++ library in the dependency tree every time GCC pushes a minor version bump?


Replies

pdonis • yesterday at 9:07 PM

> This feels like Gentoo is mishandling build-tool dependencies.

I would say it's doing what it believes is necessary for the Python ecosystem. The build backend is an explicit part of the specification of a Python project.

> Does Gentoo also recompile every C/C++ library in the dependency tree every time GCC pushes a minor version bump?

No, because C/C++ libraries don't have an explicit specification of the build tool to be used in their project, the way a Python project does.

➕ show 1 reply
everyflavourvms • yesterday at 8:50 PM

> I don't follow.

I don't either. I used to run Gentoo for quite a few years in the past and build dependency updates would not trigger rebuilds of build-dependent packages.

Rebuilding the entire system with a new GCC was recommended by the documentation, but there was nothing in Portage forcing it. Neither would you rebuild the system if, e.g. make got an update.

edoceo • yesterday at 8:50 PM

No, and not with clang or llvm or rust. When we get a new Golang tho, that does rebuild stuff built with Go. And big perl updates cause a rebuild for perl packages.

fuzzy2 • yesterday at 8:33 PM

IIRC, rebuilds to GCC outputs are/were only recommended when the compiler "profile" changes. So basically whenever the ABI could no longer be guaranteed.

ForHackernews • yesterday at 8:21 PM

Strictly speaking, they should, right? Differences in GCC could produce differences in anything it compiles.