I suspected.  Possibly these are not enabled because those ports are not as 
well tested as the others —
or possibly it has just been overlooked.  Given the reminder, I looked and have 
this in my local copy:

#elif defined(__GNUC__) && defined(__arm__) && defined(__thumb__)
#elif defined(__GNUC__) && defined(__arm32__)
#elif defined(__GNUC__) && defined(__ARM__)

Perhaps we can get someone to commit those, as it seems like there is at least 
a fair chance that
those ports will work.  (Though I have no experience with an ARM-thumb variant)

On Jul 24, 2014, at 8:32 PM, 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 compiling 
> with stackless enabled it would 
> not say “default” here — it would say “Stackless…<something>…."
> 
>> [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 it 
>> 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 ImportErrors.
>> 
>> 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 to 
>> > 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

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

Reply via email to