Re: Fail to import the 'stackless' module

lars van Gemerden <[email protected]> Fri, 25 Jul 2014 09:29:26 +0200
Newsgroups gmane.comp.python.stackless
Message-ID <CAP8kt8wLbAU3V=aJaT_bHe-afjE-7qdo4C24P-XpB4NOcPEofQ@mail.gmail.com>
--===============9059017567395155088==
Content-Type: multipart/alternative; boundary=001a1134371679042a04feff8866

--001a1134371679042a04feff8866
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

i have (had, turned the error off in the IDE) with win 7 64, using pycharm.
But my code still ran.

CL


On Fri, Jul 25, 2014 at 2:32 AM, Bin Huang <[email protected]> wrote:

> Hi Jeff,
>
> You are actually right. In fact, stackless is not enabled by default when
> it is compiled for ARM architecture. I don't know why the definition for
> "__arm__" or "__arm32__" is missing.
>
> Here is how ''STACKLESS" is defined in "Stackless/stackless.h" in
> stackless-2.6.5:
>
>
> -------------------------------------------------------------------------=
-----
> #define STACKLESS
>
> #ifdef STACKLESS_OFF
> #undef STACKLESS
>         /* an option to switch it off */
> #elif defined(MS_WIN32) && !defined(MS_WIN64) && defined(_M_IX86)
>         /* MS Visual Studio on X86 */
> #elif defined(_WIN64) && defined(_M_X64)
>         /* microsoft on 64 bit x64 thingies */
> #elif defined(__GNUC__) && defined(__i386__)
>         /* gcc on X86 */
> #elif defined(__GNUC__) && defined(__amd64__)
>         /* gcc on AMD64 */
> #elif defined(__GNUC__) && defined(__PPC__) && defined(__linux__)
>         /* gcc on PowerPC */
> #elif defined(__GNUC__) && defined(__ppc__) && defined(__APPLE__)
>         /* Apple MacOS X on PowerPC */
> #elif defined(__GNUC__) && defined(sparc) && defined(sun)
>         /* SunOs on sparc */
> #elif defined(__GNUC__) && defined(__s390__) && defined(__linux__)
>         /* Linux/S390 */
> #elif defined(__GNUC__) && defined(__s390x__) && defined(__linux__)
>         /* Linux/S390 zSeries */
> #elif defined(__GNUC__) && defined(__mips__) && defined(__linux__)
>         /* MIPS */
> #else
>         /* no supported platform */
> #undef STACKLESS
> #endif
>
> -------------------------------------------------------------------------=
-----
>
> If you take a close look at it, there is no definition for "__arm__" or
> "__arm32__". So I have to manually add that definition to the header file=
.
>
> Now the problem is solved. I want to thank everyone who helped!
>
> Bin
>
>
> On Thu, Jul 24, 2014 at 7:37 PM, Jeff Senn <[email protected]> wrote:
>
>>
>> On Jul 24, 2014, at 2:47 PM, Bin Huang <[email protected]> wrote:
>>
>> Hi Anselm,
>>
>> The reason I used Stackless 2.6.5 is because my project needs to support
>> the execution of a subset of the Python 2.6 bytecodes.
>>
>> But I did try 2.7.8 as you suggested. Interestingly, I had the same
>> problem with the Stackless 2.7.8 on my ARM platform.
>>
>> Specifically, here is the output I got:
>>
>>
>> ------------------------------------------------------------------------=
-----------------------------
>> root@192:/opt/stackless-278/bin# ./python
>> Python 2.7.8 (default, Feb 18 1970, 19:12:51)
>>
>>                        ^^^^^^^^^^^^^
>> I think this is a clue.  If your compile options were right for compilin=
g
>> with stackless enabled it would
>> not say =E2=80=9Cdefault=E2=80=9D here =E2=80=94 it would say =E2=80=9CS=
tackless=E2=80=A6<something>=E2=80=A6."
>>
>> [GCC 4.6.3] on linux2
>> Type "help", "copyright", "credits" or "license" for more information.
>> >>> import stackless
>> Traceback (most recent call last):
>>   File "<stdin>", line 1, in <module>
>>   File "/opt/stackless-278/lib/python2.7/stackless.py", line 8, in
>> <module>
>>     import _stackless
>> ImportError: No module named _stackless
>>
>> ------------------------------------------------------------------------=
-----------------------------
>>
>> Is there a method I can get verbose error message in Python? I googled i=
t
>> but did not get any useful tips.
>>
>> Any comments?
>>
>> Thanks.
>>
>> Bin
>>
>>
>> On Thu, Jul 24, 2014 at 4:19 AM, Anselm Kruis <
>> [email protected]> wrote:
>>
>>> Hi Bin,
>>>
>>> Why do you use such an old version? Did you already try 2.7.8? It
>>> contains many fixes, not available in 2.6.
>>>
>>> > necessary bits to build some modules.  When I tried to import the
>>> 'stackless'
>>> > module, the system reported an error, "no module named stackless", to
>>> me.
>>> Probably some internal error occurd during the initialisation of the
>>> module. The import mechanism of Python reports such errors as ImportErr=
ors.
>>>
>>> Cheers
>>>   Anselm
>>>
>>>
>>>
>>> -----Original message-----
>>> From:   Bin Huang <[email protected]>
>>> Sent:   Thu 24-07-2014 06:32
>>> Subject:        [Stackless] Fail to import the 'stackless' module
>>> To:     The Stackless Python Mailing List <[email protected]>;
>>> > Hi list,
>>> >
>>> > I have compiled stackless-2.6.5 for an ARM platform (ARMv7
>>> architecture). No
>>> > error occurred during the compilation except that the system failed t=
o
>>> find the
>>> > necessary bits to build some modules.  When I tried to import the
>>> 'stackless'
>>> > module, the system reported an error, "no module named stackless", to
>>> me.
>>> >
>>> > Specifically, the error message looks like this:
>>> >
>>> >
>>> -----------------------------------------------------------------------=
---------
>>> > ----------------------------
>>> > root@192:/opt/stackless-2.6.5/bin# ./python
>>> > Python 2.6.5 (unknown, Feb 18 1970, 02:43:59)
>>> > [GCC 4.6.3] on linux3
>>> > Type "help", "copyright", "credits" or "license" for more information=
.
>>> > >>> import stackless
>>> > Traceback (most recent call last):
>>> >   File "<stdin>", line 1, in <module>
>>> > ImportError: No module named stackless
>>> > >>>
>>> >
>>> -----------------------------------------------------------------------=
---------
>>> > ----------------------------
>>> >
>>> > Also, I took the same source files and compiled them (with the same
>>> > configuration) for an X86 workstation. That worked well and I did not
>>> have any
>>> > problem with importing the 'stackless' module.
>>> >
>>> > I think Stackless-2.6.5 supports ARMv7 architecture. Otherwise, I
>>> shouldn't be
>>> > able to launch the interpreter.
>>> >
>>> > I really don't have any clue here. I wonder if someone can offer me
>>> some
>>> > insights. Thanks in advance.
>>> >
>>> > Bin
>>> >
>>> >
>>> > _______________________________________________
>>> >
>>> > Stackless mailing list
>>> >
>>> > [email protected]
>>> >
>>> > http://www.stackless.com/mailman/listinfo/stackless
>>> >
>>> >
>>> --
>>> Vorstandsvorsitzender/Chairman of the board of management:
>>> Gerd-Lothar Leonhart
>>> Vorstand/Board of Management:
>>> Dr. Bernd Finkbeiner, Michael Heinrichs, Dr. Arno Steitz
>>> Vorsitzender des Aufsichtsrats/
>>> Chairman of the Supervisory Board:
>>> Philippe Miltin
>>> Sitz/Registered Office: Tuebingen
>>> Registergericht/Registration Court: Stuttgart
>>> Registernummer/Commercial Register No.: HRB 382196
>>> _______________________________________________
>>> Stackless mailing list
>>> [email protected]
>>> http://www.stackless.com/mailman/listinfo/stackless
>>
>>
>> _______________________________________________
>> Stackless mailing list
>> [email protected]
>> http://www.stackless.com/mailman/listinfo/stackless
>>
>>
>>
>> _______________________________________________
>> Stackless mailing list
>> [email protected]
>> http://www.stackless.com/mailman/listinfo/stackless
>>
>
>
> _______________________________________________
> Stackless mailing list
> [email protected]
> http://www.stackless.com/mailman/listinfo/stackless
>



--=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Lars van Gemerden
[email protected]
+31 6 26 88 55 39
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

--001a1134371679042a04feff8866
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">i have (had, turned the error off in the IDE) with win 7 6=
4, using pycharm. But my code still ran.=C2=A0<div><br></div><div>CL</div><=
/div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On Fri, =
Jul 25, 2014 at 2:32 AM, Bin Huang <span dir=3D"ltr">&lt;<a href=3D"mailto:=
[email protected]" target=3D"_blank">[email protected]</a>&gt;</span>=
 wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div dir=3D"ltr">Hi Jeff,<div><br></div><div=
>You are actually right. In fact, stackless is not enabled by default when =
it is compiled for ARM architecture. I don&#39;t know why the definition fo=
r &quot;__arm__&quot; or &quot;__arm32__&quot; is missing.</div>

<div><br></div><div>Here is how &#39;&#39;STACKLESS&quot; is defined in &qu=
ot;Stackless/stackless.h&quot; in stackless-2.6.5:</div><div><br></div><div=
>--------------------------------------------------------------------------=
----</div>

<div><div>#define STACKLESS</div><div><br></div><div>#ifdef STACKLESS_OFF</=
div><div>#undef STACKLESS</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* an optio=
n to switch it off */</div><div>#elif defined(MS_WIN32) &amp;&amp; !defined=
(MS_WIN64) &amp;&amp; defined(_M_IX86)</div>

<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* MS Visual Studio on X86 */</div><div>#e=
lif defined(_WIN64) &amp;&amp; defined(_M_X64)</div><div>=C2=A0 =C2=A0 =C2=
=A0 =C2=A0 /* microsoft on 64 bit x64 thingies */</div><div>#elif defined(_=
_GNUC__) &amp;&amp; defined(__i386__)</div>

<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* gcc on X86 */</div><div>#elif defined(_=
_GNUC__) &amp;&amp; defined(__amd64__)</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 /* gcc on AMD64 */</div><div>#elif defined(__GNUC__) &amp;&amp; defined=
(__PPC__) &amp;&amp; defined(__linux__)</div>

<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* gcc on PowerPC */</div><div>#elif defin=
ed(__GNUC__) &amp;&amp; defined(__ppc__) &amp;&amp; defined(__APPLE__)</div=
><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Apple MacOS X on PowerPC */</div><div>=
#elif defined(__GNUC__) &amp;&amp; defined(sparc) &amp;&amp; defined(sun)</=
div>

<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* SunOs on sparc */</div><div>#elif defin=
ed(__GNUC__) &amp;&amp; defined(__s390__) &amp;&amp; defined(__linux__)</di=
v><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Linux/S390 */</div><div>#elif defined=
(__GNUC__) &amp;&amp; defined(__s390x__) &amp;&amp; defined(__linux__)</div=
>

<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Linux/S390 zSeries */</div><div>#elif d=
efined(__GNUC__) &amp;&amp; defined(__mips__) &amp;&amp; defined(__linux__)=
</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* MIPS */</div><div>#else</div><div=
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* no supported platform */</div>

<div>#undef STACKLESS</div><div>#endif</div></div><div>--------------------=
----------------------------------------------------------</div><div><br></=
div><div>If you take a close look at it, there is no definition for &quot;_=
_arm__&quot; or &quot;__arm32__&quot;. So I have to manually add that defin=
ition to the header file.=C2=A0</div>

<div><br></div><div>Now the problem is solved. I want to thank everyone who=
 helped!</div><span class=3D"HOEnZb"><font color=3D"#888888"><div><br></div=
><div>Bin</div></font></span></div><div class=3D"HOEnZb"><div class=3D"h5">=
<div class=3D"gmail_extra">
<br><br><div class=3D"gmail_quote">On Thu, Jul 24, 2014 at 7:37 PM, Jeff Se=
nn <span dir=3D"ltr">&lt;<a href=3D"mailto:[email protected]" target=3D"_blank"=
>[email protected]</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div style=3D"word-wrap:break-word"><br><div=
><div><div>On Jul 24, 2014, at 2:47 PM, Bin Huang &lt;<a href=3D"mailto:bin=
[email protected]" target=3D"_blank">[email protected]</a>&gt; wrote:</d=
iv>

<br><blockquote type=3D"cite"><div dir=3D"ltr">Hi Anselm,<div><br></div><di=
v>The reason I used Stackless 2.6.5 is because my project needs to support =
the=C2=A0execution=C2=A0of a subset of the Python 2.6 bytecodes.=C2=A0</div=
><div><br></div>

<div>But I did try 2.7.8 as you suggested. Interestingly, I had the same pr=
oblem with the Stackless 2.7.8 on my ARM platform.=C2=A0</div>
<div><br></div><div>Specifically, here is the output I got:</div><div><br><=
/div><div>-----------------------------------------------------------------=
------------------------------------</div><div><div>root@192:/opt/stackless=
-278/bin# ./python</div>


<div>Python 2.7.8 (default, Feb 18 1970, 19:12:51)=C2=A0</div></div></div><=
/blockquote></div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0^^^^^^^^^^^^^</div><div>I think this is a clue. =
=C2=A0If your compile options were right for compiling with stackless enabl=
ed it would=C2=A0</div>

<div>not say =E2=80=9Cdefault=E2=80=9D here =E2=80=94 it would say =E2=80=
=9CStackless=E2=80=A6&lt;something&gt;=E2=80=A6.&quot;</div><div><div><div>=
<br></div><div><blockquote type=3D"cite"><div dir=3D"ltr"><div><div>[GCC 4.=
6.3] on linux2</div><div>Type &quot;help&quot;, &quot;copyright&quot;, &quo=
t;credits&quot; or &quot;license&quot; for more information.</div>

<div>&gt;&gt;&gt; import stackless</div>
<div>Traceback (most recent call last):</div><div>=C2=A0 File &quot;&lt;std=
in&gt;&quot;, line 1, in &lt;module&gt;</div><div>=C2=A0 File &quot;/opt/st=
ackless-278/lib/python2.7/stackless.py&quot;, line 8, in &lt;module&gt;</di=
v><div>


=C2=A0 =C2=A0 import _stackless</div><div>ImportError: No module named _sta=
ckless</div></div><div>----------------------------------------------------=
-------------------------------------------------<br></div><div><br></div><=
div>Is there a method I can get verbose error message in Python? I googled =
it but did not get any useful tips.</div>


<div><br></div><div>Any comments?</div><div><br></div><div>Thanks.</div><di=
v><br></div><div>Bin</div></div><div class=3D"gmail_extra"><br><br><div cla=
ss=3D"gmail_quote">On Thu, Jul 24, 2014 at 4:19 AM, Anselm Kruis <span dir=
=3D"ltr">&lt;<a href=3D"mailto:[email protected]" target=3D"_bla=
nk">[email protected]</a>&gt;</span> wrote:<br>


<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">Hi Bin,<br>
<br>
Why do you use such an old version? Did you already try 2.7.8? It contains =
many fixes, not available in 2.6.<br>
<div><br>
&gt; necessary bits to build some modules. =C2=A0When I tried to import the=
 &#39;stackless&#39;<br>
&gt; module, the system reported an error, &quot;no module named stackless&=
quot;, to me.<br>
</div>Probably some internal error occurd during the initialisation of the =
module. The import mechanism of Python reports such errors as ImportErrors.=
<br>
<br>
Cheers<br>
=C2=A0 Anselm<br>
<div><div><br>
<br>
<br>
-----Original message-----<br>
From: =C2=A0 Bin Huang &lt;<a href=3D"mailto:[email protected]" target=
=3D"_blank">[email protected]</a>&gt;<br>
Sent: =C2=A0 Thu <a href=3D"tel:24-07-2014%2006" value=3D"+12407201406" tar=
get=3D"_blank">24-07-2014 06</a>:32<br>
Subject: =C2=A0 =C2=A0 =C2=A0 =C2=A0[Stackless] Fail to import the &#39;sta=
ckless&#39; module<br>
To: =C2=A0 =C2=A0 The Stackless Python Mailing List &lt;<a href=3D"mailto:s=
[email protected]" target=3D"_blank">[email protected]</a>&gt;;<=
br>
&gt; Hi list,<br>
&gt;<br>
&gt; I have compiled stackless-2.6.5 for an ARM platform (ARMv7 architectur=
e). No<br>
&gt; error occurred during the compilation except that the system failed to=
 find the<br>
&gt; necessary bits to build some modules. =C2=A0When I tried to import the=
 &#39;stackless&#39;<br>
&gt; module, the system reported an error, &quot;no module named stackless&=
quot;, to me.=C2=A0<br>
&gt;<br>
&gt; Specifically, the error message looks like this:<br>
&gt;<br>
&gt; ----------------------------------------------------------------------=
----------<br>
&gt; ----------------------------<br>
&gt; root@192:/opt/stackless-2.6.5/bin# ./python<br>
&gt; Python 2.6.5 (unknown, Feb 18 1970, 02:43:59)=C2=A0<br>
&gt; [GCC 4.6.3] on linux3<br>
&gt; Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &=
quot;license&quot; for more information.<br>
&gt; &gt;&gt;&gt; import stackless<br>
&gt; Traceback (most recent call last):<br>
&gt; =C2=A0 File &quot;&lt;stdin&gt;&quot;, line 1, in &lt;module&gt;<br>
&gt; ImportError: No module named stackless<br>
&gt; &gt;&gt;&gt;=C2=A0<br>
&gt; ----------------------------------------------------------------------=
----------<br>
&gt; ----------------------------<br>
&gt;<br>
&gt; Also, I took the same source files and compiled them (with the same<br=
>
&gt; configuration) for an X86 workstation. That worked well and I did not =
have any<br>
&gt; problem with importing the &#39;stackless&#39; module.<br>
&gt;<br>
&gt; I think Stackless-2.6.5 supports ARMv7 architecture. Otherwise, I shou=
ldn&#39;t be<br>
&gt; able to launch the interpreter.=C2=A0<br>
&gt;<br>
&gt; I really don&#39;t have any clue here. I wonder if someone can offer m=
e some<br>
&gt; insights. Thanks in advance.=C2=A0<br>
&gt;<br>
&gt; Bin<br>
&gt; =C2=A0<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt;<br>
&gt; Stackless mailing list<br>
&gt;<br>
&gt; <a href=3D"mailto:[email protected]" target=3D"_blank">Stackless=
@stackless.com</a><br>
&gt;<br>
&gt; <a href=3D"http://www.stackless.com/mailman/listinfo/stackless" target=
=3D"_blank">http://www.stackless.com/mailman/listinfo/stackless</a><br>
&gt;<br>
&gt;<br>
--<br>
Vorstandsvorsitzender/Chairman of the board of management:<br>
Gerd-Lothar Leonhart<br>
Vorstand/Board of Management:<br>
Dr. Bernd Finkbeiner, Michael Heinrichs, Dr. Arno Steitz<br>
Vorsitzender des Aufsichtsrats/<br>
Chairman of the Supervisory Board:<br>
Philippe Miltin<br>
Sitz/Registered Office: Tuebingen<br>
Registergericht/Registration Court: Stuttgart<br>
Registernummer/Commercial Register No.: HRB 382196<br>
_______________________________________________<br>
Stackless mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank">Stackless@stac=
kless.com</a><br>
<a href=3D"http://www.stackless.com/mailman/listinfo/stackless" target=3D"_=
blank">http://www.stackless.com/mailman/listinfo/stackless</a></blockquote>=
</div><br></div>
_______________________________________________<br>Stackless mailing list<b=
r><a href=3D"mailto:[email protected]" target=3D"_blank">Stackless@st=
ackless.com</a><br><a href=3D"http://www.stackless.com/mailman/listinfo/sta=
ckless" target=3D"_blank">http://www.stackless.com/mailman/listinfo/stackle=
ss</a></blockquote>

</div><br></div></div></div><br>___________________________________________=
____<br>
Stackless mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank">Stackless@stac=
kless.com</a><br>
<a href=3D"http://www.stackless.com/mailman/listinfo/stackless" target=3D"_=
blank">http://www.stackless.com/mailman/listinfo/stackless</a><br></blockqu=
ote></div><br></div>
</div></div><br>_______________________________________________<br>
Stackless mailing list<br>
<a href=3D"mailto:[email protected]">[email protected]</a><br>
<a href=3D"http://www.stackless.com/mailman/listinfo/stackless" target=3D"_=
blank">http://www.stackless.com/mailman/listinfo/stackless</a><br></blockqu=
ote></div><br><br clear=3D"all"><div><br></div>-- <br>=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D<br>
Lars van Gemerden<br><a href=3D"mailto:[email protected]">lars@rational-=
it.com</a><br>+31 6 26 88 55 39<br>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
</div>

--001a1134371679042a04feff8866--


--===============9059017567395155088==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless
--===============9059017567395155088==--