IRC channel logs
2026-01-25.log
back to list of logs
<youpi>with a standardized interface between them so the licences don't propagate <youpi>once we remove linux it'll not be gplv2+ <damo22>once we remove linux/ what license will it be <youpi>perhaps there are some gpl pieces here and there, but not much <damo22>i may have sent patches with gplv2+ headers <damo22>but im happy to relicense them bsd if need be <youpi>ah, I see that there are some gpl pieces here and there indeed <damo22>yeah so if we remove linux/ drivers from gnumach we can have + <youpi>perhaps there are some leftovers that we need to clean <damo22>can I instead make an RPC that calls cli and then drops to the thread? <youpi>let me fix what I said above <youpi>iopl doesn't make the userland into ring0 completely <youpi>so userland can call cli and such privileged instructions <youpi>but it can't access kernel memory etc. <damo22>mach's xen code is mostly gplv2+ <nexussfan>Speaking of which, has anybody actually ran Hurd in Qubes? <damo22>youpi: maybe we could make a separate repo for old linux drivers for gnumach, so it would still be possible to compile them with gnumach for debugging, but then we can purge them from the main source <youpi>I mean, i386 is deemed to be the past <youpi>I don't really see the point of spending time on this since we'll just drop it <damo22>but networking with rumpnet is not quite ready <damo22>when i was trying to clone go dependencies my rumpnet crashed repeatedly <youpi>(actually we can most probably just drop the in-gnumach linux net drivers, since netdde is essentially always the default nowadays) <nexussfan>Rumpnet on real hardware has no problems for me <youpi>damo22: not disk drivers yet <nexussfan>Does the debian installer use rumpnet by default? Or does it still use the old drivers <damo22>netdde is actually more complete set of drivers <damo22>rumpnet only supports intel nics <nexussfan>damo22: Yes, but I use ThinkPads for my Hurd, so rumpnet is supported <damo22>there is e1000{,e} missing from netdde <azert>damo22: did you figure out how one rumpify a netbsd driver? <damo22>not exactly, its some makefile foo <youpi>damo22: ? netdde has a e1000 driver <damo22>youpi: ok it must be the e1000e then <youpi>that's the one I use with qemu <azert>I read that in theory you can load directly netbsd binary modules with rump <damo22>but maybe netdde can have e1000e added <azert>nobody is maintaining netdde <damo22>but it may be simple like adding a pci id to netdde to extend the functionality, might be worth doing <damo22>if it needs more than that then i agree not to waste time on it <youpi>I guess the addition of "e" is more than just that <damo22>rumpnet has libmiiphy with pretty much every PHY that has been produced <damo22>but the cards are in separate drivers <damo22>so we need separate makefiles to compile them <azert>maybe we should adopt netbsd binary modules instead <damo22>azert: i dont see how that is preferred, then we need a netbsd target toolchain <azert>but you wouldn’t need to send patches to bsd people for things that are probably not their priority <damo22>the main issue is that netbsd dont want more old style makefiles and rump has not been ported to use configuration style makefiles <damo22>so some refactoring of rump is needed <damo22>nexussfan: sudo lspci -nn|grep net <nexussfan>Nope, `BCM5751M Gigabit Ethernet PCI Express` <azert>damo22: that looks like a daunting challenge <damo22>they are supposed to be autogenerated from a config <damo22>but currently they are manually written <damo22>so you can imagine how they dont want to maintain manually written ones <nexussfan>Hmmm. The only folder in the CVS repo is `CVS` <nexussfan>Still says `/bin/sh: 3: /java/re/j2se/1.6.0/latest/binaries/linux-i586/bin/java: not found` <damo22>btw netdde does not seem to have 14e4:167d <azert>damo22: in regards to rump handmade makefiles, we should hope for agentic AI to pay that technical debt. It’s the kind of job they might be able to do <nexussfan>Where can I get `/java/re/j2se/1.6.0/latest/binaries/linux-i586` <damo22>nexussfan:its not magic, its here linux/drivers/net/tg3.c: {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5751M)} <damo22>nexussfan: you can set JAVA_HOME perhaps to point to your gcj-6 <azert>otherwise passing to netbsd binary modules is maybe the way to go. Building a netbsd tool chain takes time but it’s something that people already do <damo22>nexussfan: you need to install gcj-6-jdk <damo22>probably libecj-java-gcj and ecj as well <damo22>ok you might not need them im not sure <damo22>but you need to figure out where that path is coming from <damo22>and set JAVA_HOME to override it <damo22>then it wont look for that /java/re/j2se.. <nexussfan>> ALT_BOOTDIR - JDK used to compile agent java source and test with <nexussfan>> BOOTDIR=/java/re/j2se/1.6.0/latest/binaries/linux-i586 <damo22>set those to /usr/lib/jvm/default-java <nexussfan>> '/usr/lib/jvm/default-java': No such file or directory <nexussfan>java-gcj-6 is symlink to java-1.5.0-gcj-6-hurd-amd64 <damo22>set it to /usr/lib/jvm/java-gcj-6 <damo22>you can use environment vars to override <nexussfan>Still says `*** An XSLT processor (J2SE 1.4.x or newer) is required to bootstrap this build` <nexussfan>Tries to do `/usr/lib/jvm/java-gcj-6/bin/javap javax.xml.transform.TransformerFactory > /dev/null 2>&1; \` <damo22>there might be a missing tool, or symlink <damo22>hmm no, it seems to be a disassembler <damo22>maybe the debian package forgot to include it? <damo22>nobody else wants it because openjdk is available everywhere else <damo22>everywhere javah is mentioned it could add javap as well <damo22>i dont know if gcc has the javap tool <nexussfan>> /home/nexussfan/jdk7-hotspot/src/share/vm/adlc/adlparse.cpp:4452:17: error: ISO C++17 does not allow ‘register’ storage class specifier [-Werror=register] <nexussfan>> cc1plus: all warnings being treated as errors <damo22>-cp /home/nexussfan/jdk7-hotspot/agent/src/share/classes/ or a relative path that points there <nexussfan>`/home/nexussfan/jdk7-hotspot/agent/src/share/classes/` exists <nexussfan>`ALT_JDK_IMPORT_PATH=/home/nexussfan/jdk7-hotspot/agent/src/share/classes/`? <damo22>play with the make options, see if you can get it to work <nexussfan>Reading the help make options ALT_ is an override for the default <damo22>the error messages seem to indicate it cant find the imports <nexussfan>> JDK_IMPORT_PATH must refer to a compatible build, not all past promoted builds or previous release JDK builds will work. <damo22>so its not looking in the right place <nexussfan>> make ALT_JDK_IMPORT_PATH=/opt/java/jdk1.7.0 <damo22>so the BOOTDIR needs to point at your gcj headers? <damo22>and JDK_IMPORT_PATH the new source <nexussfan>Right now I'm doing `make ARCH_DATA_MODEL=64 ALT_BOOTDIR=/usr/lib/jvm/java-gcj-6 ALT_JDK_IMPORT_PATH=/home/nexussfan/jdk7-hotspot/agent/src/share/classes/` <damo22>no, thats not the path to the gcj headers <damo22>that looks more like a JAVA_HOME <damo22>maybe you need to append "/include" <nexussfan>> Missing /usr/lib/jvm/java-gcj-6/include/lib/tools.jar file. Use 1.6.0 or later version of JDK <damo22>but where are the headers? include has hardly anything in thre <damo22>then you go into /usr/lib/jvm/java-*/ and sudo unzip src.zip <nexussfan>You may want to contact the original maintainer <damo22>ALT_BOOTDIR=/usr/lib/jvm/java-1.5.0-gcj-6-hurd-amd64 <nexussfan>The /usr/lib/jvm/java-gcj-6 is symlinked to that <damo22>according to jk's notes he had trouble compiling hotspot <damo22>but the normal java toolchain worked <nexussfan>> error: sun.jvm.hotspot.tools cannot be resolved <nexussfan>But /home/nexussfan/jdk7-hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/ exists... <damo22>ok, maybe you can point ALT_BOOTDIR to that <damo22>/home/nexussfan/jdk7-hotspot/agent/src/share/classes <damo22>ok you can try deleting the files you extracted from the src.zip and copying the dirs from agent/src/share/classes/* into the java home? <damo22>what do you mean? jdk7 is old and the port is from that era <damo22>i am struggling to get the include paths right for the c++ component <damo22>11569 problems (1108 errors, 10461 warnings) <damo22>the classpath is not being passed in <damo22>the source is supposed to go in JAVA_HOME/lib/classes <damo22>and that is supposed to be set as classpath <damo22>i tried overlaying the gcj java source with the openjdk7 source <damo22>i dont think they have any conflicting files <damo22>the source is missing sun/jvm/hotspot/jdi ? <damo22>seems to be there but its not finding it <damo22>agent/src/share/classes/com/sun/jdi <damo22>tools.jar is supposed to have com.sun.jdi <damo22>but the one in gcj doesnt have JDI <damo22>nexussfan: mv agent agent.disabled then try again <damo22>heres something dumb i saw in a java makefile: mkdir -p . <damo22>well you are always in a directory called `.` so creating it is useless <damo22>make LP64=1 CFLAGS="-std=c++98 -fPIC -fpermissive -DCOMPILER1 -DCOMPILER2 -DTARGET_ARCH_MODEL_x86_64 -DTARGET_ARCH_x86 -DTARGET_OS_ARCH_linux_x86 -DTARGET_OS_FAMILY_linux -DTARGET_COMPILER_gcc" ALT_BOOTDIR=/usr/lib/jvm/default-java ALT_JDK_IMPORT_PATH=/usr/lib/jvm/default-java/lib/classes GAMMADIR=/part3/git/jdk7-hotspot Platform_arch=x86 $@ <damo22>/usr/bin/ld: jvmtiEnterTrace.o:(.data.rel.local+0x0): multiple definition of `JvmtiUtil::_error_names'; jvmtiEnter.o:(.data.rel.local+0x0): first defined here <damo22>is there a way to tell the linker to drop duplicated symbols/ <rrq>multiple definitions is not good.. need "extern" on the declarations and a single definition <damo22>make[4]: Leaving directory '/part3/git/jdk7-hotspot/make/linux_amd64_compiler2/product' <rrq>on my attempt to boot (unstable hurd amd64) I get from ext2fs:" $actualuuid: Gratuitous error" ... what does that mean? I couldn't find it in the source <rrq>ta. ok. got scripted syslinux priming of a crosshurd filesystem to boot <sobkas>What "BDB0126 mmap: No such device" do? <nexussfan>It would be nice if there was a new openjdk hurd repo <azert>my opinion based on my understanding of English, is that you have a chance to get the first two patches included <azert>but they aren’t going to pull the third <azert>their comment about illumos and haiku sounds like: if we managed to get them to port libdrm, you should probably do the same. Which is a pity since they don’t realize that for the Hurd porting DRM is more hard <youpi>I don't think they requiring hard illumos/haiku work <youpi>but just asking to follow the same paths <youpi>I don't think they requiring hard illumos/haiku work <youpi>but just asking to follow the same paths <azert>Yes but their path has been porting libdrm <azert>when they could have also just opt for software only rendering <azert>that is something that mesa perhaps explicitly don’t want to support (I don’t know but I am left wondering) <youpi>I'm rather thinking that they don't realize all this <youpi>remember that most of the time they don't work on that part of the code, so may have no idea what you are at <youpi>that yes, the hurd case is really different <sobkas>I'm more optimistic, being able to use dri instead of xlib "solution" is a success in itself <youpi>because it's not about porting libdrm <youpi>but really using the software renderer <azert>indeed they might need some explaining <sobkas>The look on my face when choosing xlib and it produced a libGL that contained llvmpipe... <sobkas>This work is a stop gap before we do drm, that can be reused for xlib case and drop xlib "solution" <azert>sobkas: maybe you can split that patch, the meson/plumbing part and the libsync part. And expand explanations for the pumbling part