@cmeerw When you have time, what do you think should be next for hlcs?
I could gladly go back to compiling OpenBSD-current, and trying xenocara.
I have the idea, sometime before too long, to try BCHS. I like the BCHS Dashboard.](https://learnbchs.org/report/index.html) And the OpenBSD Hypervisor, which they use at OpenBSD.Amsterdam.
There is another side of me that wants to try a little project with Svelte and Manifest.
Additionally, @babywhale showed me something recently that he made with vanilla Javascript. I thought @babywhale's project looked really gorgeous in my browser, and I even liked the few simple parts of his code that I read. So maybe I might try something simple, but still somewhat like @babywhale's project, just for fun.
Edit to add: I installed Apache, PHP, MariaDB, and FOSSBilling on a Debian 12 VPS. I am learning a little about the configuration. A friend is trying Paymenter.
It's not that I want to accomplish anything in particular beyond having fun exploring what's still new to me.
As you can see, there is more on my plate than I can eat at the moment.
What do you want to do on hlcs coming up, and does anyone else want to join us on hlcs?
Thanks to @Hosteroid for our lovely community server!
That's interesting - my Europe map is almost BCHS: it runs on OpenBSD, the http backend is written in C++, it uses OpenBSD's httpd, and the map data is actually stored in an SQLite file.
I think the OpenBSD hypervisor would be interesting to try.
Make the FILE object opaque. Move the __sFILE definition into
libc/hidden/_stdio.h. All programs that refer to the internal
structure of the FILE object can't be compiled from now on.
std{in,out,err} doesn't refer __sF[] now, but the hidden __sF along
with __srget and __swbuf symbols are kept temporarily to make our
transition easier. But those symbols will be deleted soon. The shared
library versions are bumped for libc and all the other libraries that
refer to std{in,out,err}.
When I Google searched "openbsd opaque" I got the following AI Overview and references:
AI Overview
AI Overview
Why OpenBSD? : r/openbsd
In the context of OpenBSD, "opaque" generally refers to a data structure or type where the internal details are hidden from the user, and access is only provided through specific functions or macros. This design promotes encapsulation and security by preventing direct manipulation of internal data, which could lead to errors or vulnerabilities.
Here's a more detailed explanation:
Encapsulation and Security:
Opaque types hide the internal implementation of a data structure, meaning users cannot directly access or modify its members. This prevents accidental corruption of data and makes it harder for malicious code to exploit vulnerabilities.
Abstraction:
Opaque types provide a level of abstraction, allowing developers to work with data structures at a higher level of abstraction without needing to understand the underlying implementation details.
Example:
In OpenBSD, many structures in the openssl library, such as those in bio.h, bn.h, and evp.h, are now opaque. This means that you can use functions like BN_new() to allocate and work with BIGNUM structures, but you shouldn't directly access or modify the internal members of the BIGNUM structure.
startuphook_establish() Example:
The startuphook_disestablish() function (used in conjunction with startuphook_establish()) removes a hook from a list of startup hooks using an "opaque pointer cookie," indicating that the internal workings of the cookie are not meant to be directly accessed or modified.
hardclock() Example:
The hardclock() function takes an "opaque, machine dependent structure" as an argument, suggesting that the internal structure of the frame argument is specific to the machine architecture and not meant for direct manipulation.
Just finished updating the OpenBSD sources. The update seemed to go okay.
Last login: Wed Jul 9 20:52:25 2025 from 187.189.238.2
OpenBSD 7.7-current (GENERIC.MP) #2: Wed Jul 9 20:38:28 UTC 2025
Welcome to OpenBSD: The proactively secure Unix-like operating system.
[ . . . ]
hlcs$ date
Sun Jul 20 16:41:33 UTC 2025
hlcs$ cd /usr/src
hlcs$ whoami
ucvsu
hlcs$ cvs -q up -Pd -A
[ . . . ]
hlcs$ cd /usr/xenocara
hlcs$ cvs -q up -Pd -A
P dist/fontconfig/fc-cache/fc-cache.c
P font/alias/Makefile.bsd-wrapper
hlcs$ cd /usr/ports
hlcs$ cvs -q up -Pd -A
[ . . . ]
hlcs$
Thanks to @Hosteroid for our nice LES Community Server! Does anybody else want to join cmeerw and me? Please read the "How To Apply" section in the OP.
2025/07/16 - opaque stdio
The struct underlying FILE was made opaque and many base libraries had a major bump.
Cross these bumps using a snapshot.
If you must build from source, run make includes, then build and install each one of libc, libcurses, libcrypto, and libssl before building a snapshot as usual.
To try building from source, I am guessing I have to run, as ucvsu,
$ make obj
$ make config
$ make includes
$ make -j4
Then build a snapshot, kernel first, as usual, as ucvsu,
hlcs$ cd /usr/src/sys/arch/amd64/compile/GENERIC.MP/
hlcs$ make obj
hlcs$ make config
hlcs$ make -j 4
As root,
hlcs# cd /usr/src/sys/arch/amd64/compile/GENERIC.MP/
hlcs# make install
hlcs# reboot
Now the userland. As ucvsu,
hlcs$ cd /usr/src
hlcs$ make obj
As root,
hlcs# cd /usr/src
hlcs# make -j 4 build # Can't be run as ucvsu because do-build must be called by root -- https://lowendspirit.com/discussion/comment/215758/#Comment_215758
hlcs# sysmerge
# Check /etc/rc.conf for httpd_flags= instead of httpd_flags=NO
hlcs# cd /dev
hlcs# /dev/MAKEDEV all
hlcs# reboot
@cmeerw When you have time, does this plan look okay?
make config didn't work. I went ahead anyway. A few compile commands completed, and then. . . .
@cmeerw Only if you want to, ucvsu has a tmux session running.
What did I miss? What now?
hlcs$ date
Sun Jul 20 20:02:34 UTC 2025
hlcs$ whoami
ucvsu
hlcs$ cd /usr/src/lib/libc
hlcs$ make obj
/usr/src/lib/libc/obj -> /usr/obj/lib/libc
hlcs$ make config
make: don't know how to make config
Stop in /usr/src/lib/libc
hlcs$ make includes
hlcs$ make -j 4
[ . . . ]
cc -O2 -pipe -g -Wimplicit -I/usr/src/lib/libc/include -I/usr/src/lib/libc/hidden -D__LIB
C__ -Werror-implicit-function-declaration -include namespace.h -Werror=deprecated-declar
ations -DAPIWARN -DYP -I/usr/src/lib/libc/yp -fret-clean -I/usr/src/lib/libc -I/usr/src/l
ib/libc/gdtoa -I/usr/src/lib/libc/arch/amd64/gdtoa -DINFNAN_CHECK -DMULTIPLE_THREADS -DNO
_FENV_H -DUSE_LOCALE -I/usr/src/lib/libc -I/usr/src/lib/libc/citrus -DRESOLVSORT -DFLOATI
NG_POINT -DPRINTF_WIDE_CHAR -DSCANF_WIDE_CHAR -DFUTEX -MD -MP -c -fpic -DPIC /usr/src/l
ib/libc/gmon/mcount.c -o mcount.so
In file included from In file included from In file included from /usr/src/lib/libc/stdio
/fdclose.c/usr/src/lib/libc/stdio/fdclose.c:/usr/src/lib/libc/stdio/fdclose.c:36:36:
36:
In file included from :
In file included from /usr/src/lib/libc/hidden/stdio.hIn file included from /usr/src/lib/
libc/hidden/stdio.h:/usr/src/lib/libc/hidden/stdio.h:34:34:
34:
/usr/src/lib/libc/hidden/_stdio.h:
/usr/src/lib/libc/hidden/_stdio.h:/usr/src/lib/libc/hidden/_stdio.h:50:50:20:09 [133/184]
or: error: redefinition of '__sbuf'error: redefinition of '__sbuf'
redefinition of '__sbuf'
50 | str u50c | ts50 t | _rs_utscrbtuu cf_t _ {s_
b_ us| fb ^ u
{f
{|
^
| ^
/usr/include/stdio.h/usr/include/stdio.h/usr/include/stdio.h:::707070:::888::: note: no
te: note: previous definition is hereprevious definition is hereprevious definition is he
re
7070 | | ss70tt | rrsuutccrttu c__t__ ss_bb_uusffb u{{f
{| |
^ ^
| ^
In file included from /usr/src/lib/libc/stdio/fdclose.c:36:
In file included from /usr/src/lib/libc/hidden/stdio.h:In file included from In file incl
uded from 34/usr/src/lib/libc/stdio/fdclose.c/usr/src/lib/libc/stdio/fdclose.c:
::/usr/src/lib/libc/hidden/_stdio.h3636::
:
81In file included from In file included from :/usr/src/lib/libc/hidden/stdio.h/usr/src/l
ib/libc/hidden/stdio.h8:::3434 :
:
error: /usr/src/lib/libc/hidden/_stdio.h/usr/src/lib/libc/hidden/_stdio.hredefinition of
'__sFILE'::
8181: :8818: | : s error: terror: redefinition of '__sFILE'rredefinition of '__sFILE'
u
c t8181 | | _ss_ttsrrFuuIccLttE __{__
ss FF| II ^LL
EE /usr/include/stdio.h {:{
99
: | 16| ^: ^
note: /usr/include/stdio.hprevious definition is here/usr/include/stdio.h:
:9999 ::991616 | ::t ynote: note: pprevious definition is hereprevious definition is h
eree
d e99 f | 99 t | syttpyrepudecedtfe f_s _tssrtFurIcuLtcE t _ {__
s_ Fs| IF ^LI
EL E{
{
| ^|
^
In file included from In file included from /usr/src/lib/libc/stdio/fdclose.c/usr/src/lib
/libc/stdio/fdclose.cIn file included from ::/usr/src/lib/libc/stdio/fdclose.c3636::
:
36/usr/src/lib/libc/hidden/stdio.h/usr/src/lib/libc/hidden/stdio.h:
::/usr/src/lib/libc/hidden/stdio.h5555:::551818:::18 :error: error: use of undeclared i
dentifier 'fdclose'; did you mean 'fclose'?use of undeclared identifier 'fdclose'; did yo
u mean 'fclose'?error:
use of undeclared identifier 'fdclose'; did you mean 'fclose'?
5555 | | PP55RR | OOPTTROOO__TDDOEE_PPDRREEEPCCRAAETTCEEADDT((Eff20:09 $
sleeo))s;;e
) ;| |
^~~~~~~ ^~~~~~~
| ^~~~~~~| |
fclose fclose
| fclose/usr/src/lib/libc/include/namespace.h/usr/src/lib/libc/include/n
amespace.h
::4848::36/usr/src/lib/libc/include/namespace.h36::: 48 note: :note: expanded from macro
'PROTO_DEPRECATED'36expanded from macro 'PROTO_DEPRECATED'
:
note: expanded from macro 'PROTO_DEPRECATED' 48
48 | | ##d de48ef | fi#indneee f PiPRnROeOT TOPO_R_DODETEPOPR_REDECECAPATRTEEEDCD(A(xT
x)E) D t(tyxyp)pe eotofyf(p(xex)o) f x(x x _)__ _axat tt_tr_riaibtbututrteie_
b__u_(t((e(d_de_ep(pr(redececapatrteeedcd,a, t wewedea,ak k)w))e)
a
k | )| ^)
^
| ^
/usr/src/lib/libc/hidden/stdio.h/usr/src/lib/libc/hidden/stdio.h/usr/src/lib/libc/hidden/
stdio.h:::545454:::141414::: note: note: note: 'fclose' declared here'fclose' declared
here'fclose' declared here
54 54 | 54 | P | PRPROROTOTOTO_O_N_NONORORMRMAMALAL(L(f(fcfclclolososese)e););
;
| | ^| ^
^
/usr/src/lib/libc/hidden/stdio.h:133:21: error: redefinition of '__sputc'
133 | static __inline int __sputc(int _c, FILE *_p) {
| ^
/usr/include/stdio.h:395:21: note: previous definition is here
395 | static __inline int __sputc(int _c, FILE *_p) {
| ^
/usr/src/lib/libc/hidden/stdio.h/usr/src/lib/libc/hidden/stdio.h::133133::2121:: error:
error: redefinition of '__sputc'redefinition of '__sputc'
133133 | | ssttaattiicc ____iinnlliinnee iinntt ____ssppuuttcc((iinntt __cc,, F
FIILLEE **__pp)) {{
| | ^ ^
/usr/include/stdio.h/usr/include/stdio.h::395395::2121:: note: note: previous definition
is hereprevious definition is here
395395 | | ssttaattiicc ____iinnlliinnee iinntt ____ssppuuttcc((iinntt __cc,, F
FIILLEE **__pp)) {{
| | ^ ^
/usr/src/lib/libc/stdio/fdclose.c/usr/src/lib/libc/stdio/fdclose.c/usr/src/lib/libc/stdio
/fdclose.c:::404040:::111::: error: error: error: conflicting types for 'fdclose'confli
cting types for 'fdclose'conflicting types for 'fdclose'
404040 | | | fffdddccclllooossseee(((FFFIIILLLEEE ***fffppp,,, iiinnnttt
***fffdddppp)))
| | | ^^^
/usr/src/lib/libc/hidden/stdio.h/usr/src/lib/libc/hidden/stdio.h:/usr/src/lib/libc/hidden
/stdio.h:55:55:55:18:18:18: : note: note: previous declaration is herenote: previous dec
laration is here
previous declaration is here
55 | 55P55 | R | POPRTROOOT_TODO_E_DPDEREPEPRCREAECTCAEATDTE(EDfD(d(fcfdldcoclsl
oeos)se;e)
); ;
|
^ |
| ^ ^
55 error5 errors errors generateds generated.
generated.
.
*** Error 1 in target 'fdclose.po'
*** Error 1 in target 'fdclose.o'
*** Error 1 in target 'fdclose.so'
*** Error 1 in /usr/src/lib/libc (<bsd.lib.mk>:53 'fdclose.so': @cc -O2 -pipe -g -Wimplicit -I/usr/src/lib/libc/include -I/usr/src/lib/libc/...)
*** Error 1 (<bsd.lib.mk>:39 'fdclose.o': @cc -O2 -pipe -g -Wimplicit -I/usr/src/lib/libc/include -I/usr/src/lib/libc/hidden -D__LIBC__ -We...)
*** Error 1 (<bsd.lib.mk>:46 'fdclose.po': @cc -O2 -pipe -g -Wimplicit -I/usr/src/lib/libc/include -I/usr/src/lib/libc/hidden -D__LIBC__ -W...)
hlcs$
When I get a chance I want to take a look at the man 3 stdio page. . . .
Also, how did the FILE type get to be all in capital letters? I heard that C took the FILE type from B, and that B took the FILE type from BCPL. I heard that BCPL was based on Multics. I wonder if Multics had a FILE type. What about before Multics?
This StackOverflow page suggests that originally FILE was a macro, and that macros and typedefs typically are named in all capital letters.
Tom, Tom, Tom first thank you for the kind words in my thread they mean alot to me. I am glad this project has been such a success for you man!!! You work hard and deserve the best.
@Not_Oles said: @cmeerw Thanks for the hint! Running make includes in /use/src/lib seemed to work!
Although, not sure if that actually helped. I guess we'd need to get the new stdio.h installed into /usr/include, but that didn't do that yet. Maybe also run make includes in /usr/src/include?
@Not_Oles said: @cmeerw Thanks for the hint! Running make includes in /use/src/lib seemed to work!
Although, not sure if that actually helped. I guess we'd need to get the new stdio.h installed into /usr/include, but that didn't do that yet. Maybe also run make includes in /usr/src/include?
@Not_Oles said: @cmeerw Why install: libc.so.101.0: No such file or directory ?
Maybe you need to do a make first before you do the make install?
I thought that make install always did the make part first, before installing, and that the only reason to run make alone, first, was if you wanted to look through the output of the make before installing. Maybe my assumption is wrong. Let's see what happens if I just run make and then make install.
Thanks for your continuing helpful hints!
I will go try make by itself, first, then make install.
hlcs# pwd
/usr/src/lib/libcurses
hlcs# make
[ . . . ]
hlcs# make install
[ . . . ]
hlcs# cd /usr/src/lib/libcrypto
hlcs# make
[ . . . ]
hlcs# make install
[ . . . ]
hlcs# cd /usr/src/lib/libssl
hlcs# make
[ . . . ]
hlcs# make install
[ . . . ]
hlcs#
Now it looks maybe like I can go back to our plan, posted above, and try building a new kernel. Maybe first as ucvsu and then as root if the unprivileged build doesn't work.
Thanks for all the help @cmeerw! Thanks to @Hosteroid for our wonderful community server. Anybody else want to come aboard?
@Not_Oles said: I thought that make install always did the make part first, before installing, and that the only reason to run make alone, first, was if you wanted to look through the output of the make before installing. Maybe my assumption is wrong. Let's see what happens if I just run make and then make install.
Whether make install includes a compile step (e.g., plain make) seems to depend on the makefiles.
On hlcs, with OpenBSD-current, in /usr/src/lib/libc we have
Nowhere within the install chain is there a build step or a reference to all. Therefore, no compile takes place with make install.
I hear that it's typical in the BSD world to define the install target without building, whereas in the GNU/Linux world, it's common to see the install step including the all step.
So, if I am understanding the makefiles correctly, they explain why running make install on hlcs didn't include a build and why make install on Linux systems frequently does include a build (because, unlike BSD, all or another build target frequently is included in the Linux makefiles' definition of install).
hlcs$ date
Wed Jul 23 04:43:23 UTC 2025
hlcs$ cd /usr/src
hlcs$ make obj
hlcs$
Inside tmux:
hlcs# date
Wed Jul 23 04:46:47 UTC 2025
hlcs# pwd
/usr/src
hlcs# make -j 4 build
[ . . . ]
I might go to sleep before the build completes or fails. @cmeerw If you want to or need to, please feel free to hop inside the tmux session and do the needful.
Thanks to @Hosteroid for our nice Community server! Anybody else want to join @cmeerw and me? Please read "How To Apply" in the OP.
Comments
@cmeerw When you have time, what do you think should be next for hlcs?
I could gladly go back to compiling OpenBSD-current, and trying xenocara.
I have the idea, sometime before too long, to try BCHS. I like the BCHS Dashboard.](https://learnbchs.org/report/index.html) And the OpenBSD Hypervisor, which they use at OpenBSD.Amsterdam.
There is another side of me that wants to try a little project with Svelte and Manifest.
Additionally, @babywhale showed me something recently that he made with vanilla Javascript. I thought @babywhale's project looked really gorgeous in my browser, and I even liked the few simple parts of his code that I read. So maybe I might try something simple, but still somewhat like @babywhale's project, just for fun.
Edit to add: I installed Apache, PHP, MariaDB, and FOSSBilling on a Debian 12 VPS. I am learning a little about the configuration. A friend is trying Paymenter.
It's not that I want to accomplish anything in particular beyond having fun exploring what's still new to me.
As you can see, there is more on my plate than I can eat at the moment.
What do you want to do on hlcs coming up, and does anyone else want to join us on hlcs?
Thanks to @Hosteroid for our lovely community server!
I hope everyone gets the servers they want!
That's interesting - my Europe map is almost BCHS: it runs on OpenBSD, the http backend is written in C++, it uses OpenBSD's httpd, and the map data is actually stored in an SQLite file.
I think the OpenBSD hypervisor would be interesting to try.
Your Europe map is in BCHS++!
Haha! Sorry! I couldn't resist!
(BCHS++ somehow maybe seems better than BC++HS.)
It sounds like it might be okay for me to compile again sometime soon. I know I have to watch out for
Is there anything else?
Thanks!
I hope everyone gets the servers they want!
Don't think so, just have set up auto-start for my FastCGI tile server, so that should now also start up after a reboot.
This might be relevant: https://www.undeadly.org/cgi?action=article;sid=20250717103345
Thanks for the heads up! Really very much appreciated!
Nothing wrong with using a snapshot. But, is it okay to try first:
update, then, from https://www.openbsd.org/faq/current.html#r20250716,
If it fails, then I still can use a snapshot, I think.
I hope everyone gets the servers they want!
From: https://marc.info/?l=openbsd-cvs&m=175267994001677&w=2
I hope everyone gets the servers they want!
When I Google searched "openbsd opaque" I got the following AI Overview and references:
AI Overview
Why OpenBSD? : r/openbsd
In the context of OpenBSD, "opaque" generally refers to a data structure or type where the internal details are hidden from the user, and access is only provided through specific functions or macros. This design promotes encapsulation and security by preventing direct manipulation of internal data, which could lead to errors or vulnerabilities.
Here's a more detailed explanation:
Encapsulation and Security:
Opaque types hide the internal implementation of a data structure, meaning users cannot directly access or modify its members. This prevents accidental corruption of data and makes it harder for malicious code to exploit vulnerabilities.
Abstraction:
Opaque types provide a level of abstraction, allowing developers to work with data structures at a higher level of abstraction without needing to understand the underlying implementation details.
Example:
In OpenBSD, many structures in the openssl library, such as those in bio.h, bn.h, and evp.h, are now opaque. This means that you can use functions like BN_new() to allocate and work with BIGNUM structures, but you shouldn't directly access or modify the internal members of the BIGNUM structure.
startuphook_establish() Example:
The startuphook_disestablish() function (used in conjunction with startuphook_establish()) removes a hook from a list of startup hooks using an "opaque pointer cookie," indicating that the internal workings of the cookie are not meant to be directly accessed or modified.
hardclock() Example:
The hardclock() function takes an "opaque, machine dependent structure" as an argument, suggesting that the internal structure of the frame argument is specific to the machine architecture and not meant for direct manipulation.
References
https://www.openbsd.org/faq/current.html
https://man.openbsd.org/OpenBSD-6.1/BN_new.3#:~:text=This type should be considered opaque and,()%20allocates%20and%20initializes%20a%20BIGNUM%20structure
https://man.openbsd.org/hardclock.9#:~:text=hardclock ()%20implements%20the%20real,interrupt%20priority%20is%20low%20enough.
I hope everyone gets the servers they want!
Just finished updating the OpenBSD sources. The update seemed to go okay.
Thanks to @Hosteroid for our nice LES Community Server!
Does anybody else want to join cmeerw and me? Please read the "How To Apply" section in the OP. 
I hope everyone gets the servers they want!
From: https://www.openbsd.org/faq/current.html#r20250716
To try building from source, I am guessing I have to run, as ucvsu,
and then, as root,
in each of the following directories:
Then build a snapshot, kernel first, as usual, as ucvsu,
As root,
Now the userland. As ucvsu,
As root,
@cmeerw When you have time, does this plan look okay?
I hope everyone gets the servers they want!
Looks good to me.
Haha!
make config
didn't work. I went ahead anyway. A few compile commands completed, and then. . . .@cmeerw Only if you want to, ucvsu has a tmux session running.
What did I miss?
What now? 
I hope everyone gets the servers they want!
The link posted by @cmeerw
https://www.undeadly.org/cgi?action=article;sid=20250717103345
contains ". . . the struct underlying stdio(3)'s FILE type has been made opaque. . . ."
When I get a chance I want to take a look at the
man 3 stdio
page. . . .Also, how did the FILE type get to be all in capital letters? I heard that C took the FILE type from B, and that B took the FILE type from BCPL. I heard that BCPL was based on Multics. I wonder if Multics had a FILE type. What about before Multics?
This StackOverflow page suggests that originally FILE was a macro, and that macros and typedefs typically are named in all capital letters.
I hope everyone gets the servers they want!
Tom, Tom, Tom first thank you for the kind words in my thread they mean alot to me. I am glad this project has been such a success for you man!!! You work hard and deserve the best.
Free Hosting at YetiNode | MicroNode| Cryptid Security | URL Shortener | LaunchVPS | ExtraVM | Host-C | In the Node, or Out of the Loop?
I guess
make includes
needs to be run in/usr/src/lib
(not just/usr/src/lib/libc
), maybe even as root as it tries to install the headers as well:I'll let you try as root and continue.
Oops! This post was on the wrong thread. Moved the content that was here to https://lowendspirit.com/discussion/comment/216638/#Comment_216638
I hope everyone gets the servers they want!
@cmeerw Thanks for the hint! Running
make includes
in/use/src/lib
seemed to work!I hope everyone gets the servers they want!
Although, not sure if that actually helped. I guess we'd need to get the new
stdio.h
installed into/usr/include
, but that didn't do that yet. Maybe also runmake includes
in/usr/src/include
?Now trying
make -j4
followed bymake install
in each of:Bang!! Didn't get far!
I hope everyone gets the servers they want!
One moment, please. . . .
I hope everyone gets the servers they want!
Seemed to work.
Now back to
make -j 4 install
in each ofI hope everyone gets the servers they want!
@cmeerw Why
install: libc.so.101.0: No such file or directory
?I hope everyone gets the servers they want!
Maybe you need to do a
make
first before you do themake install
?I see that, previously installed, we have
and we are expecting libc.so.101.0.
I don't understand why libc.so.101.0 isn't waiting in /usr/src/lib/obj.
We still have
I hope everyone gets the servers they want!
I thought that
make install
always did themake
part first, before installing, and that the only reason to runmake
alone, first, was if you wanted to look through the output of themake
before installing. Maybe my assumption is wrong. Let's see what happens if I just runmake
and thenmake install
.Thanks for your continuing helpful hints!
I will go try
make
by itself, first, thenmake install
.I hope everyone gets the servers they want!
@cmeerw Yes! It worked to do
make
by itself, first, thenmake install
.Next up are
make
followed bymake install
inI hope everyone gets the servers they want!
Now it looks maybe like I can go back to our plan, posted above, and try building a new kernel. Maybe first as ucvsu and then as root if the unprivileged build doesn't work.
Thanks for all the help @cmeerw!
Thanks to @Hosteroid for our wonderful community server.
Anybody else want to come aboard? 
I hope everyone gets the servers they want!
Whether
make install
includes a compile step (e.g., plainmake
) seems to depend on the makefiles.On hlcs, with OpenBSD-current, in
/usr/src/lib/libc
we haveThese two files include quite a few additional files, one of which is
/usr/share/mk/bsd.lib.mk
, where we can see theinstall
target defined:Nowhere within the install chain is there a build step or a reference to
all
. Therefore, no compile takes place withmake install
.I hear that it's typical in the BSD world to define the install target without building, whereas in the GNU/Linux world, it's common to see the
install
step including theall
step.So, if I am understanding the makefiles correctly, they explain why running
make install
on hlcs didn't include a build and whymake install
on Linux systems frequently does include a build (because, unlike BSD,all
or another build target frequently is included in the Linux makefiles' definition ofinstall
).I hope everyone gets the servers they want!
Inside tmux:
I might go to sleep before the build completes or fails.
@cmeerw If you want to or need to, please feel free to hop inside the tmux session and do the needful. 
Thanks to @Hosteroid for our nice Community server!
Anybody else want to join @cmeerw and me? Please read "How To Apply" in the OP. 
I hope everyone gets the servers they want!
Good morning! Looks like the build completed successfully.
More after breakfast. . . .
I hope everyone gets the servers they want!