LimaGroup issueshttps://gitlab.esrf.fr/groups/limagroup/-/issues2022-04-08T11:54:25+02:00https://gitlab.esrf.fr/limagroup/lima2/-/issues/113Build with LTO only in Release builds2022-04-08T11:54:25+02:00Samuel DebionneBuild with LTO only in Release buildsLTO/IPO should only be enable on release builds as it tricks the debugger and slows down the compile time.
``` diff
- INTERPROCEDURAL_OPTIMIZATION ON
+ INTERPROCEDURAL_OPTIMIZATION_RELEASE ON
```LTO/IPO should only be enable on release builds as it tricks the debugger and slows down the compile time.
``` diff
- INTERPROCEDURAL_OPTIMIZATION ON
+ INTERPROCEDURAL_OPTIMIZATION_RELEASE ON
```Samuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/lima/-/issues/38[CMake] Sip generated files misses a dependency on their sip sources2021-11-08T13:29:21+01:00Samuel Debionne[CMake] Sip generated files misses a dependency on their sip sourcesModification of `.sip` files do not trigger a regeneration of their `.cpp` counterparts.Modification of `.sip` files do not trigger a regeneration of their `.cpp` counterparts.Samuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/27Python3: plugin code still has references to removed itertools.izip2021-01-15T14:32:35+01:00Alejandro Homs PuronPython3: plugin code still has references to removed itertools.izip`itertools.izip` was removed in Python3. References to it remain in the code:
```
blissadm@lid02eiger2lima:~/Git/Lima/applications/tango/python$ git grep izip
plugins/Bpm.py: return itertools.izip(*[itertools.chain(iterable, itertool...`itertools.izip` was removed in Python3. References to it remain in the code:
```
blissadm@lid02eiger2lima:~/Git/Lima/applications/tango/python$ git grep izip
plugins/Bpm.py: return itertools.izip(*[itertools.chain(iterable, itertools.repeat(padvalue, n-1))]*n)
plugins/Memcached.py:# return itertools.izip(*[itertools.chain(iterable, itertools.repeat(padvalue, n-1))]*n)
plugins/PeakFinder.py: return itertools.izip(*[itertools.chain(iterable, itertools.repeat(padvalue, n-1))]*n)
plugins/Roi2Spectrum.py: return itertools.izip(*[itertools.chain(iterable, itertools.repeat(padvalue, n-1))]*n)
```
The suggested solution is to apply the patch in d9a29084:
``` diff
diff --git a/plugins/RoiCounter.py b/plugins/RoiCounter.py
index 4c0eb12..ad06573 100644
--- a/plugins/RoiCounter.py
+++ b/plugins/RoiCounter.py
@@ -30,7 +30,7 @@ from Lima import Core
from Lima.Server.plugins.Utils import getDataFromFile,BasePostProcess
def grouper(n, iterable, padvalue=None):
- return itertools.izip(*[itertools.chain(iterable, itertools.repeat(padvalue, n-1))]*n)
+ return zip(*[itertools.chain(iterable, itertools.repeat(padvalue, n-1))]*n)
RoiCounterTask = Core.Processlib.Tasks.RoiCounterTask
```
Another alternative, which allows still using `itertools.izip` in Python2 (probably not worth), was applied in Lima-camera-simulator@c6fa7a57:
``` diff
diff --git a/tango/Simulator.py b/tango/Simulator.py
index 0a08528..8220d57 100644
--- a/tango/Simulator.py
+++ b/tango/Simulator.py
@@ -26,13 +26,19 @@
import itertools
import PyTango
+# python3 compat
+try:
+ from itertools import izip as zip
+except ImportError:
+ pass
+
from Lima.Server import AttrHelper
from Lima import Core
from Lima import Simulator as SimuMod
def grouper(n, iterable, padvalue=None):
- return itertools.izip(*[itertools.chain(iterable, itertools.repeat(padvalue, n-1))]*n)
+ return zip(*[itertools.chain(iterable, itertools.repeat(padvalue, n-1))]*n)
class Simulator(PyTango.Device_4Impl):
```
In any case, the solution should be uniform inside the repository, that is, for the following files:
```
blissadm@lid02eiger2lima:~/Git/Lima/applications/tango/python$ git grep 'def grouper'
plugins/Bpm.py:def grouper(n, iterable, padvalue=None):
plugins/Memcached.py:# def grouper(n, iterable, padvalue=None):
plugins/PeakFinder.py:def grouper(n, iterable, padvalue=None):
plugins/Roi2Spectrum.py:def grouper(n, iterable, padvalue=None):
plugins/RoiCounter.py:def grouper(n, iterable, padvalue=None):
```https://gitlab.esrf.fr/limagroup/lima/-/issues/70SIP wrapping in Python 2 returns unicode objects2019-07-05T16:36:21+02:00Alejandro Homs PuronSIP wrapping in Python 2 returns unicode objectsThe default SIP mapping for `std::string` returns `unicode` objects.
However, other mappings like Processlib.Data.HeaderContainer still use Python 2 `string` objects.The default SIP mapping for `std::string` returns `unicode` objects.
However, other mappings like Processlib.Data.HeaderContainer still use Python 2 `string` objects.https://gitlab.esrf.fr/limagroup/lima/-/issues/82[CMake] Rename CAMERA_ENABLE_PYTHON for every migrated cameras2019-01-09T19:40:10+01:00Samuel Debionne[CMake] Rename CAMERA_ENABLE_PYTHON for every migrated camerasShould be LIMA_ENABLE_PYTHON. Was my mistake in the first place to use a different variable name.Should be LIMA_ENABLE_PYTHON. Was my mistake in the first place to use a different variable name.v1.8Samuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/lima/-/issues/56Build standalone camera packages2018-10-10T15:26:06+02:00Samuel DebionneBuild standalone camera packagesThis basically reverse Lima.Core and camera dependency.
Processlib and Lima.Core should provide a devel package and install the headers, sip, and cmake files required to build cameras.
A `CMakePackageConfigHelpers` macros are used so t...This basically reverse Lima.Core and camera dependency.
Processlib and Lima.Core should provide a devel package and install the headers, sip, and cmake files required to build cameras.
A `CMakePackageConfigHelpers` macros are used so that camera packages could do `find_package(Lima)`. See [Config packages](https://cmake.org/cmake/help/v3.11/manual/cmake-packages.7.html) for more info.
Dependency management between project (including Processlib) would be out of the scope of the build system, just like with any other third-party packages, which means someone would have to build and install (or just `conda install`) Processlib and Lima.Core in this order to start developing/debugging a camera.
A camera plugin template is available [on Gitlab](https://gitlab.esrf.fr/limagroup/Lima-camera-template)Samuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/lima/-/issues/55Install headers2018-08-06T12:11:02+02:00Samuel DebionneInstall headersHeader files are not installed when running `cmake --target install` (or `make install`) which makes the C++ API unusable.Header files are not installed when running `cmake --target install` (or `make install`) which makes the C++ API unusable.v1.8Samuel DebionneSamuel Debionne