undefined symbol: sipExportedExceptions_limacore
Laurent Claustre
claustre at esrf.fr
Mon Dec 8 08:46:39 GMT 2025
Dear Phil,
I've started using the Package Projects recipe and get some issues.
1/ for the "examples-core" ( lima-processlib for us), we do set in the
tool.sip.project section:
[tool.sip.project]
sip-files-dir = "sip"
build-dir = "build-sip"
sip-module= "lima.sip"
dunder-init = true
When generating the code, sip-build creates well the
build-sip/processlib directory with all the files excepted the sip.h
file which is created into build-sip/
2/ for the example-extra (lima-camera-xxx for us), we use --concatenate
sip-build option, but the tool never generate the exact requested number.
For instance if we request 12 sip-build only generates 8 files, if we
request 8 it generates 7 files ...
Thanks for your help.
Laurent
On 12/4/25 14:45, Laurent Claustre wrote:
> Dear Phip,
>
> so, should we move to the recipe for "Package Projects" you describe
> here
> https://python-sip.readthedocs.io/en/stable/examples.html#package-projects
> ?
> we have lima-core depending of processlib then we will have to port
> about 30 others "extra" projects (lima-camera-xxxxx) which depend on
> lima-core.
>
> Laurent
>
> On 12/2/25 15:35, Phil Thompson wrote:
>> If limacore uses definitions in processlib (ie. it uses %Import to
>> get those definitions) then they must share the same sip
>> implementation (which itself must be a separate module).
>>
>> On 02/12/2025 14:29, Laurent Claustre wrote:
>>> fine I understand now, but if the limacore sip files contain some
>>> definitions using class or struct or whatever only define in the
>>> processlib project should we not use independent sip implementations?
>>>
>>> On 12/2/25 12:08, Phil Thompson wrote:
>>>> You therefore have two independent sip implementations. That's fine
>>>> but the limacore .sip file cannot %Import the processlib .sip file.
>>>>
>>>> On 02/12/2025 08:36, Laurent Claustre wrote:
>>>>> in fact we do not use the sip module but we compile over the sip
>>>>> source file (sip_array.c sip_core.c sip_descriptors.c sip_enum.c
>>>>> sip_int_convertors.c sip_object_map.c sip_threads.c sip_voidptr.c).
>>>>> Idea is to build our project with sip other installed conda package
>>>>> which can use different version of sip.
>>>>> Should we not do build like that or there are missing build
>>>>> configuration?
>>>>>
>>>>> Laurent
>>>>>
>>>>> On 12/1/25 17:23, Phil Thompson wrote:
>>>>>> Well there is something wrong with it. When a SIP generated
>>>>>> module is imported it registers itself with the sip module.
>>>>>> processlib doesn't seem to be doing that. When limacore is
>>>>>> imported it imports processlib and looks for it in the sip module
>>>>>> registry.
>>>>>>
>>>>>> On 01/12/2025 15:59, Laurent Claustre wrote:
>>>>>>> Yes we did it.
>>>>>>>
>>>>>>> On 12/1/25 15:58, Phil Thompson wrote:
>>>>>>>> On 01/12/2025 14:47, Laurent Claustre wrote:
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> thanks the exceptions flag helps definitively.
>>>>>>>>>
>>>>>>>>> Now I have an other issue, this project limacore is using an
>>>>>>>>> other
>>>>>>>>> module we bind with sip too, called processlib and I get this
>>>>>>>>> error
>>>>>>>>> when importing limacore:
>>>>>>>>>
>>>>>>>>>>>> from Lima import Core
>>>>>>>>> Traceback (most recent call last):
>>>>>>>>> File "<stdin>", line 1, in <module>
>>>>>>>>> File
>>>>>>>>> "/opt/bliss/conda/miniconda/envs/lima_dev_sip6/lib/python3.12/site-packages/Lima/Core/__init__.py",
>>>>>>>>> line 24, in <module>
>>>>>>>>> from limacore import *
>>>>>>>>> RuntimeError: the processlib module failed to register with
>>>>>>>>> the sip module
>>>>>>>>
>>>>>>>> Has processlib been ported to the latest SIP?
>>>>>>>>
>>>>>>>> Phil
>
--
Laurent Claustre
Beamline Control Unit
Instrumentation Services and Development Division
ESRF - The European Synchrotron
71, avenue des Martyrs
38000 Grenoble, FRANCE
Tel.: +33 (0)4.76.88.29.12
More information about the PyQt
mailing list