nucleic / kiwi

Efficient C++ implementation of the Cassowary constraint solving algorithm
https://kiwisolver.readthedocs.io/en/latest/
Other
692 stars 88 forks source link

1.4.2: pep517 warnings #139

Closed kloczek closed 2 years ago

kloczek commented 2 years ago

Looks like build shows some warnings.

+ /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)
/usr/lib/python3.8/site-packages/setuptools/config/_apply_pyprojecttoml.py:93: _WouldIgnoreField: !!

    ##########################################################################
    # configuration would be ignored/result in error due to `pyproject.toml` #
    ##########################################################################

    The following seems to be defined outside of `pyproject.toml`:

    `dependencies = ["typing_extensions;python_version<'3.8'"]`

    According to the spec (see the link bellow), however, setuptools CANNOT
    consider this value unless 'dependencies' is listed as `dynamic`.

    https://packaging.python.org/en/latest/specifications/declaring-project-metadata/

    For the time being, `setuptools` will still consider the given value (as a
    **transitional** measure), but please note that future releases of setuptools will
    follow strictly the standard.

    To prevent this warning, you can list 'dependencies' under `dynamic` or alternatively
    remove the `[project]` table from your file and rely entirely on other means of
    configuration.

!!

  warnings.warn(msg, _WouldIgnoreField)
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'
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)
/usr/lib/python3.8/site-packages/setuptools/config/_apply_pyprojecttoml.py:93: _WouldIgnoreField: !!

    ##########################################################################
    # configuration would be ignored/result in error due to `pyproject.toml` #
    ##########################################################################

    The following seems to be defined outside of `pyproject.toml`:

    `dependencies = ["typing_extensions;python_version<'3.8'"]`

    According to the spec (see the link bellow), however, setuptools CANNOT
    consider this value unless 'dependencies' is listed as `dynamic`.

    https://packaging.python.org/en/latest/specifications/declaring-project-metadata/

    For the time being, `setuptools` will still consider the given value (as a
    **transitional** measure), but please note that future releases of setuptools will
    follow strictly the standard.

    To prevent this warning, you can list 'dependencies' under `dynamic` or alternatively
    remove the `[project]` table from your file and rely entirely on other means of
    configuration.

!!

  warnings.warn(msg, _WouldIgnoreField)
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
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
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/tmpnwm73omd/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 '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

There is as well one compile time warning.

MatthieuDartiailh commented 2 years ago

Thanks for the report. Do you want to make a PR addressing the pyproject.toml ?

MatthieuDartiailh commented 2 years ago

@kloczek can you check #140 does fix the Python issue ? I will try to look at the C++ warning later.

MatthieuDartiailh commented 2 years ago

@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).

MatthieuDartiailh commented 2 years ago

ping @kloczek

kloczek commented 2 years ago

Sorry but I'm not C++ developer .. 😞

MatthieuDartiailh commented 2 years ago

No problem. I pinged you @kloczek simply about the fix for the python packaging part for which I have a patch in #140

kloczek commented 2 years ago

OK one sec let me check that 😋

kloczek commented 2 years ago

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

😄

kloczek commented 2 years ago

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
kloczek commented 2 years ago
[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.

MatthieuDartiailh commented 2 years ago

I will try to address the issue of the included tests ASAP and before releasing the 3.11 bugfix version.

kloczek commented 2 years ago

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"
kloczek commented 2 years ago

Nevertheless .. thank you very much for your help 👍 😃

MatthieuDartiailh commented 2 years ago

Can you make a PR with that and the pytest invocation CIs fixes?

MatthieuDartiailh commented 2 years ago

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.

kloczek commented 2 years ago

Can you make a PR with that and the pytest invocation CIs fixes?

One sec ..

kloczek commented 2 years ago

Ok I see that you already committed that fix 👍

MatthieuDartiailh commented 2 years ago

Yep and I cut the new release the wheels should appear as soon as the aarch job completes...