#linuxcnc-devel Logs

Sep 07 2020

#linuxcnc-devel Calendar

09:00 AM htasta: hey, could someone help me with the configure script? I tried to fixed this issue: https://github.com/LinuxCNC/linuxcnc/issues/826
09:04 AM htasta: I can see that the check for boost::python is using the $PYTHON_CPPFLAGS but the header check after the boost check doesn't
09:04 AM htasta: and that's where it fails
09:04 AM htasta: I have never done anything with configure.ac and I saw that $CPPFLAGS are set for the boost check, can I just add the $PYTHON_CPPFLAGS to $CPPFLAGS for the header check and problem solved?
09:14 AM htasta: saved_CPPFLAGS=$CPPFLAGS
09:14 AM htasta: CPPFLAGS="$PYTHON_CPPFLAGS $CPPFLAGS"
09:14 AM htasta: AC_CHECK_HEADER($INCLUDEPY/Python.h,[],
09:14 AM htasta: [AC_MSG_ERROR([Required header Python.h missing. Install it, or specify --disable-python to skip the parts of LinuxCNC that depend on Python])])
09:14 AM htasta: CPPFLAGS=$saved_CPPFLAGS
09:15 AM htasta: around line 1695 in autoconfigure.ac
09:17 AM jepler: It's worth a try
09:19 AM htasta: I mean, yo the boss. It fixes the issue on my end but is this how stuff should be done in configure.ac?
09:20 AM htasta: :D
09:20 AM jepler: our configure.ac is nothing to be proud of, so if you can fix a bug then fix it
09:20 AM htasta: ok cool imma make a pull request then, thx
10:53 AM rene_dev_21: Jepler Whats your opinion on https://github.com/LinuxCNC/linuxcnc/issues/936
10:59 AM jepler: rene_dev_21: I don't stand in the way of that change. I am not familiar enough with the state of things to know how much the regression would affect our users, but users using the master branch should not expect release-quality software in any case.
11:00 AM jepler: However, I also think there is an argument to be made for using "the system's default python, i.e., /usr/bin/python". Users (or sysadmins) generally have the freedom now to set this to python2 or python3 according to their needs, though when it comes to building debian packages I think it'll always be "2".
11:21 AM htasta: lol good to know, so my idea to make debian/configure compatible with python3 is bad?
11:32 AM jepler: It should already have been compatible with python3..
11:34 AM htasta: it says "can't find python", I guess the intention is to make a link from python -> python3 myself? I thought checking that in the configure would be good
11:34 AM jepler: but I don't know any better than what that bug says. It works on Debian systems, because generally development packages there don't require any extra CFLAGS -- all headers go in /usr/include
11:34 AM jepler: other linux distros do other things and I think dwrobel is using fedora or something
11:35 AM jepler: but I'm way out of touch and not very active in linuxcnc development
11:35 AM htasta: oh sorry, I wasn't talking about the other issue, that one has been merged already. talking about the configure for packaging you talked about with rene_dev_21
11:36 AM jepler: I'm confused about some of the things said in issue #936, because I believed that the bulk of python3 support had already been merged to master. The comments state otherwise.
11:37 AM jepler: That issue seems to be fundamentally about changing the _default_ from "python" (which indicates python2 on all my machines but not on everyone's machine) to "python3" explicitly
11:37 AM jepler: specifically, the choices made in debian/configure ?
11:38 AM rene_dev_21: jepler Im having the issue on ubuntu focal
11:39 AM rene_dev_21: htasta linuxcnc works with python2 and 3, and will use the python binary passed during compile. linking one to another, or using update-alternatives will break your system
11:39 AM htasta: debian/configure uses python which doesn't exist on a fresh Linux Mint 20. If I change it to python3 I get other errors.
11:40 AM rene_dev_21: the question is when to drop support for python2, because there are multiple branches which port UIs to python3 and they cannot be compatible with python2
11:40 AM htasta: rene_dev_21: yeah, I can compile using python3 no problems, but doing the packaging with debian/configure doesn't work when only python3 is available, like an a fresh LM20
11:40 AM rene_dev_21: htasta dont do that, run configure --with-python=python3
11:41 AM jepler: a buster based system is configured and built iwth python3 http://buildbot.linuxcnc.org/buildbot/builders/1660.rip-buster-python3/builds/440
11:42 AM htasta: rene_dev_21: I tried that but debian/configure doesn't have such a switch only the configure in src/
11:42 AM rene_dev_21: ah, I understand now. I dont know about packaging, but buster will be the last distro that will have any python2 packages.
11:42 AM rene_dev_21: I never used debian/configure
11:42 AM jepler: I don't think buildbot proceeds to the debian-package-building steps with python3
11:43 AM rene_dev_21: it doesnt, it only runs test to make sure python3 doesnt get broken while its not the default.
11:44 AM rene_dev_21: htasta where does it fail?
11:45 AM htasta: line 79 and 80, can't find python
11:46 AM rene_dev_21: yeah, and probably all the dependencies need changing.
11:46 AM htasta: and if I use python3 instead it doesn't work because it's old style print
11:47 AM rene_dev_21: even if you fix that, it wont work because many dependencies need changing
11:47 AM htasta: I made a list of all packages I had to install in order to compile it on LM20, I thought maybe more are needed for debian/configure so I tried to do those but it fails :D
11:48 AM rene_dev_21: there is another issue about dependencies
11:48 AM rene_dev_21: https://github.com/LinuxCNC/linuxcnc/issues/820
11:55 AM htasta: ah yeah, I saw that one and read it. header-sanity test failed for me. Imma run the tests again and post the result in that thread.
12:27 PM jepler: I'm happy you people have the energy to work on this big problem
12:27 PM jepler: thank you
12:36 PM htasta: rene_dev_21: ok, I could fix the issue with the test I had, was just a missing package, I added my result to that issue
03:20 PM rene_dev_21: Jepler the amount of python3 related pull request show that new developers are interested, and care about this
09:42 PM Centurion-Dan2 is now known as Centurion_Dan