bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: compiling libapl for python3


From: enztec
Subject: Re: compiling libapl for python3
Date: Wed, 1 Mar 2023 15:14:05 -0700

Hi Jürgen,

I now get :

import gnu_apl
ImportError: 
/usr/local/lib/python3.10/lib-dynload/gnu_apl.cpython-310-x86_64-linux-gnu.so: 
undefined symbol: __stack_chk_guard

i had upgraded gcc-6.3.0 to gcc-12.2.0 after my original compiling of svn 1553

if i recompile svn 1553 with the current gcc-12.2.0 i get the same above error 
(but recompiling with gcc-6.3.0 gives a good lib_gnu_apl.so)

if i recompile svn 1651 with gcc-6.3.0 i get a good python3 lib_gnu_apl.so

what gcc version are you using ? and what python3.10 version?

enztec



On Wed, 1 Mar 2023 16:17:43 +0100
Dr. Jürgen Sauermann <mail@xn--jrgen-gcc-12.2.0sauermann-zvb.de> wrote:

> Hi again,
> 
> I believe that I have found the problem. main() was indeed referenced
> from APL (in Backtrace.cc) and apparently Python 3.10 has become
> more picky about undefined symbols in shared libraries than e.g. 3.8.
> 
> As a matter of fact, main() has been undefined all the time (without any
> harm), but now Python 3.10 complains about this.
> 
> Fixed in SVN 1651.
> 
> Best Regards,
> Jürgen
> 
> 
> On 3/1/23 3:37 PM, Dr. Jürgen Sauermann wrote:
>   Hi enztec,
>   
>   The error message that you are getting is rather strange since the
>   .so file is not supposed  to contain a main symbol (and the python API
>   for 3.10 looks the same as for 3.8. And none of the other python .so
>   libraries has a symbol 'main'.
>   
>   Maybe you need a 'make clean' in the GNU APL top-level directory before
>   compiling for python (in case main is referenced from a stale APL source
>   rather than from python).
>   
>   Best Regards,
>   Jürgen
>   
>   
>   On 2/28/23 8:11 PM, enztec@gmx.com wrote:
>     Hi Jürgen
>     
>     I'm using Python 3.10.7 for both and the svn it works with is 1533 and 
> with svn 1650 'import gnu_apl' gives the 'main' error
>     
>     both of the compiled /usr/local/lib/apl/lib_gnu_apl.so are copied to 
> /usr/local/lib/python3.10/lib-dynload/gnu_apl.cpython-310-x86_64-linux-gnu.so 
>     
>     i didn't change or add anything in regards to the python3.10.7 
> installation from svn 1533 to svn 1650
>     
>     if i copy the 1533 compiled lib_gnu_apl.so back to 
> /usr/local/lib/python3.10/lib-dynload/gnu_apl.cpython-310-x86_64-linux-gnu.so 
> the main error goes away   with 'import gnu_apl' and my python3 libapl code 
> works perfectly
>     
>     don't worry about it - i was just upgrading to 1648 and have some tests i 
> run on a new svn installation - i don't do anything with python3 anyway and 
> my apl ws and apl scripting code and libapl fpc code all runs fine 
>     
>     enztec
>     
>     
>     
>     
>     
>     
>     
>     On Tue, 28 Feb 2023 12:01:59 +0100
>     Dr. Jürgen Sauermann <mail@xn--jrgen-sauermann-zvb.de> wrote:
>     
>       Hi enztec,
>       
>       which SVN version worked on your side? And does it still work?
>       
>       I suppose that the python callling conventions for modules have changed 
> in
>       the meantime, since there never was a main() function in python_apl.cc.
>       
>       Best Regards,
>       Jürgen
>       
>       
>       On 2/27/23 10:35 PM, enztec@gmx.com wrote:
>         Hi Jürgen
>         
>               import gnu_apl
>         Traceback (most recent call last):
>           File "<stdin>", line 1, in <module>
>         ImportError: 
> /usr/local/lib/python3.10/lib-dynload/gnu_apl.cpython-310-x86_64-linux-gnu.so:
>  undefined symbol: main
>         
>         a gnu_apl.so from an earlier svn compile works fine - so nothing has 
> changed at this end
>         
>         thanks
>         
>         
>         
>         On Sun, 26 Feb 2023 18:18:27 +0100
>         Dr. Jürgen Sauermann <mail@xn--jrgen-sauermann-zvb.de> wrote:
>         
>           Hi enztec,
>           
>           thanks, fixed in SVN 1650.
>           
>           Best Regards,
>           Jürgen
>           
>           
>           On 2/25/23 1:01 AM, enztec@gmx.com wrote:
>             when compiling libapl for python3 i get following make problem
>             
>             python_apl.cc: In function 'PyObject* apl_exec(PyObject*, 
> PyObject*)':
>             python_apl.cc:198:64: error: no matching function for call to 
> 'Workspace::SI_top_error()'
>               198 |         if (const StateIndicator * si = 
> Workspace::SI_top_error())
>                   |                                         
> ~~~~~~~~~~~~~~~~~~~~~~~^~
>             In file included from python_apl.cc:15:
>             Workspace.hh:212:28: note: candidate: 'static StateIndicator* 
> Workspace::SI_top_error(bool)'
>               212 |    static StateIndicator * SI_top_error(bool quad_LRX);
>             
>             
>           
>         
>       
>   
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]