IRC channel logs

2025-02-10.log

back to list of logs

<crupest>I find myself very weak on understanding other developers' sense and meaning. I can only clearly understand more formal English. For everyday communation like irc and some emails, that's much more harder. Sometimes I even totally misunderstand the meanings. This always makes the conversation awkward.
<ZhaoM>crupest: I think it's just a matter of time, some practices are needed.
<ZhaoM>When not sure about the meaning of a statement, I think asking for a rephrase may be a good option
<ZhaoM>And try to be optimistic :)
<crupest>I see.
<crupest>Thanks!
<crupest>:)
<crupest>BTW, do you enable the SMP?
<crupest>Multiple cores and multiple real threads?
<crupest>The compiling of C++ is really slow. Especially when there are a lot of templates.
<ZhaoM>no, the compilation time of the apps I'm working on not take a very long time so I haven't thought of it
<crupest>I see. Does SMP work well now?
<crupest>From the wiki, looks not...
<ZhaoM>I remember probably it works with SMP 2 or 4
<ZhaoM>someone told me on the irc
<ZhaoM>but I can't find in the log
<ZhaoM>it seems the searching bar does not work very well with the new log
<ZhaoM>and it's quite annoying darnassus is down right now
<ZhaoM>crupest: try to always use this link to access the gnu hurd website http://darnassus.sceen.net/~hurd-web/
<ZhaoM>s/http/https
<ZhaoM>this is always more up-to-date than https://www.gnu.org/software/hurd/
<crupest>This contains newer info?
<ZhaoM>yes
<crupest>OK. I have changed the Google filter!
<ZhaoM>or compile the wiki on your laptop
<crupest>I see.
<ZhaoM> https://www.gnu.org/software/hurd/contributing.html You can see there is even no TODO list here
<crupest>Ah. I have seen that before. But I'm currently working on porting libs on Debian.
<crupest>Working on kernel is too hard for me.
<ZhaoM>If you are interested in kernel I thinks `Small hack entries` on the contributing page will be a nice starting point
<ZhaoM>and this is something I found interesting to play with: http://walfield.org/pub/people/neal/papers/hurd-misc/mach-ipc-without-mig.txt
<ZhaoM>And please try to feel free in this environment :)
<crupest>ZhaoM: I already! :)
<crupest>Can't believe PAM wants a jre to build doc...
<crupest>Why do we have to put a PDF in man...
<damo22>smp works, but netdde doesnt work under smp
<damo22>i am close with rumpnet
<damo22>but still stuck
<crupest>Nice! Thanks!
<crupest>I wonder whether we can make a (maybe empty) package to mark the packages that needs a PATH_MAX hack.
<crupest>With <hurd> profile.
<crupest>How should I deal with fog to generate PDG doc.
<crupest>The compiling and tests now work on Hurd.
<crupest>Bug I'm thinking about how to solve pog. It needs jre and then ...
<crupest>Bt
<crupest>But
<crupest>OK, I read the log on buildd. The error is lack of HOST_NAME_MAX. I have added it, indeed.
<damo22>what is difficult about porting java?
<crupest>I'm not starting it now.
<damo22>youpi says its a lost cause
<crupest>Download sourse just now.
<crupest>What is a lost cause
<damo22>as in, pointless to port
<crupest>I know why buildd can build. It does not build indep.
<crupest>damo22: I don't know. Maybe he can explain it again?
<damo22>why not port openjdk11 ?
<crupest>I'm going to try actually
<crupest>If 17 not ok, 11 can be a fallback.
<damo22>i would not bother with 1.8
<crupest>But 8 seems to have stopped now.
<crupest>I just see it stops at stretch
<crupest>Actually I see 1.8 first...
<damo22>if something does not work on 11 but works on 1.8 it should be changed to make it work
<damo22>so dont port java 1.8
<damo22>i think that is waste of time
<crupest>I'm going to try 11 first
<crupest>OK
<crupest>I understand what you mean now.
<crupest>If 11 does not work, fix it. Right?
<damo22>no, i mean java programs that requre 1.8
<damo22>should be updated to support java 11
<crupest>I think debian repo does not have such packages now.
<crupest>They must be dropped already.
<damo22>ok
<crupest>Because it stopped at stretch
<crupest>So high version should not ever use it.
<crupest>Not very sure. But I think.
<crupest>But not trying 8 is right, whatever. I'll try 11 first.
<crupest>Maybe youpi can tell us why it is pointless.
<crupest>I guess I may build it for a super long time.
<crupest> if libselinux.found() executable( 'unix_update',
<crupest>I think if we really want to use pam, modification of install files can't be avoid.
<crupest>libpam-modules-bin missing files: usr/sbin/unix_update usr/sbin/pam_namespace_helper usr/lib/systemd/system/pam_namespace.service
<crupest>Why can't we use glob. So we don't have to manually adding and removing?
<crupest>And if a package needs to run on different platform and compiles into different output files, should we always manually maintain install files for all platforms?
<damo22>where do i get gcj from?
<damo22>hmm can i compile gcc to have -x java?
<crupest>Sorry. I'm not sure about what you mean actually.
<crupest>Forgive my lack of sense in English.
<damo22>the openjdk-11 branch of debian's openjdk wants to bootstrap openjdk with "gcj" by default
<damo22>i assume there exists a java lang for gcc?
<damo22> https://en.wikipedia.org/wiki/GNU_Compiler_for_Java
<damo22>its part of gcc 6
<damo22>so, to bootstrap openjdk without an existing openjdk, we need gcc-6 with gcj enabled
<damo22>but apparently that might only work up to java ~1.2
<damo22>or not, i might be reading that wrong
<crupest>I guess you are right. Just like how to build a cross toolchain.
<crupest>You need a gcc to build another gcc.
<crupest>BTW
<crupest>There is a very hard thing in pam patch. Which looks like no good way to implement without linux fsuid.
<crupest>It lower the permission of fsuid and constrain filesystem permission. And back.
<crupest>But if we use euid. We can't back, maybe?
<crupest>The patch given by Svante is very tricky.
<crupest>I can't even read it clearly. But I think he might be doing change myself root and set eid and change back.
<damo22>sounds like a security risk
<crupest>That's why I mention it. I'll point it in my patch email.
<damo22>$ tar -xf gcc-6.5.0.tar.xz
<damo22>hang
<damo22>how do i find all packages that install to /sbin?
<damo22>my /sbin is gone
<youpi>damo22: /sbin should be a symlink to /usr/sbin
<youpi>java is a lost cause because I don't see Oracle accepting patches for such port
<youpi>and quite often it's not really needed: one can build with -B on hurd-any
<youpi>to avoid building docs etc.
<damo22>im not thinking about docs that require jvm
<damo22>more like programs that people write using java
<damo22>why is gcc-6 with_java gone?
<crupest>damo22: Agree.
<crupest>A lot of programs use Java...
<damo22>isnt kotlin a language that compiles to jvm?
<crupest>Yes
<damo22>we cant support any of that ecosystem with no java
<crupest>Just a syntax sugar
<crupest>However, it is now cross-platform.
<crupest>It compiles to js, hvm, native. Whatever...
<damo22>at least gcj gave users an option to compile java natively
<youpi>aiui gcj got given up by gcc people
<damo22>and even reuse java classes in C/C++
<youpi>or at least by the gcc maintainer
<crupest>Not sure how it makes it.
<crupest>Maybe like Go
<crupest>hello world is 20M+
<damo22>yeah its gone, but gcc-6 still has it, and we can bootstrap openjdk with gcj
<damo22>once we have an openjdk compiler we can bootstrap any other java we want with it
<crupest>gcc libc gcc libc gcc :) Familiar things
<youpi>if you manage to get it to build, I can upload that to unreleased
<damo22>:D
<youpi>I'm however afraid more recent versions of openjdk will need quite some porting work
<crupest>If 11 works, most things work.
<damo22>do you mean openjdk11 may not compile with gcj?
<youpi>no, I mean > 11 may need porting work
<youpi>it's not just the java language itself, but the support runtime library
<damo22>i see
<youpi>that might be using tricky things like timerfd or whatnot
<damo22>so far i cant even untar gcc-6.5.0
<damo22>:D
<youpi>do you have swap?
<damo22>yes, i have swap, i fixed it by mounting my /part3 with -o sync
<damo22>gcc 6.5.0 is compiling with java support
<damo22>as a debian package
<damo22>i had to hack my system though, i am not sure i can provide the source package correctly
<damo22>we need autoconf2.64 ideally, which i hacked
<crupest>youpi: I suddenly realized one thing. You have said everywhere about why PATH_MAX is bad. But I wonder if we define a PATH_MAX for them would crash the program. In other word, can we really define a PATH_MAX to temporarily make them work?
<crupest>Or it just crashes things and it's definitely wrong?
<youpi>it depends on the code details
<youpi>some code properly check for size, others done
<youpi>don't
<youpi>but as for getcwd, really just pass it NULL and it'll allocate
<crupest>I understand this. I mean to be fast, can we define a PATH_MAX temporarily, if there are just too much of it? Or we have to judge it by ourselves whether it is feasible?
<youpi>that's what I already did in my unreleased upload
<youpi>since these are just tests it's really not that much a concern
<youpi>but for long-term better replace it
<youpi>otherwise people will continue copy/pasting its usage
<crupest>OK. I understand now.
<crupest>It would be nice if .install file can also use [!linux-any].
<damo22>libisl is not compatibe
<damo22>isl_val_free is missing
<youpi>crupest: they do
<damo22>bedtime
<crupest>damo22: Good night!
<damo22>o/
<crupest>youpi: I have searched for a while. But did not find that.
<youpi>? did you see my comment about dh-exec?
<crupest>Sorry. I have not seen that... I'm seeing the code. My fault.
<azeem>the fact you have to add that dh-exec shebang is really ugly and a wart IMO
<youpi>that doesn't make it less useful
<youpi>and pam already uses it anyway
<azeem>yeah sure
<crupest>youpi: I still don't understand what you want to do in PAM about PATH_MAX. Do we make up a value or refactor the code to not use it? If we make up, why should we use getcwd(NULL) to decide its value?
<crupest>You said "It'd be better to make tests use getcwd(NULL)" in mail. What does it mean?
<youpi>I mean that then you don't need to define PATH_MAX at all
<youpi>getcwd in that case returns a malloc-ed buffer
<crupest>OK. I see.
<crupest>musl uses PATH_MAX
<crupest> https://git.musl-libc.org/cgit/musl/tree/src/unistd/getcwd.c?id=v1.2.2
<crupest>Whatever, I don't want to bother it anymore. Write codes and post it. Let them decide.
<youpi>ok it uses PATH_MAX, but it does return an allocated buffer, which is what we hope for
<youpi>i.e. the ABI is not using the PATH_MAX constant, the fact that musl restricts itself to PATH_MAX remains internal
<youpi>so it does support the glibc extension
<crupest>Ah.
<crupest>You are right.
<crupest>So the only correct way is to get, double buffer, get, double buffer?
<crupest>It's just who does it. glibc or yourself
<crupest>lsb does doc this
<crupest> https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-getcwd.html
<youpi>one cannot know in advance the size of the buffer, and the kernel cannot allocate for userland
<youpi>so there is no real way around making two kernel calls indeed
<crupest>I see.
<crupest>Now I totally understand your thoughts now.
<gnu_srs>Hi, need some help: Statement: task->scene = scene; changes the address of task to an address not available?
<gnu_srs>Old value = (struct lp_rasterizer_task *) 0x200778bc
<gnu_srs>New value = (struct lp_rasterizer_task *) 0xff0a0000
<youpi>what is the address of the task pointer itself?
<youpi>unless it points to itself, such a line of code is most probably not the culprit, and probably you want to look one line before
<gnu_srs>p task; $47 = (struct lp_rasterizer_task *) 0x200778bc
<gnu_srs>And p *task shows that the struct is OK, before the assignment.
<youpi>the address of the task pointer, not the address contained in the task pointer
<youpi>&task
<gnu_srs>p &task; Address requested for identifier "task" which is in register $eax
<youpi>ok, probably gdb is confused by the compiler optimization then
<youpi>and when it prints 0xff0a0000 it's just that something else got stored in $eax
<gnu_srs>p $eax; $48 = 537360572
<youpi>p/x
<gnu_srs>p/x $eax; $49 = 0x200778bc
<gnu_srs>After the statement: p/x $eax; $50 = 0x200778b0