Summary: | [patch] 13-BETA install fails with "regcomp@FBSD_1.6" when invoked on non-build machine with older version system | ||||||
---|---|---|---|---|---|---|---|
Product: | Base System | Reporter: | ota | ||||
Component: | misc | Assignee: | Kyle Evans <kevans> | ||||
Status: | Closed Not A Bug | ||||||
Severity: | Affects Some People | CC: | brd, kib, marklmi26-fbsd, re | ||||
Priority: | --- | ||||||
Version: | 13.0-STABLE | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
Description
ota
2021-02-20 19:33:13 UTC
I wonder if bmake can be statically linked so that install can be run on different and older systems. Trying to run 13-BETA code (even installer material) on a system that is running a 12.2-RELEASE kernel is not supported in general as I understand: 12 does not support 13. Far more could be wrong than just what static linking could cover. One gnerally needs to get a 13 kernel in place and in operation before running other 13 code on that system, as I understand. brd@ informs this is not i386-specific Not reproducible on releng/13.0. Kyle, looks like this might have something to do with your change. Note: I hit this upgrading from a recent stable/12 to stable/13. I'll have to crunch on this a little bit... the original report is technically an unsupported setup, bootstrap tools must be built on the earliest release you're planning on using them on. (In reply to Glen Barber from comment #4) I think you need an extra buildwolrd. 12.x or 13.x $ make buildworld buildkernel installkernel installword etc. -- reboot + few upgrade 13.0-BETA $ make buildworld buildkernel installkernel installword etc. -- reboot + detach /usr/{src,obj} attach /usr/{src,obj} to 12.x 12.x $ make installkernel --> "regcomp@FBSD_1.6" I see /usr/src/Makefile.inc has BPATH to usr /usr/obj/usr/src/i386.i386/tmp/legacy/usr/bin and also libraries are built unlder the tmp. I'm wondering if we can either have LD_CONFIG to search /usr/obj/usr/src/i386.i386/tmp/legacy/lib or use linker flag, i.g, I think that's -rpath. (In reply to ota from comment #7) QUOTE (prior steps unimportant to my point) 13.0-BETA $ make buildworld buildkernel installkernel installword etc. -- reboot + detach /usr/{src,obj} attach /usr/{src,obj} to 12.x 12.x $ make installkernel --> "regcomp@FBSD_1.6" END QUOTE You can not use a build made by 13.0-BETA to install on 12.x . 12.x or before has to be what built the 13.0-BETA copy that you are installing because there are programs and libraries built and used that are executed on 12.x in order to do the install. 13.0-BETA can not build those in a 12.x compatible way. This is by design for the build environment for FreeBSD: no support of newer building to run on older, only older building to run on older+newer. Created attachment 222870 [details]
LD_LIBRARY_PATH patch
This fixed both install kernel and world.
libdialog also wasn't found via the library check.
(In reply to Mark Millard from comment #8) The tmp directory contains libraries, too. By pointing LD_LIBRARY_PATH, I was be able to run install this time. If a new system call is introduced and used, then yes, we won't be able to depend on this, though. This is invalid configuration: you cannot run buildworld on 13-something and then hope that it would run in 12. There is nothing to do in the system for that. per "This is invalid configuration:". |