Hi, On 2022-11-15 16:08:35 -0500, Tom Lane wrote: > Andrew Dunstan <and...@dunslane.net> writes: > > On 2022-11-15 Tu 14:04, Andres Freund wrote: > >> I don't think it's a virtue to break the layout of the platform by > >> e.g. installing 64bit libs into the directory containing 32bit libs. > > > You might end up surprising people who have installed from source for > > years and will have the layout suddenly changed, especially on RedHat > > flavored systems.
Just to make sure that's clear: meson defaults to lib/ or lib64/ (depending on bitness obviously) on RedHat systems, not lib/i386-linux-gnu/ or lib/x86_64-linux-gnu. > Yeah, I'm not too pleased with this idea either. The people who want > to install according to some platform-specific plan have already figured > out how to do that. People who are accustomed to the way PG has done > it in the past are not likely to think this is an improvement. I think that's a good argument to not change the default for configure, but imo not a good argument for forcing 'lib' rather than the appropriate platform default in the meson build, given that that already requires changing existing recipes. Small note: I didn't intentionally make that change during the meson porting work, it's just meson's default. I can live with forcing lib/, but I don't think it's the better solution long term. And this seems like the best point for switching we're going to get. We'd just have to add 'libdir=lib' to the default_options array in the toplevel meson.build. > Also, unless you intend to drop the special cases involving whether > the install path string contains "postgres" or "pgsql", it's already > not platform-standard. For me that's the best argument for forcing 'lib'. Still not quite enough to swing me around, because it's imo a pretty reasonable thing to want to install a 32bit and 64bit libpq, and I don't think we should make that harder. Somewhat relatedly, I wonder if we should have a better way to enable/disable the 'pgsql' path logic. It's pretty annoying that prefix basically doesn't work if it doesn't contain 'pgsql' or 'postgres'. Greetings, Andres Freund