Subject: | problems with strings and python 3.6 on CentOS 8.2 |
Date: | Fri, 14 Aug 2020 15:02:53 +0200 |
To: | bug-Inline-Python [...] rt.cpan.org |
From: | Timo Ballin <timo2012 [...] ballin.se> |
I tried to reinstall Inline::Python form CPAN on CentOS8.2 with
python3.6/3.8:
and got this problem:
[root@localhost ~]# perl -le 'use Inline Python=>q{def
JAxH(x):return"Just Another %s Hacker"%x};print JAxH+Inline'
Just Another b'Inline' Hacker
Can you help?
Kind regards,
Timo
Clutter:
Your tests seems to run fine:
[root@localhost Inline-Python-0.56-1]# perl Makefile.PL
Found these python executables on your PATH:
Use which? [1] /usr/libexec/platform-python3.6
Using /usr/libexec/platform-python3.6
This python's configuration files are messed up. You'll have have to
answer the questions yourself. Here is what Python said:
Extra Libs: -lpthread -ldl -lutil
Python Library:
/usr/lib64/python3.6/config-3.6m-x86_64-linux-gnu/libpython3.6m.a
Include Path: /usr/include/python3.6m
1. LIBS option. I need to know what extra libraries, if any,
are required by this build of python. I recommend this:
-lpthread -ldl -lutil
Enter extra libraries (e.g. -lfoo -lbar) [-lpthread -ldl -lutil]
2. LIBRARY option. The location of the python library.
Inline::Python needs to link against it to use Python.
Here are the libraries I know about:
1) /usr/lib64/libpython3.6m.so
2) /usr/lib64/libpython3.8.so
3) /usr/lib64/libpython3.so
Which? Or enter another. [1]
3. INCLUDE option. The location of the python include files.
Inline::Python needs these to compile.
Here are the locations I know about:
1) /usr/include/python3.6m
2) /usr/include/python3.8
Which? Or enter another. [1]
Using These Settings:
Extra Libs: -lpthread -ldl -lutil
Python Lib: -L/usr/lib64 -lpython3.6m
Includes: -I/usr/include/python3.6m
Extra Flags: none (perl Makefile.PL --help for details)
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Inline::Python
Writing MYMETA.yml and MYMETA.json
[root@localhost Inline-Python-0.56-1]# make
cp Python.pm blib/lib/Inline/Python.pm
cp Python.pod blib/lib/Inline/Python.pod
Running Mkbootstrap for Python ()
chmod 644 "Python.bs"
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Python.bs
blib/arch/auto/Inline/Python/Python.bs 644
"/usr/bin/perl" "/usr/share/perl5/vendor_perl/ExtUtils/xsubpp" -typemap
'/usr/share/perl5/ExtUtils/typemap' Python.xs > Python.xsc
mv Python.xsc Python.c
gcc -c -I/usr/include/python3.6m -D_REENTRANT -D_GNU_SOURCE -O2 -g
-pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong
-grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
-fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -g -DVERSION=\"0.56\" -DXS_VERSION=\"0.56\"
-fPIC "-I/usr/lib64/perl5/CORE" -DEXPOSE_PERL -DCREATE_PYTHON
-UCREATE_PERL Python.c
Python.xs: In function ‘do_pyinit’:
Python.xs:52:5: warning: implicit declaration of function ‘initperl’;
did you mean ‘finitel’? [-Wimplicit-function-declaration]
initperl();
^~~~~~~~
finitel
gcc -c -I/usr/include/python3.6m -D_REENTRANT -D_GNU_SOURCE -O2 -g
-pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong
-grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
-fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -g -DVERSION=\"0.56\" -DXS_VERSION=\"0.56\"
-fPIC "-I/usr/lib64/perl5/CORE" -DEXPOSE_PERL -DCREATE_PYTHON
-UCREATE_PERL py2pl.c
gcc -c -I/usr/include/python3.6m -D_REENTRANT -D_GNU_SOURCE -O2 -g
-pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong
-grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
-fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -g -DVERSION=\"0.56\" -DXS_VERSION=\"0.56\"
-fPIC "-I/usr/lib64/perl5/CORE" -DEXPOSE_PERL -DCREATE_PYTHON
-UCREATE_PERL perlmodule.c
perlmodule.c:967:27: warning: ‘PerlSub_methods’ defined but not used
[-Wunused-variable]
static struct PyMethodDef PerlSub_methods[] = {
^~~~~~~~~~~~~~~
perlmodule.c: In function ‘PerlObj_richcompare’:
perlmodule.c:549:11: warning: ‘retval’ may be used uninitialized in this
function [-Wmaybe-uninitialized]
if(retval == 0) {Py_RETURN_TRUE;}
^
gcc -c -I/usr/include/python3.6m -D_REENTRANT -D_GNU_SOURCE -O2 -g
-pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong
-grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
-fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -g -DVERSION=\"0.56\" -DXS_VERSION=\"0.56\"
-fPIC "-I/usr/lib64/perl5/CORE" -DEXPOSE_PERL -DCREATE_PYTHON
-UCREATE_PERL util.c
rm -f blib/arch/auto/Inline/Python/Python.so
gcc -lpthread -shared -Wl,-z,relro -Wl,-z,now
-specs=/usr/lib/rpm/redhat/redhat-hardened-ld -L/usr/local/lib
-fstack-protector-strong Python.o py2pl.o perlmodule.o util.o -o
blib/arch/auto/Inline/Python/Python.so \
-L/usr/lib64 -lpython3.6m -lpthread -ldl -lutil -lperl \
chmod 755 blib/arch/auto/Inline/Python/Python.so
Manifying 1 pod document
------------
[root@localhost Inline-Python-0.56-1]# make test
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Python.bs
blib/arch/auto/Inline/Python/Python.bs 644
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM"
"-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0,
'blib/lib', 'blib/arch')" t/*.t
t/00init.t ................ ok
t/01testpl.t .............. ok
t/02testpl.t .............. ok
t/03parse.t ............... ok
t/04func.t ................ ok
t/05JAxH.t ................ ok
t/06dict.t ................ ok
t/07nherit.t .............. ok
t/08ipyobj.t .............. ok
t/09bind.t ................ ok
t/10pyeval.t .............. ok
t/11factor.t .............. ok
t/12evnodd.t .............. ok
t/13fibbon.t .............. ok
t/14study.t ............... ok
t/15anon.t ................ ok
t/16evalpy.t .............. ok
t/17once.t ................ ok
t/18newclass.t ............ ok
t/19testref.t ............. ok
t/20unicode.t ............. ok
t/21arrayref.t ............ ok
t/22int.t ................. ok
t/23getattr.t ............. ok
t/24getitem.t ............. ok
t/25py_sub.t .............. ok
t/26undef.t ............... ok
t/27pyattrs.t ............. ok
t/28exception.t ........... ok
t/29named_params.t ........ ok
t/30floats.t .............. ok
t/31stringification.t ..... ok
t/32boolean.t ............. ok
t/33reinit.t .............. ok
t/34env.t ................. ok
t/35dictunicodememleak.t .. ok
t/cmp.t ................... ok
All tests successful.
Files=37, Tests=840, 6 wallclock secs ( 0.09 usr 0.02 sys + 5.35
cusr 0.27 csys = 5.73 CPU)
Result: PASS