13.3-RELEASEclang --version
FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152)
Target: x86_64-unknown-freebsd14.0
Thread model: posix
InstalledDir: /usr/bin
clang --version
FreeBSD clang version 17.0.6 (https://github.com/llvm/llvm-project.git llvmorg-17.0.6-0-g6009708b4367)
Target: x86_64-unknown-freebsd13.3
Thread model: posix
InstalledDir: /usr/bin
DEFAULT_VERSIONS+= pgsql=14 ... gcc=9 qt=5 llvm=14
Ok, a new topic it is then. As for your question it's pretty simple. It is because I want a stable system for the whole FreeBSD release cycle. I don't want to deal with all kinds of library migrations you, developers, like to deal with. I just want my system to setup once and be that way for a while. See nothing bad about this. That is why we have a stable ABI (in base). But linker errors after upgrade make it useless.Please open your own thread, explain your problem in detail (including compilation errors you get and your whole configuration, e.g. the whole make.conf). First question would be, why use a "frozen" ports tree at all, and why pin so many non-default "default versions"? That's very likely the source of your issues.
First, you have to work on your attitude.I don't want to deal with all kinds of library migrations you, developers, like to deal with.
If you want proper attitude, then have respect for others first. I'm not asking to lecturing me really. And I don't know who you are to call my ideas stupid. If the compiler would be able to not messed up the old code and just recompile the software, there would be no problem in the first place.First, you have to work on your attitude.
And then, there's "quarterly" in ports for those who want as little change as possible. Just not ever updating ports means even fewer change, sure, but is a very stupid idea as well, you will just collect vulnerabilities. For base, there are SAs and corresponding patch releases -- a similar thing can't be done for third party software out of control of the project, so, upgrade is, at some point in time, the only sensible thing to do.
It's not about postgres really. Are you able to build llvm 14 for example? Generally something is wrong with linkingMy ports compiled just fine under FreeBSD 13.3 i just observe that there are still using LLVM15 that's why i was questioning myself if i miss something. But i'm using PostgreSQL 15 and not like you 14.
For some reason my outdated port tree uses base version.I'm using the default version of the LLVM which currently is 15.
===> Configuring for rhash-1.4.3
Checking for target OS ... FreeBSD
Checking for cc version ... clang 17.0.6
Please, forget about pgsql, it's not an issue) The problem as I described it in my own post is with the linker. Even with clean make.conf it uses LLVM 17 and givesThe easy fix is to remove your make.conf and rebuild everything with it's default version. You will need to migrate your pgsql db
ld: error: version script assignment of 'LIBXML2_2.4.30' to symbol 'xmlXPtrBuildNodeList' failed: symbol not defined
ld: error: version script assignment of 'LIBXML2_2.4.30' to symbol 'xmlXPtrEvalRangePredicate' failed: symbol not defined
ld: error: version script assignment of 'LIBXML2_2.4.30' to symbol 'xmlXPtrFreeLocationSet' failed: symbol not defined
ld: error: version script assignment of 'LIBXML2_2.4.30' to symbol 'xmlXPtrLocationSetAdd' failed: symbol not defined
ld: error: version script assignment of 'LIBXML2_2.4.30' to symbol 'xmlXPtrLocationSetCreate' failed: symbol not defined
ld: error: version script assignment of 'LIBXML2_2.4.30' to symbol 'xmlXPtrLocationSetDel' failed: symbol not defined
ld: error: version script assignment of 'LIBXML2_2.4.30' to symbol 'xmlXPtrLocationSetMerge' failed: symbol not defined
ld: error: version script assignment of 'LIBXML2_2.4.30' to symbol 'xmlXPtrLocationSetRemove' failed: symbol not defined
--- librhash/librhash.so.0 ---
ld: error: version script assignment of 'global' to symbol 'rhash_wfile' failed: symbol not defined
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** [librhash.so.0] Error code 1
I absolutely believe you can build the new port. My point is that the new compiler (llvm 17) shouldn't break what was working. Or the minor system update (we are talking about something stable here, right?) shouldn't introduce such drastic change. I really don't see, why I as a user should just drop everything and go for major library changes because of the new developer's stuff in stable (!) base that can't handle what was working a half year before. It's kinda twisted logic to me.security/rhash is building fine on 13.3 with all default settings. If you want i can provide you a log file.
According your error you are using old version of LIBXML2. The current is libxml2-2.11.7. You need to remove your old build deps first and upgrade all ports.
Ok, solved here https://forums.freebsd.org/threads/...es-errors-where-f13-2-didnt.92739/post-647631The new linker is more strict.
May be it can be relaxed with options?
It's strange, yes, but I'd say it doesn't violate the stable ABII find this strange. Surely FreeBSD's concept of a top-level release doesn't cover a major compiler update like that. Especially if it means a jump from 14 to 17 during a minor version bump.
-Wno-error=<foo>
, but it's still annoying.