Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #12520 > unrolled thread

pkg-config of python3

Started byPICCA Frederic-Emmanuel <frederic-emmanuel.picca@synchrotron-soleil.fr>
First post2020-04-24 10:00 +0200
Last post2020-04-24 21:00 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.debian.maint.python


Contents

  pkg-config of python3 PICCA Frederic-Emmanuel <frederic-emmanuel.picca@synchrotron-soleil.fr> - 2020-04-24 10:00 +0200
    Re: pkg-config of python3 Stefano Rivera <stefanor@debian.org> - 2020-04-24 20:00 +0200
      RE:pkg-config of python3 PICCA Frederic-Emmanuel <frederic-emmanuel.picca@synchrotron-soleil.fr> - 2020-04-24 20:50 +0200
        Re: pkg-config of python3 Simon McVittie <smcv@debian.org> - 2020-04-24 21:00 +0200

#12520 — pkg-config of python3

FromPICCA Frederic-Emmanuel <frederic-emmanuel.picca@synchrotron-soleil.fr>
Date2020-04-24 10:00 +0200
Subjectpkg-config of python3
Message-ID<zZ1pE-4BL-11@gated-at.bofh.it>
Hello , I am writing a program in haskell which use Python3

It failes with

Linking dist/build/binoculars/binoculars ...
src/Hkl/Python/Pyfi.hs:124 : erreur : référence à « Py_BuildValue » non définie
src/Hkl/Python/Pyfi.hs:199 : erreur : référence à « PyUnicode_AsUTF8 » non définie
src/Hkl/Python/Pyfi.hs:261 : erreur : référence à « PyObject_CallObject » non définie
src/Hkl/Python/Pyfi.hs:207 : erreur : référence à « Py_Initialize » non définie
src/Hkl/Python/Pyfi.hs:254 : erreur : référence à « PyObject_CallObject » non définie
src/Hkl/Python/Pyfi.hs:270 : erreur : référence à « Py_BuildValue » non définie
src/Hkl/Python/Pyfi.hs:278 : erreur : référence à « Py_BuildValue » non définie
src/Hkl/Python/Pyfi.hs:288 : erreur : référence à « Py_BuildValue » non définie
/usr/include/python3.8/numpy/__multiarray_api.h:1466 : erreur : référence à « PyImport_ImportModule » non définie
/usr/include/python3.8/numpy/__multiarray_api.h:1472 : erreur : référence à « PyObject_GetAttrString » non définie
/usr/include/python3.8/numpy/__multiarray_api.h:1480 : erreur : référence à « PyCapsule_Type » non définie
/usr/include/python3.8/numpy/__multiarray_api.h:1485 : erreur : référence à « PyCapsule_GetPointer » non définie
/usr/include/python3.8/object.h:478 : erreur : référence à « _Py_Dealloc » non définie
/usr/include/python3.8/object.h:478 : erreur : référence à « _Py_Dealloc » non définie
/usr/include/python3.8/numpy/__multiarray_api.h:1508 : erreur : référence à « PyExc_RuntimeError » non définie
/usr/include/python3.8/numpy/__multiarray_api.h:1508 : erreur : référence à « PyErr_Format » non définie
/usr/include/python3.8/numpy/__multiarray_api.h:1481 : erreur : référence à « PyExc_RuntimeError » non définie
/usr/include/python3.8/numpy/__multiarray_api.h:1481 : erreur : référence à « PyErr_SetString » non définie
/usr/include/python3.8/object.h:478 : erreur : référence à « _Py_Dealloc » non définie
/usr/include/python3.8/numpy/__multiarray_api.h:1531 : erreur : référence à « PyExc_RuntimeError » non définie
/usr/include/python3.8/numpy/__multiarray_api.h:1531 : erreur : référence à « PyErr_Format » non définie
/usr/include/python3.8/numpy/__multiarray_api.h:1475 : erreur : référence à « PyExc_AttributeError » non définie
/usr/include/python3.8/numpy/__multiarray_api.h:1475 : erreur : référence à « PyErr_SetString » non définie
/usr/include/python3.8/numpy/__multiarray_api.h:1496 : erreur : référence à « PyExc_RuntimeError » non définie
/usr/include/python3.8/numpy/__multiarray_api.h:1496 : erreur : référence à « PyErr_SetString » non définie
src/Hkl/Python/cdefs.c:19 : erreur : référence à « PyImport_AddModule » non définie
src/Hkl/Python/cdefs.c:20 : erreur : référence à « PyModule_GetDict » non définie
src/Hkl/Python/cdefs.c:21 : erreur : référence à « PyDict_GetItemString » non définie
src/Hkl/Python/cdefs.c:22 : erreur : référence à « PyErr_Occurred » non définie
src/Hkl/Python/cdefs.c:23 : erreur : référence à « PyErr_Print » non définie
src/Hkl/Python/cdefs.c:23 : erreur : référence à « PyErr_Clear » non définie
src/Hkl/Python/cdefs.c:32 : erreur : référence à « PyImport_AddModule » non définie
src/Hkl/Python/cdefs.c:33 : erreur : référence à « PyModule_GetDict » non définie
src/Hkl/Python/cdefs.c:34 : erreur : référence à « PyDict_GetItemString » non définie
src/Hkl/Python/cdefs.c:35 : erreur : référence à « PyErr_Occurred » non définie
src/Hkl/Python/cdefs.c:36 : erreur : référence à « PyErr_Print » non définie
src/Hkl/Python/cdefs.c:36 : erreur : référence à « PyErr_Clear » non définie
src/Hkl/Python/cdefs.c:44 : erreur : référence à « PyErr_Occurred » non définie
src/Hkl/Python/cdefs.c:46 : erreur : référence à « PyErr_Fetch » non définie
src/Hkl/Python/cdefs.c:47 : erreur : référence à « PyObject_Str » non définie
src/Hkl/Python/cdefs.c:48 : erreur : référence à « PyObject_Str » non définie
src/Hkl/Python/cdefs.c:49 : erreur : référence à « PyUnicode_AsUTF8 » non définie
src/Hkl/Python/cdefs.c:50 : erreur : référence à « PyUnicode_AsUTF8 » non définie
/usr/include/python3.8/object.h:478 : erreur : référence à « _Py_Dealloc » non définie
src/Hkl/Python/cdefs.c:68 : erreur : référence à « PyImport_AddModule » non définie
src/Hkl/Python/cdefs.c:69 : erreur : référence à « PyModule_GetDict » non définie
src/Hkl/Python/cdefs.c:70 : erreur : référence à « PyEval_GetBuiltins » non définie
src/Hkl/Python/cdefs.c:70 : erreur : référence à « PyDict_SetItemString » non définie
src/Hkl/Python/cdefs.c:71 : erreur : référence à « _Py_BuildValue_SizeT » non définie
src/Hkl/Python/cdefs.c:72 : erreur : référence à « PyRun_StringFlags » non définie
src/Hkl/Python/cdefs.c:78 : erreur : référence à « PyErr_Occurred » non définie
src/Hkl/Python/cdefs.c:78 : erreur : référence à « PyErr_Print » non définie
src/Hkl/Python/cdefs.c:99 : erreur : référence à « PyType_IsSubtype » non définie
src/Hkl/Python/cdefs.c:110 : erreur : référence à « PyType_IsSubtype » non définie
src/Hkl/Python/cdefs.c:126 : erreur : référence à « PyType_IsSubtype » non définie
src/Hkl/Python/cdefs.c:137 : erreur : référence à « PyType_IsSubtype » non définie
src/Hkl/Python/cdefs.c:83 : erreur : référence à « Py_DecRef » non définie
src/Hkl/Python/cdefs.c:14 : erreur : référence à « PyObject_Print » non définie
src/Hkl/Python/cdefs.c:78 : erreur : référence à « PyErr_Clear » non définie
collect2: error: ld returned 1 exit status


so it seems that the program is not linked with the Python3 library

I use pkg-config to obtain the library

picca@2a02-8420-6c55-6500-d012-4688-0bee-a0c6:~/hkl/contrib/haskell$ pkg-config --libs python3

picca@2a02-8420-6c55-6500-d012-4688-0bee-a0c6:~/hkl/contrib/haskell$ pkg-config --libs python2
-lpython2.7


the result onpython3 is empty, is it normal ?

I am using unstable.

cheers

Frederic

[toc] | [next] | [standalone]


#12521

FromStefano Rivera <stefanor@debian.org>
Date2020-04-24 20:00 +0200
Message-ID<zZaMh-1Kr-13@gated-at.bofh.it>
In reply to#12520
Hi PICCA (2020.04.24_07:33:48_+0000)
> so it seems that the program is not linked with the Python3 library
> 
> I use pkg-config to obtain the library
> 
> picca@2a02-8420-6c55-6500-d012-4688-0bee-a0c6:~/hkl/contrib/haskell$ pkg-config --libs python3
> 
> picca@2a02-8420-6c55-6500-d012-4688-0bee-a0c6:~/hkl/contrib/haskell$ pkg-config --libs python2
> -lpython2.7

If you want to embed python in an application, you need to use python3-embed.pc
Or python3-config --embed

See:
https://docs.python.org/3/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build

Python libraries should not be linked to libpython, as that's present
when they're loaded into the interpreter.

SR

-- 
Stefano Rivera
  http://tumbleweed.org.za/
  +1 415 683 3272

[toc] | [prev] | [next] | [standalone]


#12522

FromPICCA Frederic-Emmanuel <frederic-emmanuel.picca@synchrotron-soleil.fr>
Date2020-04-24 20:50 +0200
Message-ID<zZbyG-2g3-15@gated-at.bofh.it>
In reply to#12521
> If you want to embed python in an application, you need to use python3-embed.pc
> Or python3-config --embed

then it links the program with -lpython3.8

so what is the purpose of python3.pc ?

thanks

Fred

[toc] | [prev] | [next] | [standalone]


#12523

FromSimon McVittie <smcv@debian.org>
Date2020-04-24 21:00 +0200
Message-ID<zZbIl-2jh-5@gated-at.bofh.it>
In reply to#12522
On Fri, 24 Apr 2020 at 18:32:06 +0000, PICCA Frederic-Emmanuel wrote:
> > If you want to embed python in an application, you need to use python3-embed.pc
> > Or python3-config --embed
> 
> then it links the program with -lpython3.8
> 
> so what is the purpose of python3.pc ?

You use python3.pc if you're building extensions that will be loaded by a
Python interpreter, like python3-apt or python3-gi.

    smcv

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.maint.python


csiph-web