Conversation
2) Preparation for gmp library reuse instead of compilation
2. Changed pre-built wheel location
mdmitry1
left a comment
There was a problem hiding this comment.
Regression passed after the first refactoring round.
Main fixes:
- Write access to system directory is removed
<repo>/distdirectory is removed<repo>/manylinux_2_28directory is removed- Optional git switch is removed
Z3_PREFIXis set automatically - tested onUbuntu 24.04
Validation:
pip install <repo>use case - validated onUbuntu 24.04- Manylinux wheel build use case - validated on
Ubuntu 22.04
2. Updated wheel location in Dockerfile
…on fails on AlmaLinux
2. Rebuild wheel with new setup.py version
2. Replaced hard-coded branch name by parameter
2) Meson and ninja search code cleanup
There was a problem hiding this comment.
Finished second round of refactoring
- Fixed build issue in the case of user_config.jam file present in home directory
- Added meson and ninja to build-system.requires
- Removed redundant meson and ninja search code
- For Debian only: started using precompiled gmp libraries
For manylinux build got compilation error in SMLP C++ code
Validation
DORA test passed in Ubuntu 24.04 python virtual environment with manylinux wheel.
Could you post the log containing the error? I'll take a look what might have gone wrong. Also the version number of GMP they install might be helpful, if you know it. |
|
1) ../src/reals.hh: In function ‘kay::Z smlp::reals::eager::ubound_log2(const R&)’:
|
I can't reproduce this locally, neither with gcc-{13,14,15} nor with clang++-{20,21}. I also don't understand why the |
mdmitry1
left a comment
There was a problem hiding this comment.
Refactoring is done.
The only remaining step: merge with
commit a44b1d2
Author: Konstantin Korovin kostyakor@gmail.com
Date: Wed Mar 11 14:23:24 2026 +0000
pyproject.toml: patch for standalone smlp
No need to merge branches. Cherry-pick should be fine. |
pyproject.toml: patch for standalone smlp
2. Added smlp command support
… files 2. Fixed inaccuracies in scripts/bin/README.md
Reference: #62
fbrausse
left a comment
There was a problem hiding this comment.
Thanks, Dmitry. For now I have a few comments, will test it tomorrow.
pyproject.toml
Outdated
| [tool.setuptools.packages.find] | ||
| where = ["."] | ||
| exclude = ["src*", "smlp_py*", "regr_smlp*", "utils*"] | ||
| exclude = ["scripts*","src*", "smlp_py*", "regr_smlp*", "utils*"] |
There was a problem hiding this comment.
While on a clean source tree this (mostly, sometimes a __pycache__ directory is included as well)
works, might I suggest to explicitly include the files instead of excluding only some? For instance, it is quite common, to put temporary directories and other files while testing / developing. Being explicit about the files part of the wheel is also more future-proof.
This is just to exclude looking for *whl files. If we decided not to have *whl files in our distribution, probably the safest thing to do is remove these lines.
There was a problem hiding this comment.
This is just to exclude looking for *whl files. If we decided not to have *whl files in our distribution, probably the safest thing to do is remove these lines.
There was a problem hiding this comment.
This is just to exclude looking for *whl files. If we decided not to have *whl files in our distribution, probably the safest thing to do is remove these lines.
What this does, is include everything and then selectively exempt some files/dirs from everything. There is a separate include option for tool.setuptools.packages.find, which instead includes only the given things and excludes everything else. That is what I'm suggesting. See https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
There was a problem hiding this comment.
- We need to exclude everything.
- We don't need to include and/or discover anything.
Therefore, correct lines are:
[tool.setuptools.packages.find]
where = ["."]
exclude = ["*"]Without exclude statement, some extra files are written in the distribution area.
Please, run installation and if something is incorrect, let me know.
For me everything works fine:
find /usr/local/lib/python3.11/dist-packages -name smlp'*'/usr/local/lib/python3.11/dist-packages/smlp-1.0.1.dist-info
/usr/local/lib/python3.11/dist-packages/smlp
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_verify.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_terms.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_solver.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_plots.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_correlations.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_config.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_verify.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_refine.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_doe.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_mrmr.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_constants.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_flows.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_optimize.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_terms.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_precisions.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_frontier.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_data.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_models.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_discretize.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_utils.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_spec.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_logs.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_query.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/__pycache__/smlp_subgroups.cpython-311.pyc
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_optimize.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_plots.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_models.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_flows.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_solver.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_precisions.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_query.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_correlations.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_doe.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_refine.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_frontier.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_spec.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_logs.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_discretize.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_subgroups.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_constants.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_config.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_data.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_utils.py
/usr/local/lib/python3.11/dist-packages/smlp/smlp_py/smlp_mrmr.py
/usr/local/lib/python3.11/dist-packages/bin/smlp
There was a problem hiding this comment.
Thanks, I'll try it. Looks weird, though.
mdmitry1
left a comment
There was a problem hiding this comment.
Updates according to release plan
mdmitry1
left a comment
There was a problem hiding this comment.
Implemented requested changes after review
Regression passed in all five configurations, all Docker images are uploaded