-
deever
after i have changed a *.c file under /usr/src, how can I just rebuild and update/install the needed stuff? is there a generic solution to this? a buildworld would rebuild everything...
-
lw
deever: depends on which file you changed. if it's something in usr.bin/ for example you can just run 'make install' in the binary's directory. if it's a library or kernel change, you probably want to buildworld/buildkernel. if you're editing the source often, consider using make's meta mode to improve build times
-
lw
(meta mode enables incremental buildworld without needing NO_CLEAN, which causes problems)
-
jbo
@#$%*!@#%@#&$!@$!$!#$!#$%*(&!($
-
jbo
libc++ in base is... FML
-
lw
jbo: having fun? :-)
-
jbo
lw, I think I suck hard
-
jbo
-
jbo
lw, does that compile with base clang++ for you?
-
jbo
(I'm on stable/14, so llvm 17.0.6)
-
lw
jbo: works fine with "FreeBSD clang version 16.0.6" (releng/14.0) and "FreeBSD clang version 17.0.6" (main), as long as -std=c++20 is provided
-
jbo
I must be heavily retarded then
-
jbo
I encountered another (real) libc++ bug ealier (no kidding, can show later)
-
jbo
lw, I need some serious help.
-
lw
jbo: fwiw you can just write 'return m_payload' because span has an implicit constructor from a contiguous container
-
jbo
lw, yeah but I don't want the full range
-
lw
ah right
-
jbo
lw, wanna have some look at my "real" code?
-
lw
sure
-
jbo
lw, help
-
jbo
-
jbo
L200
-
lw
jbo: make return type std::span<std::uint8_t const> because m_payload is const in that function
-
jbo
omfg
-
jbo
afk jumping out the window
-
deever
lw: thank you!
-
jbo
lw...
-
jbo
fucking hell, I have been staring at this for almost an hour
-
jbo
thank you... (obviously)
-
jbo
lw, I do have another one for you, if you feel like it...
-
tm512
anyone here using pkgbase for keeping a STABLE branch system updated? I saw one caveat mentioned about how it can break the system if a package gets split
-
lw
jbo: i am always up for questions about strange C++ issues
-
tm512
I'm a bit confused about why a metapackage isn't being used that specifies all other base system packages as a dependency
-
tm512
so that if a package gets split the new package will automatically get picked up
-
lw
tm512: probably because then you couldn't remove the individual packages, which is part of the reason to use pkgbase. but this is a problem, yes
-
jbo
lw, it's not as much of a strange issue as it is lack of understanding (and skill) on my end. I am trying to work with static std::span and I am failing hard.
-
jbo
-
lw
tm512: probably pkg needs a way to understand that if a new package is split out of an existing package, it should offer to auto install the new package. this would help ports, too (with subpackages)
-
jbo
lw, as per my understaind of std::span::subspan, it shouldn't use std::dynamic_extend if I specify the Count in my call to subspan()
-
tm512
lw: is there a specific mailing list to track that would give advance warning about this? I guess I could also get in the habit of snapshotting the system and using it as a fallback boot environment, should things go awry. good idea regardless of whether I use pkgbase or not
-
jbo
lw, don't even dare to bring up L52:L53 - it's an illustrative example :p
-
lw
jbo: you're using the wrong overload of subspan() in make() which is returning a span with std::dynamic_extent, which is (std::size_t)-1, which trips your assert. do this instead: return make(msg_id, data.template subspan<sizeof(msg_id), (NumBytes - sizeof(msg_id))>());
-
lw
-
VimDiesel
Title: std::span<T,Extent>::subspan - cppreference.com
-
jbo
wtf
-
jbo
how did you figure that one out so quickly? do I truly suck so hard at reading the reference manual?
-
lw
the clue is in the error message: test.cc:32:27: error: static assertion failed due to requirement '18446744073709551615UL <= message::max_payload': payload does not fit into message
-
lw
and i happen to work with std::span a lot and know that std::dynamic_extent is (std::size_t)-1 which led me to the cause fairly quickly
-
jbo
the sad things is that I know that too and that I realized that that is what is happening
-
jbo
I just failed at figuring out why :(
-
lw
tm512: i would assume that freebsd-pkgbase@ has announcements about this, but i only recently subscribed, so i can't say for sure
-
lw
tm512: this might be worth bringing up on that list in case there's a better solution than on the wiki, the wiki can be out of date sometimes
-
lw
jbo: btw, you might consider adding something like 'requires (PayloadSize != std::dynamic_extent)' in appropriate places to catch issues like this earlier :-)
-
jbo
lw, that is a very good proposal - I like it!
-
V_PauAmma_V
-
VimDiesel
Title: freebsd-pkgbase⊙Fo
-
jbo
lw, now that I look at this after you pointed it out it is so painfully obvious.
-
lw
jbo: in return will you quickly review my new port before i submit it? :-) no need to build it, just have a quick look at the makefile
-
jbo
lw, gladly. I certainly owe you at least a commit now :p
-
lw
-
jbo
lw, I am quite new to the ports committer game as you know so... take everything I say with a big grain of salt.
-
jbo
lw, I wonder whether PORTNAME=prometheus-postgres-exported is the more fitting name (after a quick look at existing ports)
-
jbo
hmm, looks like where that is the case upstream was decent enough to name it as such tho
-
lw
hmm, there's net-mgmt/prometheus-collectd-exporter and dns/prometheus-dnssec-exporter but most of the rest are just called foo_exporter... but i actually prefer the prometheus-foo-exporter name. i wonder if there's policy on this
-
lw
there's also nfs-exporter and nginx-prometheus-exporter so apparently not :-)
-
lw
(also there's both php-fpm_exporter and phpfpm_exporter? apparently these are actually two different ports that do the same thing...)
-
jbo
given that upstream is prometheus-community I wonder whether naming it prometheus- would indeed be "reasonable"
-
jbo
I'm a sucker for naming stuff. but I don't know whether we have any "real" guidelines on this that would apply without argument here
-
lw
yeah... that is not consistent with existing prometheus-community ports but i might try submitting it under that name and see if anyone objects
-
jbo
lw, did you check whether upstream has some "special" requirements regarding go:modules,<version> ?
-
lw
how would i know? the upstream go.mod says "go 1.19", i guess that means 1.19 or later?
github.com/prometheus-community/postgres_exporter/blob/master/go.mod
-
VimDiesel
Title: postgres_exporter/go.mod at master · prometheus-community/postgres_exporter · GitHub
-
lw
(which seems to be the oldest version in ports...)
-
jbo
that seems reasonable
-
jbo
lw, that port seems quite high-quality from what I can tell. nice work!
-
lw
i don't know anything about go, this is my first time packaging a go project so i mostly just copied net-mgmt/blackbox_exporter
-
jbo
lw, can't speak much for GO_TARGET tho. also, I'm far from an expert. but this looks quite "polished"
-
lw
jbo: ty! will open a bug and see what happens then
-
jbo
lw, I'll pick it up. drop the PR.
-
jbo
(if you don't mind the mentor review time...)
-
lw
are you sure? i think you might have regretted offering to do that last time :-D
-
jbo
not at all! happy to help where I can. I just have to follow the usual proccedure. Also, this time around I assume (expect) you have done poudriere-testport on 13.2-RELEASE and 14.0-RELEASE :D
-
lw
-
VimDiesel
Title: 276996 – [NEW PORT] databases/postgres_exporter: PostgreSQL metric exporter for Prometheus
-
lw
oh, i didn't change the name in the end. but maybe i'll mention that in a comment
-
jbo
I'll check with somebody more authoritive than me before I submit the review.
-
jbo
lw, so the libc++ bug I ran into earlier is this: template<std::pair<int, int> P> auto foo() { return P.first + P.second; }
-
jbo
-
VimDiesel
Title: 97930 – pair is not a structural type
-
lw
wait, libc++ or libstdc++?
-
jbo
which ever is the clang one - and the gcc one had the same issue :p
-
jbo
(according to that PR at least)
-
lw
ah right
-
jbo
libc++ is llvm AFAIK
-
lw
yeah
-
jbo
but my brain is totally fried after this stuff you just helped me out with
-
lw
no, i was just confused because you linked to a gcc bug, but you mean gcc had the same issue... i guess they both implemented it in the same way
-
lw
although actually no, libc++'s span doesn't have a base class
-
jbo
yeah, the "shockingly" comment was not very telling sorry
-
lw
oh wait this is pair not span
-
jbo
yep
-
jbo
lw, I put wondering whether I should open a base PR regarding this on the ToDo list for tomorrow
-
lw
yeah... struct _LIBCPP_TEMPLATE_VIS pair : private __non_trivially_copyable_base<_T1, _T2>
-
lw
jbo: if it's libc++, better to open an upstream issue then open a src PR asking to merge the fix
-
jbo
that is reasonable
-
jbo
lw, do you feel like answering a basic C++ question that I should probably know?
-
lw
always
-
lw
i often don't know what i'm talking about though, perhaps don't trust my answers
-
jbo
lw, how come the compiler cannot deduct N automagically in this case?
coliru.stacked-crooked.com/a/8577611f2fbb4012
-
lw
good question: template< class U, std::size_t N > constexpr span( std::array<U, N>& arr ) noexcept;
-
lw
foo(std::span(a)) does work as i guess you already noticed.. i'm not sure why it can't find the appropriate ctor automatically. #c++ might know
-
jbo
I was playing with the thought of asking SO but I am not yet mentally ready for the abusive comments :D
-
lw
jbo: if you're on discord, there's a discord server called "#include<C++>" which has several people very familiar with the technical details of C++, including a few WG21 members... i'd ask there, they are quite friendly
-
jbo
lw, I probably will, thanks!
-
lw
-
VimDiesel
Title: #include <C++> - #include <C++>
-
jbo
lw, anyway, I was wondering if I have to write some deduction guide or whatever. but first wanted to understand why it doesn't "just work"
-
jbo
> #include <C++> is a global, inclusive, and diverse community [...]
-
jbo
jesus christ...
-
lw
i don't think CTAD is allowed for a function?
-
jbo
why on earth would it NOT be inclusive and diverse by default?
-
lw
jbo: have you used the internet before?
-
jbo
yes?
-
lw
what's going on here pkg: manifest parsing error: error while parsing <unknown>: line: 1, column: 0 - 'key must begin with a letter', character: '0x00'
-
lw
uh, this is probably not right "/builds/obj/builds/src/freebsd/src/lf/amd64.amd64/worldstage/libcasper-dev.ucl" may be a binary file. See it anyway?
-
lw
this is what happens when you use UFS (??)
-
jbo
dunno
-
jbo
only used UFS once
-
lw
actually all of this is on zfs so that doesn't explain it. hrm.
-
jbo
lw, I really can't believe this...
-
jbo
lw, I was sitting all night at the office trying to figure these two problems out.
-
jbo
next time I'll just bug you immediately :p
-
jbo
lw, have you done coroutine shenanigans yet?
-
lw
jbo: a little bit, yes. i wrote a coro-based kqueue wrapper for netd so you can do things like co_await read(...)
-
jbo
lw, I have to write a communication manager for CAN bus stuff. it's a request/response based protocol over CAN so I feel like I should take coroutines for a spin.
-
lw
jbo: that seems like a reasonable idea
-
lw
-
VimDiesel
Title: netd/src/netd.async/netd.async-kq.ccm at main · llfw/netd · GitHub
-
jbo
std::expected <3
-
lw
where it gets more complicated (and i haven't addressed this here yet) is if you need to wait for multiple tasks, or make tasks cancellable
-
jbo
lw, yep. I need to be able to have timeouts. I did look into that briefly yesterday but didn't find a neat solution yet.
-
lw
Mem: 532K Active, 352M Inact, 50M Laundry, 30G Wired, 113K Buf, 787M Free
-
lw
532K active? that seems... low
-
tm512
if I opt to upgrade STABLE the old-fashioned way, I'm wondering how much time a from-scratch build would take on this laptop, has a 2-core/4-thread i3-10110U
-
tm512
I seem to recall building STABLE from source on my old i3-3225 was tolerable back in the 10/11 days
-
lw
tm512: a long, long time, most of which will be spent building llvm. as a wild uninformed guess, 6-12 hours
-
tm512
with ccache and/or not running make clean before each build, am I still going to be waiting for LLVM to build most of the time?
-
lw
ccache and meta mode helps a lot (especially meta mode), but at least on main it does want to rebuild llvm quite often. maybe less so on stable
-
tm512
I guess LLVM has gotten incredibly bloated since the last time I was using FreeBSD. sounds substantially worse than even GCC
-
tm512
I've got Dragonfly on my home server which requires building from source for any upgrade (even between stable releases), and even on my home server with its Atom D525, the build only takes like 8hr I think
-
tm512
like if I start it at night it should be done by morning
-
lw
reminds me of building netbsd on m68k. i guess not much has changed since then :-)
-
lw
it would be nice if you could use an out-of-tree llvm for building src, so you could just use a package
-
lw
maybe there is a way to do this
-
tm512
huh, ran into this weird issue, wifibox seems to be blocking incoming ssh connections
-
tm512
also can't seem to use wpa_cli on the host even though wifibox appears to be forwarding the wpa_supplicant control sockets. instead, socat just seems to enter some kind of busy loop where I have to restart the wifibox guest in order to get it to stop
-
tm512
great, getting the "fault errors on pipe A" spam in my dmesg again
-
jedelava
ls
-
tm512
went back to drm-515-kmod to check whether the bug with VT switching breaking acceleration was also identical there, and it seemed like the fault errors weren't happening anymore, but I guess that didn't last
-
tm512
back to 510 :/
-
tm512
wish I could try out the 6.1 drivers, but it sounds like some LinuxKPI stuff has to be merged back from main into stable/14 before those will build
-
tm512
I guess I could set up a 15-CURRENT boot environment, give things a spin, hrm
-
lw
"Normally, the kdc.conf file is found in the KDC state directory, /usr/local/var/krb5kdc." - /usr/local/var? really?
-
SponiX
Are there any main Drawbacks to running FreeBSD as your Desktop OS when compared with Linux?
-
lw
SponiX: worse hardware support, worse application support
-
lw
although on the second point, linux emulation can help, really depends on the application
-
tm512
SponiX: if you run into stuff you have to compile yourself, expect some annoyances there on occasion
-
tm512
gaming in particular seems to be one area where Linux excels especially now with proton being integrated into steam, which from what I read, seems like that's still a bit rough under the Linuxulator. all of the results I saw were talking about Linux-native games iirc
-
tm512
with this most recent FreeBSD setup I've made, I just don't plan on doing much beyond some emulators and maybe classic Doom which is about all I expect this laptop's iGPU to be able to handle anyway, so it's less of a factor
-
lw
i've been using freebsd on my desktop for about 3 months, but most of what i use it for is... developing freebsd, administrating other machines on the network which also run freebsd, and listening to music... so... that's probably not a very representitive sample. i have been meaning to try some games when i have spare minute though
-
tm512
I went Linux-free between like spring 2015 and late 2017, with FreeBSD on my desktop and OpenBSD on my laptop, and tbh I probably won't be doing that again
-
tm512
Linux is just about as convenient as computing gets without resorting to proprietary OSes
-
tm512
still love me some BSD though, and I keep coming back to it when I have an excuse to use it, lol
-
debdrup
I've been doing FreeBSD on the desktop since 2000, but with the caveat that 1) I don't do a whole lot of gaming, and 2) when I do, I treat Windows like an appliance OS.
-
vkarlsen
Last time I gamed was with OpenRA. It was not a great experience, but I'm not blaming that on the game nor the OS
-
tm512
I do pretty much all of my gaming on Linux. haven't run Windows, even as an "appliance OS", since 2010. though I don't play a whole lot of PC games, even though that's more than viable on Linux nowadays
-
debdrup
I play too many games that'd either need an extra layer of emulation of some sort, and while I'm sure wine works great for some games, there's a _lot_ it doesn't work well for.
-
debdrup
If developers en-mass eventually target something other than Windows, I might consider another appliance OS - but Linux would just become it, if it's Linux they're targeting. I can't be arsed to have to admin either Linux or Windows more than absolutely necessary.
-
debdrup
Linux would just become another appliance OS to me*
-
debdrup
I've had too many times in production resulting in me running Linux in anger, to ever consider it anything other than minimal-effort.
-
tm512
in the last few years Wine has progressed significantly. Valve's Steam Deck is based on Linux, and they obviously want as many games as possible to run on it, so they've put a lot of development into Wine
-
tm512
seems like more than half of the titles on Steam are either officially verified or reported as playable by users
-
tm512
already wasn't inclined on installing Windows even just exclusively to play games but now there's even less reason to consider it
-
tm512
also generally not a fan of dual-booting, so Linux is just the obvious choice for desktop use for me. at the end of the day, the differences between Linux and the BSDs are way more subtle than the differences between Windows or Mac vs *nix, my workflows mostly translate over
-
tm512
doesn't make a huge difference what's running under the hood
-
paulf
windows for the occasional use of Word or MS Visual Studio
-
paulf
Linux for software testing but VirtualBox and access to the GCC server farm also covers a lot
-
paulf
mac for listening to music, some youtube and web browsing
-
paulf
rpi playing around for the moment
-
paulf
and FreeBSD for most development stuff at home
-
Nixkernal
and z/OS for bookkeeping?
-
Nixkernal
9front for pipes and vpn ;)
-
Nixkernal
Andoid for gaming ;(
-
paulf
not quite
-
Nixkernal
ArcaOS?
-
Bheam
do i need to compile my own kernel if i want to add my own boot splash these days?
-
Bheam
i know i got a reply to look at splash(4) :p but it doesn't work
-
debdrup
By boot splash, what do you refer to specifically?
-
Nixkernal
-
VimDiesel
Title: splash(4)
-
Bheam
an image to hider the entire boot process
-
Bheam
basically when i try to change to the old terminal/tty boot just hangs
-
Nixkernal
-
VimDiesel
Title: FreeBSD Desktop – Part 1 – Simplified Boot | 𝚟𝚎𝚛𝚖𝚊𝚍𝚎𝚗
-
debdrup
Nixkernal: that's.. not at all helpful.
-
debdrup
splash(4) is for screensavers at runtime, whereas the loader has its own thing going on (with files in /boot/), and the FreeBSD orb that's presented when the kernel initialization messages are muted requires kernel recompilation if memory serves.
-
debdrup
I believe the default is /boot/logo-orbbw.4th for the loader, and I'm trying to remember which source is responsible for the muted logo.
-
debdrup
Anyway, you can try adding boot_mute="YES" to loader.conf(5) to see if that's what you want, then we can figure out which file it is after that.
-
debdrup
If splash(4) doesn't work as in it doesn't present a screensaver when configuured properly, that's a separate issue that should be reported on
bugs.freebsd.org
-
VimDiesel
Title: FreeBSD Bugzilla Main Page
-
debdrup
The boot process on x86-like systems consist of a whole bunch of things, and there's only so much that FreeBSD has control over.
-
mahk
-
mahk
hi, when i want to open FreeBSD-14.0-RELEASE-riscv-riscv64.qcow2 with qemu, it doesn't resume like that ^
-
mahk
-
VimDiesel
Title: View paste UYEQ
-
mahk
i run with this parameters
-
mahk
any idea, any wrong with my parameters or env?
-
jbo
aaah yes, the good old: "The complexity of an attempted match against a regular expression exceeded a pre-set level."
-
Nixkernal
Since you guy having problems RTFM -> splash -> In order to load the splash screen or the screen saver,
-
Nixkernal
debdrup: That's the bootscreen your talking about, a splashscreen is like the spinning wheel on windows or the apple on mac's
-
Nixkernal
You can see it in vermadens post
-
debdrup
Ooo neat, christos@ is doing some work on mixer(8) and snd_uaudio(4).
-
rtprio
Mounting from ufs:/dev/vtbd0p2 failed with error 2: unknown file system.
-
rtprio
does that mean my kernel doesn't support ufs?
-
lw
rtprio: or that you need to load ufs.ko
-
rtprio
ah nuts
-
lw
at i think that's right, i got this error yesterday as it happens but i don't recall the exact message
-
rtprio
ufs_load="YES" was just the thing
-
kevans
yeah, clear sign you're missing `options FFS` (and probably related goodies) and haven't loaded the kmod
-
rtprio
switching to MINIMAL kernel; 8mb vs 28mb
-
rtprio
trick is i just have to find all i need in loader.conf first
-
lw
fwiw, on bhyve i load virtio, virtio_pci, if_vtnet (these are in MINIMAL anyway, but i remove them from mine), efirt, nvme, ufs, and sysvmsg/sysvsem/sysvshm if running postgres
-
rtprio
yeah, i just need to add that to my template when switching to the minimal kernel
-
lw
has anyone had an issue with freebsd's libgss where it ignores $KRB5CCNAME when loading the kerberos ticket?
-
skered
During daily periodic... lockf: /var/run/periodic.daily.lock: already locked
-
skered
It tried to run twice?
-
skered
Or the lock file was never cleaned up?