maybe a bad link there? my python3-config is linked to python3.6-config
or bad permissions/user ownership on the link target? (python3.6-config) On Tue, 18 Jun 2019 22:30:03 +0200 Dr. Jürgen Sauermann <m...@xn--jrgen-sauermann-zvb.de> wrote: > I see. But the problem is this: > > 1. If I check for the presence of python3-config then it says: > > edjsa@server66:~/projects/juergen/apl-1.7$ which python3-config > /home/eedjsa/.pyenv/shims/python3-config > > > 2. But if I then call it then it fails: > > eedjsa@server66:~/projects/juergen/apl-1.7$ python3-config > pyenv: python3-config: command not found > > The `python3-config' command exists in these Python versions: > 3.6.4 > > Such behaviour makes it impossible to use it in a Makefle.am or to > troubleshoot build errors caused by this behaviour. I believe that > hard-wiring the path in Makefile.am is a more reliable approach. > > Best Regards, > Jürgen > > > eedjsa@server66:~/projects/juergen/apl-1.7$ > > On 6/18/19 9:37 AM, Christian Robert wrote: > It means that starting with python 3.6.4 (Python 3.6.4, Release Date: Dec. > 19, 2017) > the program "python3-config" will be available forever to be used as helper > for configuration. > > it provides various clues as where are the includes and what is the extention > to be use in /usr/lib64/python3.n/lib-dynload/ > > $ python3-config --includes > -I/usr/include/python3.7m -I/usr/include/python3.7m > > $ python3-config --extension-suffix > .cpython-37m-x86_64-linux-gnu.so > > so: > > cd /usr/lib64/python3.7/lib-dynload/ > ln -fs /usr/local/lib/apl/lib_gnu_apl.so gnu_apl$(python3-config > --extension-suffix) > > ls -ld gnu_apl* > lrwxrwxrwx. 1 root root 33 Jun 18 03:28 > gnu_apl.cpython-37m-x86_64-linux-gnu.so -> /usr/local/lib/apl/lib_gnu_apl.so* > > > python 3.4 was released on 17-Oct-2012 > and is about 7 years old. > > Xtian. > > > On 2019-06-17 16:49, Dr. Jürgen Sauermann wrote: > Hi, > > thanks, good to know. My personal feeling is that Python configuration is an > unportable mess. If I run *python3-config*, then I get: > > *pyenv: python3-config: command not found** > ** > **The `python3-config' command exists in these Python versions:** > ** 3.6.4** > * > No idea what this means or why this is so. > For that reason I prefer explicit settings rather than tools that "help" me > getting things right. > > Best Regards, > Jürgen > > > On 6/17/19 9:27 PM, Christian Robert wrote: > I made it work but only with some works > > Makefile.am from: > > lib_gnu_apl_la_CXXFLAGS += -I/usr/include/python3.4m > > to: > > lib_gnu_apl_la_CXXFLAGS += `python3-config --includes` > > > then run: "autoreconf" > ./configure --with-python > make -j4 > sudo make install > > then had to run as root: > > cd /usr/lib64/python3.7/lib-dynload/ > ln -f /usr/local/lib/apl/lib_gnu_apl.so > gnu_apl.cpython-37m-x86_64-linux-gnu.so > > *Note* the different target name. I made a hard link rather than a copy (cp), > matter of tastes. > > > > then it works! > > [xtian@FC-30:/usr/lib/python3.7] $ python3 > Python 3.7.3 (default, May 11 2019, 00:38:04) > [GCC 9.1.1 20190503 (Red Hat 9.1.1-1)] on linux > Type "help", "copyright", "credits" or "license" for more information. > >>> import gnu_apl > >>> gnu_apl.exec("4 4⍴1+2") > ### PYTHON RESULT CALLBACK ### > 3 3 3 3 > 3 3 3 3 > 3 3 3 3 > 3 3 3 3 > (1, ([4, 4], [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3])) > >>> gnu_apl.command(")WSID") > 'IS CLEAR WS\n' > >>> > > Xtian. > > On 2019-06-17 05:40, Dr. Jürgen Sauermann wrote: > Hi, > > I haven't tried Python 2.7 but it may work. I followed the instructions in > > *https://docs.python.org/3.3/c-api* > > I personally find *Python 2.7 *somewhat odd, so I never considered it. > > According to *./configure --help:* > *...** > ** --with-python enable to build python extension lib_gnu_apl.so** > **...* > > so *--with-python* is the correct approach. Regarding the python version, you > can > either: > > change *line 184* in *src/Makefile.am*: > > *lib_gnu_apl_la_CXXFLAGS += -I/usr/include/python3.4m* > > to reflect your Python version and then *autoreconf* and *./configure > --with-python* again, > or something like: > > *CXX_FLAGS="-I/usr/include/python3.4m" ./configure**--with-python* > > Best Regards, > Jürgen > > > > On 6/17/19 6:22 AM, Christian Robert wrote: > If I configure with: --with-libpython_apl > it says: configure: WARNING: unrecognized options: --with-libpython_apl > > If I configure with: --with-python > it fail in #include <Python.h> (no such file or directory) > probably because of hard coded "-I/usr/include/python3.4m" which does not > exist on my system. > > > this is because it try to compile with python3.4m but on my system (fedora30) > the installed pythons are: > > [xtian@FC-30:/home/xtian/gnuapl] $ python -V > Python 2.7.16 > > and > > [xtian@FC-30:/home/xtian/gnuapl] $ python3 -V > Python 3.7.3 > > You can probably invoke python3-config as in: > > [xtian@FC-30:/home/xtian/gnuapl] $ python3-config --help > Usage: /usr/bin/python3.7m-x86_64-config > --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--abiflags|--configdir > > [xtian@FC-30:/home/xtian/gnuapl] $ python3-config --includes > -I/usr/include/python3.7m -I/usr/include/python3.7m > > [xtian@FC-30:/home/xtian/gnuapl] $ python3-config --libs > -lpython3.7m -lcrypt -lpthread -ldl -lutil -lm > > > to figure-out where are the includes dirs and may be other dirs. > > I suppose this interface is NOT intended for python2 at all, and it's fine > with me. > > Xtian. > > > On 2019-06-16 15:42, Dr. Jürgen Sauermann wrote: > Hi, > > in following a suggestion by Kumar Ramanathan, I have created a Python > interface for GNU APL. > With that interface you can execute APL code, create APL defined functions, > etc. from Python. > Similar to *libapl* for C/C++ or to the Erlang interface. > > See *README-10-python* for details. > > *SVN 1167*. > > Jürgen > > > > > > >