#linuxcnc-devel Logs

Jul 14 2024

#linuxcnc-devel Calendar

02:37 AM mrec: /usr/include/x86_64-linux-gnu/sys/io.h:38:12: error: declaration of 'int iopl(int) noexcept' has a different exception specifier
02:47 AM mrec: 38 | extern int iopl (int __level) __THROW;
02:47 AM mrec: | ^~~~
02:47 AM mrec: In file included from /usr/include/rtai/rtai_lxrt.h:524,
02:47 AM mrec: from rtapi/uspace_rtai.cc:6:
02:47 AM mrec: /usr/include/rtai/asm/rtai_lxrt.h:170:38: note: from previous declaration 'int iopl(int)'
02:47 AM mrec: 170 | #define rtai_iopl() do { extern int iopl(int); iopl(3); } while (0)
02:47 AM mrec: | ^~~~
02:47 AM mrec: /usr/include/rtai/rtai_lxrt.h:607:9: note: in expansion of macro 'rtai_iopl'
02:47 AM mrec: 607 | rtai_iopl();
02:47 AM mrec: | ^~~~~~~~~
02:47 AM mrec: make: *** [Makefile:287: objects/rtapi/uspace_rtai.o] Error 1
02:47 AM mrec: did anyone get around to fix that?
02:47 AM mrec: well I just added __throw to rtai_lxrt
02:47 AM mrec: https://github.com/LinuxCNC/linuxcnc/pull/3020
02:47 AM mrec: I would like to check this one
02:47 AM mrec: but first of all he latest linuxcnc uses new c++ extensions which required an upgrade and now I need to restore the system :-( also I have limited time and I won't be able to touch this system for the next month
03:05 AM Unterhaus_ is now known as Unterhausen
03:34 AM mrec: ok this is a stupid showstopper the g++ which are now used with linuxcnc should be removed
03:34 AM mrec: g++ extensions*
03:34 AM mrec: Your card is only supported by the 340 legacy drivers series, which is only available up to buster.
03:35 AM mrec: now the linuxcnc system is unusable
03:37 AM pere: mrec: ouch, sounds nasty. what g++ extention are we talking about, and what is this 340 legacy driver?
03:37 AM mrec: it complained that g++20 is not okay - with buster
03:37 AM mrec: afterwards I upgraded the system -- many issues however I resolved them one by one
03:38 AM mrec: and now there's the nvidia issue
03:38 AM mrec: between Sat Nov 25 01:50:39 2023 and now someone decided to add g++20 to linuxcnc
03:38 AM mrec: before it was not used
03:38 AM pere: ah, nvidia. these bad proprietary drivers leave one at mercy of the corporation. not much we can do.
03:39 AM mrec: the linux kernel developers broke it certainly.
03:39 AM pere: mrec: you are aware that buster is obsolete and do not get security patches any more?
03:39 AM pere: mrec: no, the nvidia developers broke it. nothing the kernel developers can do about it.
03:39 AM mrec: doesn't matter for me because the machine is not used for browsing the internet
03:40 AM mrec: and it's only on when using the CNC and in the local network
03:40 AM mrec: no linux kernel developers broke it, rather than keeping up compatibility they decide to change the interfaces as usual
03:40 AM pere: as long as your local network is connected to the internet (which I assume it is, as you can do upgrades), it matter.
03:41 AM mrec: if those guys are so good then they are invited to build their own graphiccards however they aren't and just messing around
03:41 AM pere: in any case, the 2.9 branch work with older C++ versions, while master has moved on to newer C++ features.
03:41 AM mrec: I'm more on the practical side I don't care - things have to work
03:41 AM pere: I wished I had your trust in nvidia. :)
03:42 AM mrec: it worked for 3 years with buster
03:42 AM mrec: I very well know the kernel problematic, and I'm happy that I do not write kernel drivers anymore. Too many cooks mess up the soup.
03:42 AM pere: mrec: it was decided to stop supporting older C++ compilers, to be able to clean up the code base.
03:43 AM mrec: that's not good ...
03:43 AM mrec: it renders this computer useless
03:44 AM mrec: it was driving a cnc mill and a cnc lathe
03:44 AM pere: 'git checkout 2.9' is not that hard, if you insist on continuing to use a Linux distribution with gaping open security holes connected to the Internet.
03:44 AM mrec: actually I wanted to check https://github.com/LinuxCNC/linuxcnc/issues/2939
03:44 AM mrec: however I cannot because the system doesn't work anymore
03:45 AM mrec: and now I won't have access to this system for the next month
03:45 AM pere: at least now you know that buster is dead upstream and no longer get security fixes.
03:45 AM mrec: this is no internet server it's just a machine that is used for CNC
03:45 AM pere: it is still dead and with gaping security holes, and connected to the internet. :)
03:46 AM mrec: you won't throw away 15 year old washing machines just because the software isn't modern enough
03:46 AM mrec: this PC is still pretty good for linuxCNC
03:46 AM pere: but I would definitely not give it a network connection, like you have done.
03:47 AM mrec: give me one reason?
03:47 AM mrec: I'm just pushing files to this system and that's it
03:47 AM mrec: internet is a side effect and not even used on it
03:48 AM mrec: I don't care about the system on it, however linuxcnc should just work... and now the g++ extension should justify creating more garbage out there? that's a very Microsoft'ish argument
03:48 AM pere: sorry, have no motivation to provide even more reasons. the operating system is no longer maintained upstream and have gaping security holes. as you fail to understand these are reasons to either disconnect it or upgrade it, there is not much more I can say.
03:49 AM mrec: the g++ extension should be discussed
03:49 AM pere: if you want to build a linuxcnc version that do not require modern C++ features, you will have to use the stable 2.9 branch until it too no longer get updates.
03:50 AM mrec: think about that this move will create trash for no reason.
03:50 AM pere: because you are unable to run 'git checkout 2.9' or upgrade to a supported operating system?
03:52 AM pere: did you try unsing the free software noveau nvidia driver with the video card? the recent versions is quite good.
03:52 AM pere: perhaps you do not need to rely on the good will of the nvidia corporation to use your video card?
03:53 AM mrec: nouveau doesn't work with that card
03:53 AM pere: In Buster, or with newer editions? I would not be surprised if the machine work out of the box with Debian Bookworm.
03:54 AM mrec: well with bookworm it doesn't start Xorg at all with it
03:54 AM mrec: with buster it showed glitches and crashed after some time
03:55 AM mrec: the whole thing is flawed from the linux kernel they should have built some legacy package for those drivers, even apple added version numbers to some function calls
03:55 AM pere: in my dream world, the nvidia people would share documentation with those developing nouveau, but alas.
03:55 AM mrec: certainly we do not live in a perfect world.
03:56 AM mrec: but breaking things that worked for over 10 years .. a big no go. it's seriously creating trash.
03:59 AM pere: the C++ switch has been discussed for several years, btw. :)
03:59 AM mrec: the whole thing is not your fault certainly, the *diots who damaged the interfaces which were used by nvidia did that
04:01 AM mrec: and for real they could be happy about what nvidia did many people used those devices with linux for many years, and now they're entering the microsoft track..
04:02 AM pere: I had to give up on a 10 year old nvidia server gpu card because the drivers are no longer kept up to date by nvidia. but I would blame the nvidia group, not the kernel developers, for it. :)
04:03 AM mrec: that machine has 2 purposes here one time a signal generator with windows the other time for a mill and lathe
04:03 AM pere: but all others have worked with nouveau. :)
04:04 AM mrec: if it wouldn't crash I would not mind
04:05 AM pere: are there any good signal generators on Linux?
04:05 AM pere: what kind of output hardware do you use for signal generation?
04:05 AM mrec: with linux I used hackrf back then, but it has limited bandwidth
04:06 AM mrec: otherwise I have some dektec signal generators (I think they work with linux too somehow)
04:06 AM mrec: hackrf I used with gnu-radio, dektec with their windows software
04:06 AM pere: ah, so radio signals? I have used hackrf for that too.
04:06 AM mrec: yes
04:08 AM pere: Have been using a rpi extention card for lower frequency signal generation, and is always interested in learning about alternatives.
04:35 AM mrec: for the nvidia path I could even imagine if the linux developers would have offered a stable interface they would have supported that
04:36 AM mrec: now linux developers support landfill. I'm even more against that
04:44 AM pere: I agree that it could have been done, but I understand that the volunteers developing the linux kernel do not want to compensate with work hours for the lack of transparency from nvidia.
04:45 AM mrec: someone inofficially worked on patching the nvidia driver seems like it works
04:45 AM mrec: nouveau doesn't work at all with bookworm and that device
04:45 AM mrec: so many manual tasks involved... and my wife is angry because I want to get this work before we leave
04:45 AM mrec: there should be a very serious discussion about the landfill issue which is caused by linux developers
04:46 AM mrec: they should be aware what they're doing regardless praying the GPL bible
04:55 AM pere: and nvidia should be aware what they are doing, by not providing documentation.
04:57 AM pere: 20 year old intel graphics card still work with the latest kernel. I have limited experience with amd, so can not attest to the state there.
05:04 AM mrec: a patched installed works - so the problem lies within the linux kernel
05:04 AM mrec: installer*
05:05 AM mrec: add a small compatibility layer with version numbers and leave nvidia and co alone, they won't change their behaviour everything else is just dreaming
05:06 AM mrec: forcefully discontinuing the driver support is absolute nonsense
05:08 AM mrec: I just cleaned the build EMC2_TMP_DIR is still not available in config.h with the latest git version
05:24 AM pere: latest git version = 2.9 branch?
05:35 AM pere: got to run. good luck. :)
06:07 AM mrec: 2.10 isn't it?
08:47 AM rmu: mrec: the linux kernel is where it is feature performance and freedom wise because developers don't care and don't limit themselves with stupid issues like compatibility layers for drivers that don't play along with linux kernel development
08:48 AM rmu: nobody is forced to use nvivia, you could have gotten a graphics card that worked well with linux. there are plenty options and always have been.
08:50 AM mrec: there's not much freedom since it's polluted with the GPL
08:50 AM rmu: the linux kernel is all GPL, not polluted
08:51 AM rmu: always has been
08:51 AM mrec: I know that's why it's polluted in my eyes, freedom would mean do whatever you want with it and extend it as you want.
08:51 AM rmu: as is numerous other stuff you depend on in linux/linuxcnc, like the GCC compiler set
08:52 AM mrec: nvidia provided a substantial piece of hardware, also drivers but breaking the interfaces will definitely not be helpful
08:52 AM rmu: RMS's opinion is that freedom doesn't include the right to deprive others of the same freedoms, so there you got GPL
08:52 AM mrec: create some layer in between story done
08:52 AM mrec: GPL is poison nothing else
08:52 AM rmu: there is no interface in the linux kernel
08:52 AM mrec: now AI comes across and rewrites GPL happily
08:52 AM rmu: except interface to userspace
08:53 AM rmu: stuff like memory handling etc... gets refactored improved and adapted to new hardware constantly
08:53 AM rmu: mrec: you are free to ignore the GPL stuff and e.g. use something from the BSD family or windows or mac
08:53 AM mrec: microsoft & co are building a nice business out of GPL, defeating GPL code and developers with their own weapons
08:53 AM mrec: no I look one step ahead how things are turning out now
08:54 AM rmu: there also is AGPL
08:54 AM mrec: AI wouldn't care where the source comes from and if companies don't disclose it noone will know anyway
08:55 AM mrec: BSD is the better license
08:55 AM rmu: nobody will trust a non-GPL AI clone of linux
08:55 AM rmu: not sure what you are proposing, those AI stuff generally is way overhyped
08:55 AM mrec: anyway the point is that dropping support will cause landfill as mentioned and that's not necessary
08:56 AM rmu: nobody is dropping support of your nvidia cards except nvidia
08:56 AM mrec: AI is good enough for building skeletons (possibly even faulty ones however the source is GPL code in many cases)
08:56 AM mrec: fixing the generated code is still quicker than writing everything yourself.
08:57 AM rmu: a skeleton lacks creative threshold of originality so probably isn't copyrightable in the first place
08:57 AM mrec: nvidia is not touching their old stuff again no one would drop 10 year old washing machines just because they're old if they still work properly
08:58 AM mrec: the nvidia device is workable the nvidia drivers just need some patches (someone spent time on that - kudos for that)
08:58 AM rmu: so if nvidia doesn't want to support their old hardware for free, why should anybody else
08:58 AM mrec: but the people breaking the interface in the first place should be slapped, they should other function names and put the old interfaces into compatibility layers at least
08:58 AM rmu: there is no interface that can be broken
08:58 AM mrec: nvidia already earned their money with the old devices they don't care about them anymore
08:58 AM rmu: linux kernel interface is only to userspace
08:59 AM rmu: internal stuff is constantly changing
08:59 AM mrec: the nvidia drivers have kernel parts which need interface patches
08:59 AM rmu: so IMO nvidia is to blame
08:59 AM rmu: no there is no interface
08:59 AM rmu: the kernel doesn't have any interface
08:59 AM mrec: do you care about work which you have done for a company >10 years ago?
08:59 AM rmu: yes i do
09:00 AM mrec: then you probably have too much free time
09:00 AM mrec: breaking things forcefully is not a good habbit
09:00 AM rmu: and i'm happily answering any questions that come up (within reason)
09:01 AM rmu: nobody is breaking things forcefully but you don't want to understand. nvidia doesn't document their hardware so no drivers can be developed in the linux development model
09:01 AM rmu: the drivers that exist are more or less ugly kludges
09:01 AM mrec: isolate them
09:01 AM rmu: isolate what
09:02 AM rmu: linux kernel is monolithic
09:02 AM rmu: no isolation
09:02 AM mrec: I know I mean isolate it through some compatibility layers
09:02 AM rmu: not possible
09:03 AM rmu: that is what nvidia proprietary kernel modules try to do
09:03 AM mrec: it is, let the end-user violate against the GPL
09:03 AM rmu: but they break as new stuff is developed in the kernel
09:04 AM rmu: like the rt preempt stuff where suddenly all interrupts can be preempted. can only work if drivers now that to some extent
09:04 AM rmu: etc...
09:04 AM mrec: you still have access to the kernel functions before the wrapper API
09:04 AM mrec: you can still rewrite them, and do whatever you want to do
09:05 AM rmu: i don't know what you are referring to, but you can keep running your old "compatible" kernel
09:05 AM rmu: of course you can build always more elaborate shims and adapters and whatnot but somebody has to maintain that and adapt to the ever changing linux kernel
09:05 AM mrec: well someone spent (wasted) his time to make it work but I'd prefer to see a better approach by not breaking the interfaces.
09:06 AM rmu: look at what's happening there, LKML is a firehose on full blast, not easy to stay on top of things
09:06 AM mrec: it's like one developer has some great idea and is wasting the other developers time.
09:06 AM mrec: it's a big project certainly.
09:06 AM rmu: there is no interface that is broken, even if you keep repeating it, linux kernel has one interface, and that is to userspace, only
09:06 AM mrec: I was very active with the media drivers over 1 1/2 decades ago
09:07 AM rmu: e.g. syscalls and /proc and /sys
09:07 AM mrec: until I pulled everything to userspace and got my freedom to not having to deal with those guys
09:07 AM mrec: the linuxcnc project is way more liberal and practical
09:07 AM rmu: if there is no reason for stuff to be running in the kernel, get rid of it and run it in userspace
09:08 AM rmu: i hope your wife doesn't get mad at you for arguing with strangers on the internet...
09:17 AM rene-dev4 is now known as rene-dev
11:55 AM pere: andypugh_: great to see you writing the missing manual pages. I eagerly await them showing up in master. :)
11:55 AM andypugh_: They are all a variation on “don’t look here, look there”
11:58 AM pere: perhaps that is an indication that the programs themselves should not be in the user PATH?
12:28 PM andypugh_: Or that the manpage format is too limited for some of our components.
12:31 PM andypugh_: I suppose that http://linuxcnc.org/docs/stable/html/drivers/mesa_modbus.html could have been presented as modcompile.1 But how would folk know that the Mesa modbus utitlity was called “modcompile” ? As it it, it fits in the “drivers” section of the online documentation.
12:34 PM pere: man -k modbus would be my approach to locating that key information. :)
02:25 PM rene-dev: pere https://github.com/LinuxCNC/linuxcnc/blob/master/docs/src/gcode/overview.adoc
02:25 PM rene-dev: I just noticed that the table of contents isnt clickable
02:26 PM rene-dev: any idea why?
02:29 PM lcnc-relay: <xxcodery> because youre currently viewing table of contents
02:29 PM pere: rene-dev: not really. perhaps something about the github rendrer?
02:49 PM rene-dev: it has to do with how the heading is defined
02:49 PM rene-dev: [] or ===
03:23 PM rene-dev: I found a bug in g87, what do I do now
03:23 PM rene-dev: https://github.com/LinuxCNC/linuxcnc/blob/master/docs/src/gcode/g-code.adoc#g87-back-boring-cycle
03:30 PM pere: you fix it?
03:30 PM pere: is it implemented now?
04:00 PM rene-dev: no, Im making the behaviour a little bit more defined
04:05 PM rene-dev: it actually looks complete, I dont understand why it isnt documented
05:17 PM pere: perhaps those implementing it forgot to add documentation, and those reviewing the change did not remember to bring up the topic, and those verifying the change did not notice any of this?
05:21 PM JT-Shop: I've often wondered why some cycles were not used...