All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Grover <agrover@redhat.com>
To: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Lucas De Marchi <lucas.de.marchi@gmail.com>,
	Lucas De Marchi <lucas.demarchi@profusion.mobi>,
	linux-modules <linux-modules@vger.kernel.org>,
	"W. Trevor King" <wking@tremily.us>
Subject: Re: [announce] python-kmod 0.9
Date: Wed, 26 Mar 2014 13:32:48 -0700	[thread overview]
Message-ID: <53333970.8060403@redhat.com> (raw)
In-Reply-To: <20140326174508.GA15805@intel.com>

On 03/26/2014 10:45 AM, Lucas De Marchi wrote:
> On Mon, Mar 24, 2014 at 10:12:26AM -0700, Andy Grover wrote:
>> On 03/24/2014 05:02 AM, Lucas De Marchi wrote:
>>> I've just pushed a branch named "python" which contains the python
>>> bindings. I did it a bit different than you:
>>>
>>>   - All the code from your repository was imported maintaining the
>>> history. I would like to keep it, so I did a merge of the final import
>>> (fast forward, but forced to contain a commit).
>>>   - Python bindings are built with autotools. This allows to easily
>>> express the dependency with libkmod... but I'm not sure this is ideal
>>> as opposed to having a target to explicitely calling setuptools.  Any
>>> opinion?
>>>
>>> Then I noticed the example given in the README file doesn't work.
>>> Neither by installing they original python-kmod package :-/
>>>
>>>      >>> import kmod
>>>      >>> km = kmod.Kmod()
>>>      Traceback (most recent call last):
>>>        File "<stdin>", line 1, in <module>
>>>      AttributeError: 'module' object has no attribute 'Kmod'
>>>      >>> dir(kmod)
>>>      ['__builtins__', '__doc__', '__file__', '__loader__', '__name__',
>>> '__package__', '__path__', '__version__', 'list', 'version']
>>>
>>
>> The old 'python-kmod' pkg works for me:
>>
>> [agrover@work ~/.../python/kmod ((fac4d09...))]$ ipython
>>
>> In [1]: import kmod
>>
>> In [2]: km = kmod.Kmod()
>>
>> In [3]: sc = list(km.lookup("soundcore"))[0]
>>
>> In [4]: sc.path
>> Out[4]: u'/lib/modules/3.13.6-200.fc20.x86_64/kernel/sound/soundcore.ko'
>>
>> but when I try to use the new stuff:
>>
>> [agrover@work ~/.../python/kmod ((fac4d09...))]$
>> PYTHONPATH="/home/agrover/git/kmod/libkmod/python/kmod/.libs" ipython
>>
>> In [1]: import kmod
>> ---------------------------------------------------------------------------
>> ImportError                               Traceback (most recent call last)
>> <ipython-input-1-ff824b795612> in <module>()
>> ----> 1 import kmod
>>
>> ImportError: dynamic module does not define init function (initkmod)
>>
>> Is this what you're seeing as well?
>
>
> humn... indeed. The error was obfuscated for me because in the
> __init__.py you catch the exception and make it pass silently.
>
> In the build system I was inheriting the CFLAGS from the library and
> unfortunately PyMODINIT_FUNC doesn't include the visibility attribute.
> Since we use -fvisibility=hidden by default, this was breaking the
> module.
>
> It's working now, though I don't like to let it as -fvisibility=default.
>
> I just pushed the python branch again. Could you ack on it?

I'm still getting this error.

[agrover@work ~/git/kmod (python)]$ 
PYTHONPATH="/home/agrover/git/kmod/libkmod/python/kmod/.libs" python
Python 2.7.5 (default, Feb 19 2014, 13:47:28)
[GCC 4.8.2 20131212 (Red Hat 4.8.2-7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
 >>> import kmod
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "list.pxd", line 21, in init kmod.kmod 
(libkmod/python/kmod/kmod.c:3831)
ImportError: No module named list

I'm sorry I'm not being more help.. maybe we could get W. Trevor King or 
another Cython contributor to help us out here? I played around with it 
a bit and changing "kmod.list" to "list" on the line reporting an error 
in kmod.c seemed to help, and then repeating for additional errors, but 
kmod.c is a generated file so that's not the actual solution.

Regards -- Andy

  reply	other threads:[~2014-03-26 20:32 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <509C4944.3040907@redhat.com>
2013-11-11 19:28 ` [announce] python-kmod 0.9 Lucas De Marchi
2013-11-11 19:40   ` Andy Grover
2013-12-18 19:38     ` Lucas De Marchi
2013-12-19  1:20       ` Andy Grover
2013-12-22 21:52         ` Lucas De Marchi
2014-03-24 12:02           ` Lucas De Marchi
2014-03-24 17:12             ` Andy Grover
2014-03-26 17:45               ` Lucas De Marchi
2014-03-26 20:32                 ` Andy Grover [this message]
2014-03-26 20:49                   ` Lucas De Marchi
2014-03-26 20:56                     ` Andy Grover

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53333970.8060403@redhat.com \
    --to=agrover@redhat.com \
    --cc=linux-modules@vger.kernel.org \
    --cc=lucas.de.marchi@gmail.com \
    --cc=lucas.demarchi@intel.com \
    --cc=lucas.demarchi@profusion.mobi \
    --cc=wking@tremily.us \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.