<acrow>It might be a thought to use sysrq to remount all your drives ro and then attempt to increase the number of inodes on the full drive. <acrow>then reconfigure to get things back to normal. <acrow>I think the problem may be that the filesystem may have depleted all it's inodes. <acrow>Looking further and assuming your problem is with /boot; I think you can just blow it away, rebuild the filesystem with extra inodes and then look to using guix system reconfigure to put things back to normal after remounting the pertinent filesystems. I don't think you need /boot for any normal operations, just don't panic things during your brain surgery. <podiki[m]>...so I'm at a grub rescue. what I did that I thought was reasonable: made the /boot/efi partition mount to /boot (copying everything over), change the system config file-system to reflect the change, did a reconfigure. it seemed okay, only complaining about restarting the file mounts. tried a few different ways but that still happened, so i chanced a reboot <podiki[m]>not sure what the problem is: there is a /boot partition now with efi and grub, it is a fat32 partition. <podiki[m]>grub shows two gpt parititions, "Filesystem is unknown" for both of them. I guess I need a live usb to check the filesystems <efraim>sneek: later tell vagrantc: apt-cache rdepends guile-gnutls doesn't show anything other than debug symbols, should/could it be changed from guile-2.2 to 3.0 instead of trying to handle both? <efraim>sneek: later tell vagrantc I checked on riscv64, on amd64 it shows guix (of course) <efraim>sneek: sorry for the double message, here's a botsnack <ryanprior[m]>I discovered today that the visidata package crashes on start-up if you don't have glibc-utf8-locales installed. Should I add that as a propagated-input? <sneek>Welcome back ryanprior[m], you have 1 message! <sneek>ryanprior[m], bricewge says: I don't understand why `network-manager` don't have a `native-search-paths` for `NM_VPN_PLUGIN_DIR`. I guess using `networking-manager-service-type` together with with a user profile installed `network-manager` would overwrite `NM_VPN_PLUGIN_DIR`'s value form the service and could confuse users, thinking `network-manager` don't work even tho they “installed it everywhere” (in the system and the user profile). Mo <ryanprior[m]>bricewge: I tried wrapping my protonvpn-cli package to set NM_VPN_PLUGIN_DIR which helps it find the plugin file, but the plugin definition file and the library aren't in the same directory. <ryanprior[m]>bricewge: on Debian and similar, the plugin library gets installed into the same directory as the libnm library, which makes it work. <efraim>ryanprior[m]: I wasn't able to reproduce it with `guix environment --pure --ad-hoc visidata -- visidata` <ryanprior[m]>efraim: I tried to reproduce it using: guix environment -C --preserve=TERM --ad-hoc visidata -- vd <ryanprior[m]>This works though whether my profile has glibc-utf8-locales in it or not <ryanprior[m]>But just running `vd` without glibc-utf8-locales in my profile crashes, then I can add it to my profile and it works <ryanprior[m]>Then I can roll back my profile and it stops working again. <podiki[m]>any ideas on my boot problem? grub doesn't recognize the filesystems (one fat32 with boot, another ext4 with /). I ran a check on the boot partition, looks find, flagged with boot and esp <acrow>podiki: When your system tries to boot it cannot access that /boot/efi partition that you mounted on /boot. You will need to copy the contents of /boot/efi/grub over to the straight /boot partition for grub to get things going. <acrow>podiki: compare the content of /boot/efi to the mounted version. I expect you will see that the version you had mounted has been setup correctly but that the changes did not make it onto the shadowed (but bootable) filesystem. <acrow>IIRC you are looking for grub.{menu,lst}. Something like that with the pointers to the good kernel and friends. <podiki[m]>still no luck, /boot/EFi/Guix/.. exists, as does the whole /boot/grub stuff. but grub doesn't understand any filesystem <podiki[m]>is running a grub-install from some live usb (not guix) a bad idea? or can I use the guix install image to run grub-install properly? <mwinm32>Hi, someone knows what is the current state of the icecat package? <podiki[m]>I made it back from my boot problems. moral of the story: learn the basics of grub. <podiki[m]>(had to make sure there was /boot/efi/guix/ and then grub doesn't want to read the ext4 with large_dir so need linux and initrd images in /boot) <sabasedigh>podiki[m] what was your problem with bootloader. I am install guix too <podiki[m]>just don't enable large_dir on ext4 (it is not by default, I had just enabled it today) <kittyblam>Yo, anyone get Zathura+(zathura-pdf-poppler/zathura-pdf-mupdf) to work with loading pdfs? when I attempt it it throws out <kittyblam>`error: could not open plugin directory: /gnu/store/`[...]`/lib/zathura` <sabasedigh>Do we have extra repository for guix. my system isn't powerful to build from source. <sabasedigh>I see guix is like gentoo; it build from the source <sabasedigh>MysteriousSilver; what do you mean by Substitutes? <boogerlad[m]>what's the benefit of using rde's guix home vs keeping ~ under version control? <sabasedigh>what does happen if I want to install un-libre packages on guix linux. like say ....idn something not totaly gnu <MysteriousSilver>"what does happen if I want to" guix, complying with fsdg, doesnt distribute such packages, so you're on your own <MysteriousSilver>but it is recommeded that you understand why such packages are not-distributed and switch to free/libre alternatives <ss2>I've beein trying to build guix from source, but the tests never pass. <ss2>I've cloned a clean repo, but it fails there too. <ss2>I hadn't been checking out for some time, so I may have missed something. <ss2>alright, greping through the logs I can often find this error: home/ss2/code/guix/test-tmp/store/9m9mjdz3zl28n1dq094aqsxk5d480mvg-bash: 9m9mjdz3zl28n1dq094aqsxk5d480mvg-bash: No such file or directory <ss2>but that file is there. <NicholasvonKlitz>Has anyone been able to get FIDO2 or Webauthn security keys to work on Guix (solokey, yubikey, etc.)? <NicholasvonKlitz>I tried icecat, gnome web, and firefox dev, and none of them seem to detect my solokey <apapsch>NicholasvonKlitz: not me, but what does dmesg tell you when you plug the device in? <bricewge>Nicholas von Klitzing: Yes, yubikey are working fine for me in Guix even in IceCat <bricewge>I have this snippet in my `operating-system`: `(udev-rules-service 'u2f libu2f-host #:groups '("plugdev"))))` ***chexum_ is now known as chexum
<NicholasvonKlitz>I'll try adding that as well. Where is it documented that you need to add that snippet for security keys to work on guix? <apapsch>NicholasvonKlitz: yes, try bricewge advice, currently only a very generic driver is in use <bricewge>It's not documented, but maybe it should go into the cookbook? <bricewge>Since it's a generic Linux config to have that package's udev rules available for udev <bricewge>Hum, actually `ibu2f-host` is deprecated we should migrate to `libfido2` instead <bricewge>If it works for you, then you could try adding it to the cookbook <bricewge>Nice! It would be a pleasure to review your patch <fnstudio>hi i added an emacs package on the fly with "guix environment --ad-hoc <package-name> -- emacs" and then i tried to load the package from within emacs with "(require ...)" but it says package not found <fnstudio>i suppose it may be a problem with the load path <fnstudio>i was wondering if there were any particular step that doesn't happen with guix environment which instead is done when using guix install? <bricewge>fnstudio: Add emacs as an ad-hoc package to your environment <bricewge>That's a known bug that `native-search-path` is restricted per profile <fnstudio>bricewge: ah! interesting, thanks so much! <bricewge>I find it particularly enjoying in regard to man pages, since you need `man-db` for `man` to find man pages from packages in the environment <cwebber>I'm guessing it's not doing a "full" build of things? <efraim>No, it's using all the vendored dependencies <efraim>It also logs somewhere the location of bash and uses that for git hooks which causes all sorts of trouble after a guix gc <cwebber>efraim: gotcha, thanks for clarifying <cwebber>efraim: I'm still in search of that nice self-hosting forge setup :) <cwebber>I suppose curiass already provides the CI component I might want <attila_lendvai>ci.guix.gnu.org seems to be lagging. who is running it? is there a way to support its extension? or even better, to run something on my server that supports the download? hrm... maybe a Swarm backend for guix to use as storage? sounds like a fun project... https://www.ethswarm.org/ <podiki[m]>Nicholas von Klitzing my yubikey works without that line <apapsch>example operating-system config with nginx frontend is in ../system/grafana.scm (and prometheus.scm) <roptat>again, it's not really a "forge", more like cgit with a nice css :p <Noisytoot>cwebber, sourcehut would probably be easier to package in Guix than some other forges (as it doesn't have a lot of JavaScript). I have packaged some of the dependencies <podiki[m]>continuing my "grub doesn't support ext4 features from years ago" saga...anyone have an example or point out right direction for modifying bootloader to copy everything to /boot? <podiki[m]>it'll need to be self-contained (bzimage and initrd most importantly, ideally still supporting rollbacks) <podiki[m]>i'm really annoyed at grub, maybe i'll just backup all the data, reformat and put it back (without large_dir flag). ugh <cwebber>Noisytoot: yeah I think efraim pointed out that the main challenges is getting all the services configured and interacting <Noisytoot>IceCat puts "@" in weird places because of the RTL text <Noisytoot>since, then once (node-once) has also been packaged <podiki[m]>what is /gnu/store/.links used for exactly? (that is what I had hitting too many files) <jackhill>podiki[m]: not to be that person, but have you considered btrfs :) <jackhill>I am interested in an easy way to copy the kernel and initramfs over to /boot from the store. I could see that being very useful in some situations. <podiki[m]>jackhill: I'm wondering what to do, my options: convert to btrfs (and re grub install somehow), modify bootloader to use /boot self-contained, or reformat ext4 without large_dir <attila_lendvai>i'm trying to use cmake-build-system. if i guix search cmake, it says version 3.21.1. if i do a guix environment cmake, then cmake --version says 3.16.5. it's the same if i try guix environment cmake@3.21.1 ?! what am i missing? <muradm>attila_lendvai: try guix environment --ad-hoc cmake <podiki[m]>attila_lendvai: I think the build system uses an older version, but you can override (let me find) <attila_lendvai>c2ffi, the project i'm trying to package, needs cmake v3.17. my ultimate goal is to specify the cmake version in the package <jackhill>podiki[m]: maybe someone more versed in ext4 will come along, but I'm a btrfs user and have been happy. I haven't thought about the steps needed to convert an existing system though <muradm>attila_lendvai: there is a difference between "guix environment cmake" and "guix environment --ad-hoc cmake" <muradm>former creates environment from inputs of cmake, later creates environment with cmake as input *attila_lendvai heads to read the docs on --ad-hoc <muradm>obviously newer cmake required older cmake to build <attila_lendvai>muradm, ooooh, i see! thanks! --ad-hoc is a rather non-intuitive name for this... <attila_lendvai>jackhill, i'd appreciate any pointers for that! i tried to grep the guix packages for an example, but couldn't find any <podiki[m]>you can specify the version of cmake used when you do cmake-build-version too <jackhill>attila_lendvai: for converting from ext4 to btrfs? <podiki[m]>jackhill: I know there is a btrfs conversion program, the trickier part will be bootstraping grub (I assume it is not hard, just not sure the exact command off the top of my head) <muradm>attila_lendvai: normally i use "guix environment ..." when i don't want packages to be in my system and/or profiles, like for one time use. for more permanent use, system packages go to (operating-system ...), profile specific goes to profile, and for each project i may have separate profile with list of packages <attila_lendvai>podiki[m], i'd appreciate any hints what to search for to see an example of specifying cmake version for the cmake-build-system <podiki[m]>attila_lendvai: not finding the line right now (someone here told me), but maybe just as an input with version specified? let me see if I can find it <podiki[m]>wow, my /gnu/store/.links already has nearly 10M files (just a couple week old guixsd) <muradm>attila_lendvai: you can grep guix source for packages that was built with cmake-build <podiki[m]>attila_lendvai: (arguments `(#:cmake ,cmake)) that's how you can specify a version <podiki[m]>i.e. cmake-build-system has an argument cmake to specify a cmake <admason1413>anyone know how to escape square brackets when specifying a regex while using substitute*? I am getting compilation issues whenever I try backslash to escape them. <podiki[m]>because guile string needs the \ escaped? i forget, but try <attila_lendvai>now, i need libllvm (ld: cannot find -lLLVM). i was already looking for it, but didn't find anything... any hints? is it packaged at all? <attila_lendvai>i assume ideally it would be an llvm:libllvm output of the llvm package, no? <muradm>attila_lendvai: clang-toolchain maybe <podiki[m]>sorry. \ is what I had to use for some escaping <Noisytoot>roptat, What Guix package provides (syntax-highlight css)? <attila_lendvai>muradm, i tried both clang-toolchain and clang-runtime, but neither seems to have -lLLVM. i need to go now, i'll continue later... thanks for all the help! <muradm>attila_lendvai: guix package --list-available=llvm <attila_lendvai>although... ld -lLLVM would also be happy with an LLVM.a, i guess. <admason1413>podiki[m] you were right that I needed double \. It just looked like it wasn't working due to unrelated error. Thank you for your help! <podiki[m]>does anyone else hit max files in /gnu/store/.links? what's btrfs limit in a directory? (ext4 is ~10M) <muradm>attila_lendvai: i would suggest to use cmake-build-system and add llvm as input, llvm includes cmake macros <dstolfa>podiki[m]: you ran out of inodes? btrfs doesn't have an inode limit <muradm>that you may use to configure cmake with llvm i suppose <roptat>Noisytoot, --with-latest=guile-syntax-highlight :) <muradm>are you adding -lLLVM directly? or asking cmake to find dependencies <attila_lendvai>muradm, it's part of the project's CMakeLists.txt: target_link_libraries(c2ffi PUBLIC clang-cpp LLVM) note that clang-cpp is found, and is replaced in the link command to a path in the store *attila_lendvai really needs to go <podiki[m]>hrmm....has anyone here converted their guix system filesystem (ext4 to btrfs)? <dstolfa>the filesystem conversion should be the same as on any distro, it's just that you would need to modify your config.scm and change the file system type <podiki[m]>so what's the order of operations? from a live distro convert filesystem, then? I'm guessing need to modify grub and manually the /etc/fstab to boot, then reconfigure with new settings? <podiki[m]>thanks. but chrooting into a guixsd seems to be hit or miss (I mostly did it yesterday but couldn't do a system reconfigure) <podiki[m]>the fs conversion is easy, but not sure about the grub and initrd steps on guix <podiki[m]>ugh. maybe I'll just backup everything and reformat the ext4, but worried I'm already hitting the 10M file limit in /gnu/store/.links <dstolfa>podiki[m]: any chance you could `guix gc` just to work around it for now while you do backups? <podiki[m]>yeah I did, still at 9.6M. probably need to delete older generations and such (still a new system, I'm surprised) <podiki[m]>well I did enable large_dir so it is no problem now, just that grub doesn't support 4 year old ext4 options <podiki[m]>and I don't know enough about modifying the bootloader config to have a self contained /boot <podiki[m]>8.6M....okay, will make a full system snapshot and then figure out what to do (probably ext4 again and if max files comes up again go btrfs).... <dstolfa>podiki[m]: you could probably do ZFS as well if you don't mind running LTS and compiling ZFS yourself. i like btrfs but depending on your needs, it might be annoying (e.g. arbitrary mounts for datasets and NFS things are particularly bad with btrfs) <dstolfa>if you don't need either of those two, btrfs will be good <podiki[m]>zfs is intriguing, though not sure I want to jump through many hoops at this point <podiki[m]>I think I'll try what I hope is the least pain of ext4 again (no large_dir flag) and see how it goes. luckily just got a new big external hd, so I have space to make the full backup <maximed>podiki: I'd guess: (1) reconfigure the system configuration to correct ext4->btrfs, (2) reboot into a live distro to do the conversion, (3) boot into the new configuration <podiki[m]>maximed: thanks. then grub should also be okay? (does guix by default include all fs support on grub-install?) <maximed>podiki: I don't know much about grub <podiki[m]>me neither, I learn when things go horribly wrong :-P <podiki[m]>the most I did was once live resizing an encrypted partition (deleting windows and adding it to the partition)....went surprisingly well, LVM is pretty amazing <podiki[m]>anyway, once i have the full backup hopefully the only thing I'll be losing is time in doing everything (root filesystem I have is rather large, unfortunately) <g_bor>I was wondering if we have any Outreachy projects <g_bor>I was not able to keep track off stuff recently <atuin>I'm trying to generate a system image and everytime when I try to generate i always get `record ABI mismatch; recompilation needed`. I need to delete then the .go files in the cache and it works. But after compiling it in emacs it happens the same <atuin>could be related to different versions of guile being used in emacs and the cli? <maximed>If so, "make clean && make" might help <maximed>atuin: The error message says ‘recompilation needed’ ... <maximed>would a message like ‘[...] recompilation needed: run ‘make clean && make’’ be clearer? <maximed>ap: ‘no code for module (ice-9 popen)’ is probably important here <ap>i'm aware, but why would vt-d specifically cause that <maximed>I don't know how that could happen though <roptat>dongcarl, no, just removing ~/.cache/guix fixed the issue I had, and I didn't investigate further <roptat>the interesting thing is that all three machines were on the same guix, and trying to update to the same guix too <atuin>maximed, not it's not from git <dongcarl>roptat: Huh...... Well on my machine, I just ran the exact same time-machine command again, and it worked! Weird <maximed>atuin: Is it from "make install" maybe? <ap>maximed: huh, it did, but i just disabled it and rebooted and now it doesnt <atuin>just editing my system.scm file in emacs (and compiling it) produces teh conflicting go files <g_bor>move three times and changed workspaces twice in the lat 2 years. <g_bor>including one country change <maximed>atuin: Could you check GUILE_LOAD_COMPILE_PATH and GUILE_LOAD_PATH? <maximed>The ".go" for guix modules in GUILE_LOAD_COMPILE_PATH should be newer than GUILE_LOAD_PATH <atuin>mmmm GUILE_LOAD_COMPILE_PATH points to current-system <maximed>atuin: you could try rm -r ~/.cache/guile/ccache <g_bor>I have seen that a bunch of things happened in the meanwhile <atuin>then i can compile my system again <g_bor>If someone can get me up to speed that is nice. <g_bor>For example there was a change in the irc network, no? <roptat>yeah, we switched from freenode to libera <ap>yup, unrelated error, sorry for misrepresenting <maximed>atuin: Does the "system.scm" import modules that are not in Guix or Guile (e.g. some extra modules in the same directory as the "system.scm")? <atuin>It uses some custom modules with some utils I have created <maximed>If so, do you sometimes see stuff like ‘;;; note: auto-compilation is enabled, [...] ;;; compiling [...]’ <atuin>and warnings about the source being newer than the .go files <maximed>Guile will automatically compile (to some kind of bytecode, not ‘proper’ native code) Guile modules, <maximed>but it has no ‘dependency tracking’, it only looks at the timestamps of the .scm and .go to decide when to recompile <roptat>g_bor, apart from that, we've finally frozen core-updates and trying to fix issues before we can merge it to master <atuin>yeah, also my guix in current-system is not exactly the same version as the one in my default profile, dunno if that could result in problems <atuin>s/default/current (~.config/guix/current) <maximed>Sometimes, records like <origin> and <package> are changed a little in Guix (more thunking, extra/less fields) <maximed>so modules manipulating these records need to be recompiled <maximed>atuin: what does "type guix" return? <atuin>`~/.config/current/bin/guix` <maximed>If it's something in ~/.config/guix, all should be ok I think <atuin>yeah, I have actually more problems on the machine running slackware with guix on top <maximed>If it's /run/current-system/profile/bin/guix, that might be problematic <atuin>nah it uses my local one to update and compile the system <atuin>anyway, I'm trying to use guix on a small appliance that works as a router <maximed>g_bor: What period do you want to get up to speed with? <atuin>I would like to run it in read-only mode, could in that case I still run guix deploy to upgrade the system? <ap>is it possible i GC'd my system or something? i hadn't rebooted for a while <maximed>atuin: When running "guix SOME-COMMAND", does it output ";;; bla bla compiling" or something? <maximed>Normally it shouldn't, as guix modules should be pre-compiled (except the additional modules next to system.scm or something) <maximed>ap: If that happend, that would be a bug I think <atuin>it compiles my own stuff and since i change it often, it complains about the source being newer <ap>seems like it though, i ran `guix time-machine -C /gnu/var/profiles/system-192-link/channels.scm -- system reconfigure -L . /gnu/var/profiles/system-192-link/configuration.scm` just now and it's fetching/rebuilding quite a lot <ap>despite that being the system i was on <maximed>ap: There was a bug report about something like that some time ago, but I wouldn't know how to find it again. Anyway, it should be fixed (about GC'ing systems that are still selectable in the bootloader) <maximed>ap: How did you end up with "/gnu/var"? <ap>oh i hacked that, didnt like it outside /gnu <ap>it's bind mounted incase anything goes wrong <muradm>is there description for talking to sneek? :) <maximed>ap: COuld you run "guix gc --list-roots"? <maximed>If it includes "/gnu/var/profiles/[...]", the GC shouldn't delete it <maximed>ap: Do you have a copy of the output of "guix time-machine -C [...]"? <maximed>I want to have a look at what it is fetching and building <ap>it fetched/built half the packages i run, load of python and rust modules <maximed>ap: Just the start of the output should be enough <maximed>In particular, the ‘the following derivations will be built/downloaded’ stuff <ap>ah, scanned past that now, im over ssh <maximed>There are build logs for individual derivations, but otherwise no <ap2>oh, okay, one minute <maximed>Some things will already be fetched or built, but some interesting information might still be available <maximed>Just don't interrupt it once it's done fetching/building and actually started reconfiguring <atuin>ohh the `--volatile` option for images is really neat :D ***ap is now known as Guest5586
<ap>maximed: sorry, got distracted <ap>so it completed, but it began by rebuilding guix the first time <ap>then half an hour of packages <ap>sorry i can't be more specific now <maximed>as the things /var/guix-profiles/... don't keep a reference to the guix store item <maximed>(‘only’ the commit, repository, ...) <muradm>c2ffi - This is a tool for extracting definitions from C, C++, and Objective C headers for use with foreign function call interfaces. <muradm>which gnu/packages/?.scm do you think #guix? gnu/packages/llvm.scm? <muradm>Clang-based FFI wrapper generator <maximed>it being based on llvm seems an implementation detail, unless it's an ‘officialish LLVM project’ or something <muradm>no, not an official llvm project <muradm>just a tool for development may be <muradm>could be c also and potentialy objective C if there would be one <maximed>But it's more ‘libraries written in C / usable from C’ than ‘libraries / tools for handling C things’ <muradm>there are similar tools and it is written in cpp <muradm>if not considering language it is written in, can be in c or cpp 50/50 :) <maximed>muradm: maybe add a comment what the -fno-rrti is for <maximed>and returning #t from phases isn't required anymore <maximed>the warning will disappear once core-updates-frozen is merged <muradm>maximed: do you leave stackoverflow links in comments? :) <muradm>maximed: CMake 3.17 or higher is required. You are running version 3.16.5 <maximed>I don't often leave links to stackoverflow on IRC, though there is no reason why I wouldn't, except I don't look at stackoverflow for things about guix <maximed>muradm: Probably the version check is a bit overly strict <muradm>stackoverflow explains RTTI thing about flag <muradm>maximed: you mean llvm-11 clang-11? <maximed>You could do a 'substitute* "CMakeLists.txt" (("VERSION 3.17") "VERSION 3.16.5")) ' <maximed>oops I wrote the wrong version initially <muradm>that is c2ffi developer decision... may be can be patched to 3.16.5 <muradm>i thought they know better what they want <maximed>If it builds, it's probably fine, we don't have to follow upstream exactly <maximed>FWIW, myself I've occasionally written overly strict version requirements <maximed>(That was with Autoconf and Automake, not CMake) <maximed>I didn't know what the real minimum version was, so I just wrote the version of automake or autoconf that I was using instead <maximed>It's not very important, but theoretically, these kind of changes would be better in an 'origin snippet' <maximed>such that "guix build --source c2ffi" gives something usable that could be used from "guix environment c2ffi" <maximed>and such that (after copying the directory), the equivalent of "./configure && make && make check" for CMake ‘just works’ <maximed>muradm: looking at the source code, it seems to be GPL-2-or-later, not GPL-2-only <muradm>maximed: it says may be moved in the future, but currently gpl2 <muradm>any way to remove package from store? <muradm>guix package -r <pkg> leaves in store <efraim>guix package -d /path/to/the/item ***jpoiret2 is now known as jpoiret
***dongcarl4 is now known as dongcarl
<muradm>efraim: thanks found another way "./pre-inst-env guix build --check --no-grafts --rounds=2" <muradm>sneek, later tell lfam, could you run test case for seatd/greetd services? <raghavgururajan>Why there is no '--' prefix to 'delete-generations' for `guix system`, when there is for `guix pull` and `guix package`? <tophullyte>how would one go about specifying the clang toolchain in a package specification ? i've been wanting to build libobjc2 and their install guide recommends clang