Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #13151 > unrolled thread

python3-mastodon fails CI due to bad magic?

Started byCraig Small <csmall@debian.org>
First post2021-01-28 11:50 +0100
Last post2021-01-28 21:40 +0100
Articles 3 — 2 participants

Back to article view | Back to linux.debian.maint.python


Contents

  python3-mastodon fails CI due to bad magic? Craig Small <csmall@debian.org> - 2021-01-28 11:50 +0100
    Re: python3-mastodon fails CI due to bad magic? Emmanuel Arias <eamanu@yaerobi.com> - 2021-01-28 17:10 +0100
      Re: python3-mastodon fails CI due to bad magic? Craig Small <csmall@debian.org> - 2021-01-28 21:40 +0100

#13151 — python3-mastodon fails CI due to bad magic?

FromCraig Small <csmall@debian.org>
Date2021-01-28 11:50 +0100
Subjectpython3-mastodon fails CI due to bad magic?
Message-ID<BCd2a-uy-11@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

Hi,
I'm trying to understand why python3-mastodon fails the unit tests.

An example is at [1] and it seems that importing magic is enough to trigger
it. The compat line is to handle both python3-magic and a libmagic module
both wanting magic.

Is this a cpython thing? I'm not sure what I can do to fix this.

  File
"/tmp/reprotest.7a4W2G/build-experiment-1/build-experiment-1/.pybuild/cpython3_3.9_mastodon/build/mastodon/Mastodon.py",
line 55, in <module>
    import magic
  File "/usr/lib/python3/dist-packages/magic/__init__.py", line 361, in
<module>
    add_compat(globals())
  File "/usr/lib/python3/dist-packages/magic/__init__.py", line 325, in
add_compat
    from magic import compat
  File "/usr/lib/python3/dist-packages/magic/compat.py", line 61, in
<module>
    _open = _libraries['magic'].magic_open
  File "/usr/lib/python3.9/ctypes/__init__.py", line 387, in __getattr__
    func = self.__getitem__(name)
  File "/usr/lib/python3.9/ctypes/__init__.py", line 392, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: python3.9: undefined symbol: magic_open





1: https://salsa.debian.org/python-team/packages/mastodon/-/jobs/1312190

[toc] | [next] | [standalone]


#13152

FromEmmanuel Arias <eamanu@yaerobi.com>
Date2021-01-28 17:10 +0100
Message-ID<BCi1Q-3FA-17@gated-at.bofh.it>
In reply to#13151

[Multipart message — attachments visible in raw view] — view raw

Seems that reprotest on salsa, is not installing the python3-magic.

I don't think that can be a problem with cpython.

On Thu, Jan 28, 2021 at 8:39 AM Håvard Flaget Aasen <haavard_aasen@yahoo.no>
wrote:

> tor. 28. jan. 2021 kl. 10:48 skrev Craig Small <csmall@debian.org>:
> >
> > Hi,
> > I'm trying to understand why python3-mastodon fails the unit tests.
>
> I'm not sure what you found out so far. When I grepped the log you
> linked, I  couldn't find python3-magic or libmagic. I believe the
> packages isn't installed and the test therefore fails.
> I'm guessing now, but I think this has to do with reproducible build in
> salsa.
>
> >
> > An example is at [1] and it seems that importing magic is enough to
> trigger it. The compat line is to handle both python3-magic and a libmagic
> module both wanting magic.
> >
> > Is this a cpython thing? I'm not sure what I can do to fix this.
> >
> >   File
> "/tmp/reprotest.7a4W2G/build-experiment-1/build-experiment-1/.pybuild/cpython3_3.9_mastodon/build/mastodon/Mastodon.py",
> line 55, in <module>
> >     import magic
> >   File "/usr/lib/python3/dist-packages/magic/__init__.py", line 361, in
> <module>
> >     add_compat(globals())
> >   File "/usr/lib/python3/dist-packages/magic/__init__.py", line 325, in
> add_compat
> >     from magic import compat
> >   File "/usr/lib/python3/dist-packages/magic/compat.py", line 61, in
> <module>
> >     _open = _libraries['magic'].magic_open
> >   File "/usr/lib/python3.9/ctypes/__init__.py", line 387, in __getattr__
> >     func = self.__getitem__(name)
> >   File "/usr/lib/python3.9/ctypes/__init__.py", line 392, in __getitem__
> >     func = self._FuncPtr((name_or_ordinal, self))
> > AttributeError: python3.9: undefined symbol: magic_open
> >
> >
> >
> >
> >
> > 1: https://salsa.debian.org/python-team/packages/mastodon/-/jobs/131219
0
> >
>
>

[toc] | [prev] | [next] | [standalone]


#13153

FromCraig Small <csmall@debian.org>
Date2021-01-28 21:40 +0100
Message-ID<BCmf7-64G-1@gated-at.bofh.it>
In reply to#13152

[Multipart message — attachments visible in raw view] — view raw

I saw that too, and yet the logs have:
 import magic
  File "/usr/lib/python3/dist-packages/magic/__init__.py", line 361, in
<module>

That's a python3-magic file, so it exists.

However, a bit of googling showed up this [1] where due to the fact that
python3-magic uses ctype.util.find.library if the environment is "strange"
(e.g. in a snap) the load fails.
Possibly the reprotest environment qualifies as "strange" and the load line
is failing in an odd way?

   return ctypes.cdll.LoadLibrary(find_library('magic'))

Anyone else use python3-magic and reprotest? Does it work and why?

 - Craig


1: https://bugs.launchpad.net/snapcraft/+bug/1861026

On Fri, 29 Jan 2021 at 03:08, Emmanuel Arias <eamanu@yaerobi.com> wrote:

> Seems that reprotest on salsa, is not installing the python3-magic.
>
> I don't think that can be a problem with cpython.
>
> On Thu, Jan 28, 2021 at 8:39 AM Håvard Flaget Aasen <
> haavard_aasen@yahoo.no> wrote:
>
>> tor. 28. jan. 2021 kl. 10:48 skrev Craig Small <csmall@debian.org>:
>> >
>> > Hi,
>> > I'm trying to understand why python3-mastodon fails the unit tests.
>>
>> I'm not sure what you found out so far. When I grepped the log you
>> linked, I  couldn't find python3-magic or libmagic. I believe the
>> packages isn't installed and the test therefore fails.
>> I'm guessing now, but I think this has to do with reproducible build in
>> salsa.
>>
>> >
>> > An example is at [1] and it seems that importing magic is enough to
>> trigger it. The compat line is to handle both python3-magic and a libmagic
>> module both wanting magic.
>> >
>> > Is this a cpython thing? I'm not sure what I can do to fix this.
>> >
>> >   File
>> "/tmp/reprotest.7a4W2G/build-experiment-1/build-experiment-1/.pybuild/cpython3_3.9_mastodon/build/mastodon/Mastodon.py",
>> line 55, in <module>
>> >     import magic
>> >   File "/usr/lib/python3/dist-packages/magic/__init__.py", line 361, in
>> <module>
>> >     add_compat(globals())
>> >   File "/usr/lib/python3/dist-packages/magic/__init__.py", line 325, in
>> add_compat
>> >     from magic import compat
>> >   File "/usr/lib/python3/dist-packages/magic/compat.py", line 61, in
>> <module>
>> >     _open = _libraries['magic'].magic_open
>> >   File "/usr/lib/python3.9/ctypes/__init__.py", line 387, in __getattr__
>> >     func = self.__getitem__(name)
>> >   File "/usr/lib/python3.9/ctypes/__init__.py", line 392, in __getitem__
>> >     func = self._FuncPtr((name_or_ordinal, self))
>> > AttributeError: python3.9: undefined symbol: magic_open
>> >
>> >
>> >
>> >
>> >
>> > 1:
>> https://salsa.debian.org/python-team/packages/mastodon/-/jobs/1312190
>> >
>>
>>

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.maint.python


csiph-web