Closed kloczek closed 2 years ago
Thanks for the report. Do you want to make a PR addressing the pyproject.toml ?
@kloczek can you check #140 does fix the Python issue ? I will try to look at the C++ warning later.
@Qix- could you advise on the C++ warning ? I do not get why the compiler complains. To me the fact that we check data before accessing the counter make it safe (under the single thread assumption which underlies kiwi).
ping @kloczek
Sorry but I'm not C++ developer .. 😞
No problem. I pinged you @kloczek simply about the fix for the python packaging part for which I have a patch in #140
OK one sec let me check that 😋
Looks like it works now
+ /usr/bin/python3 -sBm build -w --no-isolation
* Getting dependencies for wheel...
/usr/lib/python3.8/site-packages/setuptools/config/pyprojecttoml.py:102: _ExperimentalProjectMetadata: Support for project metadata in `pyproject.toml` is still experimental and may be removed (or change) in future releases.
warnings.warn(msg, _ExperimentalProjectMetadata)
running egg_info
creating py/kiwisolver.egg-info
writing py/kiwisolver.egg-info/PKG-INFO
writing dependency_links to py/kiwisolver.egg-info/dependency_links.txt
writing requirements to py/kiwisolver.egg-info/requires.txt
writing top-level names to py/kiwisolver.egg-info/top_level.txt
writing manifest file 'py/kiwisolver.egg-info/SOURCES.txt'
package init file 'py/src/__init__.py' not found (or not a regular file)
package init file 'py/tests/__init__.py' not found (or not a regular file)
listing git files failed - pretending there aren't any
reading manifest file 'py/kiwisolver.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.png' under directory 'docs/source'
no previously-included directories found matching '.git'
no previously-included directories found matching 'dist'
no previously-included directories found matching 'build'
no previously-included directories found matching 'docs/build'
adding license file 'LICENSE'
writing manifest file 'py/kiwisolver.egg-info/SOURCES.txt'
* Building wheel...
/usr/lib/python3.8/site-packages/setuptools/config/pyprojecttoml.py:102: _ExperimentalProjectMetadata: Support for project metadata in `pyproject.toml` is still experimental and may be removed (or change) in future releases.
warnings.warn(msg, _ExperimentalProjectMetadata)
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-38
creating build/lib.linux-x86_64-cpython-38/kiwisolver
copying py/kiwisolver/__init__.py -> build/lib.linux-x86_64-cpython-38/kiwisolver
package init file 'py/src/__init__.py' not found (or not a regular file)
package init file 'py/tests/__init__.py' not found (or not a regular file)
creating build/lib.linux-x86_64-cpython-38/tests
copying py/tests/test_constraint.py -> build/lib.linux-x86_64-cpython-38/tests
copying py/tests/test_expression.py -> build/lib.linux-x86_64-cpython-38/tests
copying py/tests/test_solver.py -> build/lib.linux-x86_64-cpython-38/tests
copying py/tests/test_strength.py -> build/lib.linux-x86_64-cpython-38/tests
copying py/tests/test_term.py -> build/lib.linux-x86_64-cpython-38/tests
copying py/tests/test_variable.py -> build/lib.linux-x86_64-cpython-38/tests
copying py/kiwisolver/py.typed -> build/lib.linux-x86_64-cpython-38/kiwisolver
copying py/kiwisolver/_cext.pyi -> build/lib.linux-x86_64-cpython-38/kiwisolver
running build_ext
building 'kiwisolver._cext' extension
creating build/temp.linux-x86_64-cpython-38
creating build/temp.linux-x86_64-cpython-38/py
creating build/temp.linux-x86_64-cpython-38/py/src
/usr/bin/gcc -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-rtti -fPIC -I/usr/lib/python3.8/site-packages/cppy/include -I. -I/usr/include/python3.8 -c py/src/constraint.cpp -o build/temp.linux-x86_64-cpython-38/py/src/constraint.o -std=c++11
/usr/bin/gcc -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-rtti -fPIC -I/usr/lib/python3.8/site-packages/cppy/include -I. -I/usr/include/python3.8 -c py/src/expression.cpp -o build/temp.linux-x86_64-cpython-38/py/src/expression.o -std=c++11
/usr/bin/gcc -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-rtti -fPIC -I/usr/lib/python3.8/site-packages/cppy/include -I. -I/usr/include/python3.8 -c py/src/kiwisolver.cpp -o build/temp.linux-x86_64-cpython-38/py/src/kiwisolver.o -std=c++11
/usr/bin/gcc -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-rtti -fPIC -I/usr/lib/python3.8/site-packages/cppy/include -I. -I/usr/include/python3.8 -c py/src/solver.cpp -o build/temp.linux-x86_64-cpython-38/py/src/solver.o -std=c++11
In file included from ./kiwi/variable.h:11,
from ./kiwi/term.h:10,
from ./kiwi/expression.h:10,
from ./kiwi/constraint.h:12,
from ./kiwi/kiwi.h:9,
from py/src/solver.cpp:9:
In function ‘kiwi::SharedDataPtr<kiwi::Constraint::ConstraintData>::decref(kiwi::Constraint::ConstraintData*)’,
inlined from ‘kiwi::SharedDataPtr<kiwi::Constraint::ConstraintData>::~SharedDataPtr()’ at ./kiwi/shareddata.h:56:15,
inlined from ‘kiwi::Constraint::~Constraint()’ at ./kiwi/constraint.h:45:5,
inlined from ‘kiwi::impl::SolverImpl::addEditVariable(kiwi::Variable const&, double)’ at ./kiwi/solverimpl.h:219:2:
./kiwi/shareddata.h:174:29: warning: pointer used after ‘operator delete(void*)’ [-Wuse-after-free]
174 | if (data && --data->m_refcount == 0)
| ~~~~~~^~~~~~~~~~
In function ‘kiwi::SharedDataPtr<kiwi::Constraint::ConstraintData>::decref(kiwi::Constraint::ConstraintData*)’,
inlined from ‘kiwi::SharedDataPtr<kiwi::Constraint::ConstraintData>::decref(kiwi::Constraint::ConstraintData*)’ at ./kiwi/shareddata.h:172:17,
inlined from ‘kiwi::SharedDataPtr<kiwi::Constraint::ConstraintData>::~SharedDataPtr()’ at ./kiwi/shareddata.h:56:15,
inlined from ‘kiwi::Constraint::~Constraint()’ at ./kiwi/constraint.h:45:5,
inlined from ‘kiwi::impl::SolverImpl::EditInfo::~EditInfo()’ at ./kiwi/solverimpl.h:40:9,
inlined from ‘kiwi::impl::SolverImpl::addEditVariable(kiwi::Variable const&, double)’ at ./kiwi/solverimpl.h:219:2:
./kiwi/shareddata.h:175:13: note: call to ‘operator delete(void*)’ here
175 | delete data;
| ^~~~~~~~~~~
/usr/bin/gcc -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-rtti -fPIC -I/usr/lib/python3.8/site-packages/cppy/include -I. -I/usr/include/python3.8 -c py/src/strength.cpp -o build/temp.linux-x86_64-cpython-38/py/src/strength.o -std=c++11
/usr/bin/gcc -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-rtti -fPIC -I/usr/lib/python3.8/site-packages/cppy/include -I. -I/usr/include/python3.8 -c py/src/term.cpp -o build/temp.linux-x86_64-cpython-38/py/src/term.o -std=c++11
/usr/bin/gcc -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-rtti -fPIC -I/usr/lib/python3.8/site-packages/cppy/include -I. -I/usr/include/python3.8 -c py/src/variable.cpp -o build/temp.linux-x86_64-cpython-38/py/src/variable.o -std=c++11
/usr/bin/g++ -shared -Wl,-z,relro -Wl,--as-needed -Wl,--gc-sections -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,--build-id=sha1 -Wl,-z,relro -Wl,--as-needed -Wl,--gc-sections -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,--build-id=sha1 -Wl,-z,relro -Wl,--as-needed -Wl,--gc-sections -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,--build-id=sha1 -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-rtti build/temp.linux-x86_64-cpython-38/py/src/constraint.o build/temp.linux-x86_64-cpython-38/py/src/expression.o build/temp.linux-x86_64-cpython-38/py/src/kiwisolver.o build/temp.linux-x86_64-cpython-38/py/src/solver.o build/temp.linux-x86_64-cpython-38/py/src/strength.o build/temp.linux-x86_64-cpython-38/py/src/term.o build/temp.linux-x86_64-cpython-38/py/src/variable.o -L/usr/lib64 -o build/lib.linux-x86_64-cpython-38/kiwisolver/_cext.cpython-38-x86_64-linux-gnu.so
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/kiwisolver
copying build/lib.linux-x86_64-cpython-38/kiwisolver/__init__.py -> build/bdist.linux-x86_64/wheel/kiwisolver
copying build/lib.linux-x86_64-cpython-38/kiwisolver/py.typed -> build/bdist.linux-x86_64/wheel/kiwisolver
copying build/lib.linux-x86_64-cpython-38/kiwisolver/_cext.pyi -> build/bdist.linux-x86_64/wheel/kiwisolver
copying build/lib.linux-x86_64-cpython-38/kiwisolver/_cext.cpython-38-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/kiwisolver
creating build/bdist.linux-x86_64/wheel/tests
copying build/lib.linux-x86_64-cpython-38/tests/test_constraint.py -> build/bdist.linux-x86_64/wheel/tests
copying build/lib.linux-x86_64-cpython-38/tests/test_expression.py -> build/bdist.linux-x86_64/wheel/tests
copying build/lib.linux-x86_64-cpython-38/tests/test_solver.py -> build/bdist.linux-x86_64/wheel/tests
copying build/lib.linux-x86_64-cpython-38/tests/test_strength.py -> build/bdist.linux-x86_64/wheel/tests
copying build/lib.linux-x86_64-cpython-38/tests/test_term.py -> build/bdist.linux-x86_64/wheel/tests
copying build/lib.linux-x86_64-cpython-38/tests/test_variable.py -> build/bdist.linux-x86_64/wheel/tests
running install_egg_info
running egg_info
writing py/kiwisolver.egg-info/PKG-INFO
writing dependency_links to py/kiwisolver.egg-info/dependency_links.txt
writing requirements to py/kiwisolver.egg-info/requires.txt
writing top-level names to py/kiwisolver.egg-info/top_level.txt
listing git files failed - pretending there aren't any
reading manifest file 'py/kiwisolver.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.png' under directory 'docs/source'
no previously-included directories found matching '.git'
no previously-included directories found matching 'dist'
no previously-included directories found matching 'build'
no previously-included directories found matching 'docs/build'
adding license file 'LICENSE'
writing manifest file 'py/kiwisolver.egg-info/SOURCES.txt'
Copying py/kiwisolver.egg-info to build/bdist.linux-x86_64/wheel/kiwisolver-1.4.2-py3.8.egg-info
running install_scripts
adding license file "LICENSE" (matched pattern "LICEN[CS]E*")
creating build/bdist.linux-x86_64/wheel/kiwisolver-1.4.2.dist-info/WHEEL
creating '/home/tkloczko/rpmbuild/BUILD/kiwi-1.4.2/dist/tmpf04ziq60/kiwisolver-1.4.2-cp38-cp38-linux_x86_64.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'kiwisolver/__init__.py'
adding 'kiwisolver/_cext.cpython-38-x86_64-linux-gnu.so'
adding 'kiwisolver/_cext.pyi'
adding 'kiwisolver/py.typed'
adding 'tests/test_constraint.py'
adding 'tests/test_expression.py'
adding 'tests/test_solver.py'
adding 'tests/test_strength.py'
adding 'tests/test_term.py'
adding 'tests/test_variable.py'
adding 'kiwisolver-1.4.2.dist-info/LICENSE'
adding 'kiwisolver-1.4.2.dist-info/METADATA'
adding 'kiwisolver-1.4.2.dist-info/WHEEL'
adding 'kiwisolver-1.4.2.dist-info/top_level.txt'
adding 'kiwisolver-1.4.2.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built kiwisolver-1.4.2-cp38-cp38-linux_x86_64.whl
😄
However it is yet another small issue ..
After build and test correctly kiwi
I found that in DESTDIR are installed py/tests/ files.
My rpm build stopped informnig me that there are some unpackaged files
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-kiwisolver-1.4.2-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-kiwisolver-1.4.2-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra
==================================================================== test session starts =====================================================================
platform linux -- Python 3.8.13, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/kiwi-1.4.2, configfile: pyproject.toml
collected 50 items
py/tests/test_constraint.py ........ [ 16%]
py/tests/test_expression.py ............ [ 40%]
py/tests/test_solver.py ......... [ 58%]
py/tests/test_strength.py .. [ 62%]
py/tests/test_term.py ............ [ 86%]
py/tests/test_variable.py ....... [100%]
===================================================================== 50 passed in 0.29s =====================================================================
'Objective\n---------\n + 2 * e2 + 1 * s8 + -2 * s10\n\nTableau\n-------\nv1 | + 1 * s10\ne3 | + 1 * e2 + -1 * s10\nv4 | + -1 * d5 + -1 * s10\ns6 | + -1 * s10\ne9 | + 1 * s8 + -1 * s10\n\nInfeasible\n----------\ne3\ne9\n\nVariables\n---------\nfoo = v4\nbar = v1\n\nEdit Variables\n--------------\nbar\n\nConstraints\n-----------\n1 * bar + 1 <= 0 | strength = 1.001e+09\n1 * bar + -0 >= 0 | strength = 1\n1 * foo + 1 * bar + 0 == 0 | strength = 1.001e+09\n1 * bar + 0 == 0 | strength = 1\n\n\n'+ RPM_EC=0
++ jobs -p
+ exit 0
Processing files: python-kiwisolver-1.4.2-2.fc35.x86_64
Provides: python-kiwisolver = 1.4.2-2.fc35 python-kiwisolver(x86-64) = 1.4.2-2.fc35 python3.8dist(kiwisolver) = 1.4.2 python3dist(kiwisolver) = 1.4.2
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.4)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.11)(64bit) libstdc++.so.6(GLIBCXX_3.4.21)(64bit) libstdc++.so.6(GLIBCXX_3.4.29)(64bit) libstdc++.so.6(GLIBCXX_3.4.30)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) python(abi) = 3.8 rtld(GNU_HASH)
Obsoletes: python3-kiwisolver
Processing files: python-kiwisolver-debugsource-1.4.2-2.fc35.x86_64
Provides: python-kiwisolver-debugsource = 1.4.2-2.fc35 python-kiwisolver-debugsource(x86-64) = 1.4.2-2.fc35
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Processing files: python-kiwisolver-debuginfo-1.4.2-2.fc35.x86_64
Provides: debuginfo(build-id) = 79b673b7456938960f8152423d958404d42554f1 python-kiwisolver-debuginfo = 1.4.2-2.fc35 python-kiwisolver-debuginfo(x86-64) = 1.4.2-2.fc35
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Recommends: python-kiwisolver-debugsource(x86-64) = 1.4.2-2.fc35
Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/tkloczko/rpmbuild/BUILDROOT/python-kiwisolver-1.4.2-2.fc35.x86_64
error: Installed (but unpackaged) file(s) found:
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_constraint.cpython-38.opt-1.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_constraint.cpython-38.opt-2.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_constraint.cpython-38.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_expression.cpython-38.opt-1.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_expression.cpython-38.opt-2.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_expression.cpython-38.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_solver.cpython-38.opt-1.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_solver.cpython-38.opt-2.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_solver.cpython-38.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_strength.cpython-38.opt-1.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_strength.cpython-38.opt-2.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_strength.cpython-38.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_term.cpython-38.opt-1.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_term.cpython-38.opt-2.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_term.cpython-38.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_variable.cpython-38.opt-1.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_variable.cpython-38.opt-2.pyc
/usr/lib64/python3.8/site-packages/tests/__pycache__/test_variable.cpython-38.pyc
/usr/lib64/python3.8/site-packages/tests/test_constraint.py
/usr/lib64/python3.8/site-packages/tests/test_expression.py
/usr/lib64/python3.8/site-packages/tests/test_solver.py
/usr/lib64/python3.8/site-packages/tests/test_strength.py
/usr/lib64/python3.8/site-packages/tests/test_term.py
/usr/lib64/python3.8/site-packages/tests/test_variable.py
[tkloczko@devel-g2v kiwi-1.4.2]$ grep -r /tests
.github/workflows/ci.yml: cd py/tests
.github/workflows/release.yml: python -m pytest kiwi/py/tests
.github/workflows/release.yml: CIBW_TEST_COMMAND: python -m pytest {package}/py/tests -v
.github/workflows/release.yml: CIBW_TEST_COMMAND: python -m pytest {package}/py/tests -v
You shoud not use python -m pytest
bacause if python is executed with python -m foo
it always adds curent directory to sys.path
. This is why pytest prowides pytest
executable script.
I will try to address the issue of the included tests ASAP and before releasing the 3.11 bugfix version.
Looks like patch like below fixes the issue
--- a/pyproject.toml~ 2022-06-12 18:32:43.000000000 +0000
+++ b/pyproject.toml 2022-06-12 18:48:20.883776396 +0000
@@ -48,6 +48,7 @@
[tool.setuptools.packages.find]
where = ["py"]
+exclude = ["tests"]
[tool.setuptools_scm]
write_to = "py/src/version.h"
Nevertheless .. thank you very much for your help 👍 😃
Can you make a PR with that and the pytest invocation CIs fixes?
I will keep the current invocation method of pytest a there is no way to pass the equivalent of -X dev to pytest directly. Thanks for the suggestion anyway.
Can you make a PR with that and the pytest invocation CIs fixes?
One sec ..
Ok I see that you already committed that fix 👍
Yep and I cut the new release the wheels should appear as soon as the aarch job completes...
Looks like
build
shows some warnings.There is as well one compile time warning.