Hi, sorry for the delay On Thu, Oct 30, 2014 at 4:36 PM, Andy Grover <agrover@xxxxxxxxxx> wrote: > On 10/30/2014 09:37 AM, Christophe Vu-Brugier wrote: >> >> Hi Andy, >> >> On Thu, 30 Oct 2014 09:24:37 -0700, Andy Grover wrote : >>> >>> On 10/30/2014 08:09 AM, Christophe Vu-Brugier wrote: >>>> >>>> Hi Andy, >>>> >>>> I am working on better integrating targetcli in Buildroot. Buildroot >>>> is an easy to configure build system that uses cross compilation to >>>> generate tiny root file systems for embedded platforms. >>>> >>>> Buildroot supports systemd so I built a root file system with >>>> targetcli and systemd. When systemd is selected as the init system in >>>> Buildroot, the python-kmod module is also built by Buildroot (because >>>> kmod is a dependency of systemd). And since python-kmod is present, >>>> targetcli tries to use it. But it fails with the following error: >>>> >>>> # targetcli >>>> Traceback (most recent call last): >>>> File "/usr/bin/targetcli", line 100, in <module> >>>> main() >>>> File "/usr/bin/targetcli", line 63, in main >>>> root_node = UIRoot(shell, as_root=is_root) >>>> File >>>> "home/cvubrugier/repos/buildroot/output/x86-targetcli-systemd/target/usr/lib/python3.4/site-packages/targetcli/ui_root.py", >>>> line 44, in __init__ >>>> File >>>> "home/cvubrugier/repos/buildroot/output/x86-targetcli-systemd/target/usr/lib/python3.4/site-packages/rtslib/root.py", >>>> line 66, in __init__ >>>> File >>>> "home/cvubrugier/repos/buildroot/output/x86-targetcli-systemd/target/usr/lib/python3.4/site-packages/rtslib/utils.py", >>>> line 364, in modprobe >>>> AttributeError: 'module' object has no attribute 'Kmod' >>>> >>>> Trying to use python-kmod by hand also fails on the system. >>>> >>>> Python 3.4.1 (default, Oct 29 2014, 13:37:35) >>>> [GCC 4.9.1] on linux >>>> Type "help", "copyright", "credits" or "license" for more >>>> information. >>>> >>> import kmod >>>> >>> km = kmod.kmod() it should be kmod.Kmod() Note the capital K. > (CCing kmod dev list too) > > Starting in kmod v17 the Python library was merged into the main kmod repo, > and the version indicates that you are using the Python wrapper built from > that (as opposed to the now-defunct separate project called python-kmod, > whose versions never exceeded 0.9.) > > Lucas De Marchi did the build integration because my autotools knowledge was > not sufficient -- I suspect building kmod with --enable-python only enables > Python 2. I'd need to know more about what distro you're on and look at the > packaging scripts, but I think upstream support for building the library for > Python 3 is needed (this might be extremely simple but it still probably > requires a separate --enable-python3 configure option). Did the packager > think they could just take the Py2 binaries and they'd work for Python 3??? > > So I'd open an issue with the kmod packager for whatever distro because > something is broken, and maybe the CC'd upstream developers might also be > able to help us have explicit support for building for Python 3? It should work fine with python3 as well. Just tested here: $ make install DESTDIR=/tmp/inst $ PYTHONPATH=/tmp/inst/usr/lib/python3.4/site-packages python3 Python 3.4.2 (default, Oct 8 2014, 13:44:52) [GCC 4.9.1 20140903 (prerelease)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import kmod >>> km = kmod.Kmod() >>> km.loaded() <generator object at 0x7fbf9f807cc8> -- Lucas De Marchi -- To unsubscribe from this list: send the line "unsubscribe linux-modules" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html