conda-forge / manif-feedstock

A conda-smithy repository for manif.
BSD 3-Clause "New" or "Revised" License
1 stars 4 forks source link

Bump build number to build with recent dependencies and add a run dependency on the minor version of numpy #21

Closed traversaro closed 2 years ago

traversaro commented 2 years ago

Checklist

conda-forge-linter commented 2 years ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

traversaro commented 2 years ago

@conda-forge-admin, please rerender

github-actions[bot] commented 2 years ago

Hi! This is the friendly conda-forge automerge bot!

Commits were made to this PR after the automerge label was added. For security reasons, I have disabled automerge by removing the automerge label. Please add the automerge label again (or ask a maintainer to do so) if you'd like to enable automerge again!

traversaro commented 2 years ago

add a run dependency on the minor version of numpy

This is required due to how pybind11 does compatibility checks on types, see https://github.com/ami-iit/bipedal-locomotion-framework/issues/545#issuecomment-1168775950 .

traversaro commented 2 years ago

macOS error:

2022-06-28T14:23:32.3888920Z [  4%] Building CXX object examples/CMakeFiles/so2_average.dir/so2_average.cpp.o
2022-06-28T14:23:32.5093010Z In file included from /Users/runner/miniforge3/conda-bld/manif-split_1656425983025/work/examples/so2_average.cpp:1:
2022-06-28T14:23:32.5094690Z In file included from /Users/runner/miniforge3/conda-bld/manif-split_1656425983025/work/include/manif/SO2.h:4:
2022-06-28T14:23:32.5096170Z /Users/runner/miniforge3/conda-bld/manif-split_1656425983025/work/include/manif/impl/macro.h:39:16: error: no member named 'forward' in namespace 'std'
2022-06-28T14:23:32.5097550Z   throw E(std::forward<Args>(args)...);
2022-06-28T14:23:32.5098110Z           ~~~~~^
2022-06-28T14:23:32.5099290Z /Users/runner/miniforge3/conda-bld/manif-split_1656425983025/work/include/manif/impl/macro.h:39:24: error: 'Args' does not refer to a value
2022-06-28T14:23:32.5100280Z   throw E(std::forward<Args>(args)...);
2022-06-28T14:23:32.5100820Z                        ^
2022-06-28T14:23:32.5101940Z /Users/runner/miniforge3/conda-bld/manif-split_1656425983025/work/include/manif/impl/macro.h:28:35: note: declared here
2022-06-28T14:23:32.5102750Z template <typename E, typename... Args>
2022-06-28T14:23:32.5103260Z                                   ^
2022-06-28T14:23:35.1823950Z 2 errors generated.
traversaro commented 2 years ago

It seems that for some reason C++11 is still used on macOS, see https://stackoverflow.com/questions/10948355/no-member-named-forward-in-namespace-std .

traversaro commented 2 years ago

It seems that for some reason C++11 is still used on macOS, see https://stackoverflow.com/questions/10948355/no-member-named-forward-in-namespace-std .

The issue was actually a missing header, see https://github.com/artivis/manif/pull/248 .

traversaro commented 2 years ago

@conda-forge-admin, please rerender

github-actions[bot] commented 2 years ago

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

This message was generated by GitHub actions workflow run https://github.com/conda-forge/manif-feedstock/actions/runs/2581553836.

traversaro commented 2 years ago

Error:

[8/8] Linking CXX shared module manifpy\_bindings.cp37-win_amd64.pyd
FAILED: manifpy/_bindings.cp37-win_amd64.pyd 
cmd.exe /C "cd . && D:\bld\manif-split_1656489389625\_build_env\Library\bin\cmake.exe -E vs_link_dll --intdir=python\CMakeFiles\manifpy.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100220~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100220~1.0\x64\mt.exe --manifests  -- C:\PROGRA~1\LLVM\bin\lld-link.exe /nologo python\CMakeFiles\manifpy.dir\bindings_rn.cpp.obj python\CMakeFiles\manifpy.dir\bindings_so2.cpp.obj python\CMakeFiles\manifpy.dir\bindings_so3.cpp.obj python\CMakeFiles\manifpy.dir\bindings_se2.cpp.obj python\CMakeFiles\manifpy.dir\bindings_se3.cpp.obj python\CMakeFiles\manifpy.dir\bindings_se_2_3.cpp.obj python\CMakeFiles\manifpy.dir\bindings_manif.cpp.obj  /out:manifpy\_bindings.cp37-win_amd64.pyd /implib:python\_bindings.lib /pdb:manifpy\_bindings.pdb /dll /version:0.0 /machine:x64 /INCREMENTAL:NO  -flto  D:\bld\manif-split_1656489389625\_h_env\libs\python37.lib  kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib  && cd ."
LINK: command "C:\PROGRA~1\LLVM\bin\lld-link.exe /nologo python\CMakeFiles\manifpy.dir\bindings_rn.cpp.obj python\CMakeFiles\manifpy.dir\bindings_so2.cpp.obj python\CMakeFiles\manifpy.dir\bindings_so3.cpp.obj python\CMakeFiles\manifpy.dir\bindings_se2.cpp.obj python\CMakeFiles\manifpy.dir\bindings_se3.cpp.obj python\CMakeFiles\manifpy.dir\bindings_se_2_3.cpp.obj python\CMakeFiles\manifpy.dir\bindings_manif.cpp.obj /out:manifpy\_bindings.cp37-win_amd64.pyd /implib:python\_bindings.lib /pdb:manifpy\_bindings.pdb /dll /version:0.0 /machine:x64 /INCREMENTAL:NO -flto D:\bld\manif-split_1656489389625\_h_env\libs\python37.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:manifpy\_bindings.cp37-win_amd64.pyd.manifest" failed (exit code 0) with the following output:
 #3 0x00007ff6826789d9 (C:\PROGRA~1\LLVM\bin\lld-link.exe+0xa89d9)
 #4 0x00007ff68268c4a3 (C:\PROGRA~1\LLVM\bin\lld-link.exe+0xbc4a3)
 #5 0x00007ff68266817f (C:\PROGRA~1\LLVM\bin\lld-link.exe+0x9817f)
 #6 0x00007ff6826606a0 (C:\PROGRA~1\LLVM\bin\lld-link.exe+0x906a0)
 #7 0x00007ff6825d191e (C:\PROGRA~1\LLVM\bin\lld-link.exe+0x191e)
 #8 0x00007ff6825d1461 (C:\PROGRA~1\LLVM\bin\lld-link.exe+0x1461)
 #9 0x00007ff684dab09c (C:\PROGRA~1\LLVM\bin\lld-link.exe+0x27db09c)
#10 0x00007fffdfad7974 (C:\Windows\System32\KERNEL32.DLL+0x17974)
#11 0x00007fffdfc0a2f1 (C:\Windows\SYSTEM32\ntdll.dll+0x5a2f1)
Access violation
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "C:\Miniforge\Scripts\conda-mambabuild-script.py", line 9, in <module>
    sys.exit(main())
  File "C:\Miniforge\lib\site-packages\boa\cli\mambabuild.py", line 239, in main
    call_conda_build(action, config)
  File "C:\Miniforge\lib\site-packages\boa\cli\mambabuild.py", line 211, in call_conda_build
    result = api.build(
  File "C:\Miniforge\lib\site-packages\conda_build\api.py", line 186, in build
    return build_tree(
  File "C:\Miniforge\lib\site-packages\conda_build\build.py", line 3088, in build_tree
    packages_from_this = build(metadata, stats,
  File "C:\Miniforge\lib\site-packages\conda_build\build.py", line 2371, in build
    newly_built_packages = bundlers[pkg_type](output_d, m, env, stats)
  File "C:\Miniforge\lib\site-packages\conda_build\build.py", line 1616, in bundle_conda
    utils.check_call_env(interpreter_and_args + [dest_file],
  File "C:\Miniforge\lib\site-packages\conda_build\utils.py", line 411, in check_call_env
    return _func_defaulting_env_to_os_environ('call', *popenargs, **kwargs)
  File "C:\Miniforge\lib\site-packages\conda_build\utils.py", line 391, in _func_defaulting_env_to_os_environ
    raise subprocess.CalledProcessError(proc.returncode, _args)
subprocess.CalledProcessError: Command '['C:\\Windows\\system32\\cmd.exe', '/d', '/c', 'D:\\bld\\manif-split_1656489389625\\work\\bld_py.bat']' returned non-zero exit status 1.

The problem may be related to the fact that a strange lld-ld.exe not installed by conda is used.

traversaro commented 2 years ago

@conda-forge-admin, please rerender

github-actions[bot] commented 2 years ago

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

This message was generated by GitHub actions workflow run https://github.com/conda-forge/manif-feedstock/actions/runs/2583877069.

traversaro commented 2 years ago

I think there is some kind of non-deterministic condition, without changing anything now Windows/Python 3.7 is failing with error:

[8/8] Linking CXX shared module manifpy\_bindings.cp37-win_amd64.pyd
FAILED: manifpy/_bindings.cp37-win_amd64.pyd 
cmd.exe /C "cd . && D:\bld\manif-split_1656513579397\_build_env\Library\bin\cmake.exe -E vs_link_dll --intdir=python\CMakeFiles\manifpy.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100220~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100220~1.0\x64\mt.exe --manifests  -- D:\bld\manif-split_1656513579397\_build_env\Library\bin\lld-link.exe /nologo python\CMakeFiles\manifpy.dir\bindings_rn.cpp.obj python\CMakeFiles\manifpy.dir\bindings_so2.cpp.obj python\CMakeFiles\manifpy.dir\bindings_so3.cpp.obj python\CMakeFiles\manifpy.dir\bindings_se2.cpp.obj python\CMakeFiles\manifpy.dir\bindings_se3.cpp.obj python\CMakeFiles\manifpy.dir\bindings_se_2_3.cpp.obj python\CMakeFiles\manifpy.dir\bindings_manif.cpp.obj  /out:manifpy\_bindings.cp37-win_amd64.pyd /implib:python\_bindings.lib /pdb:manifpy\_bindings.pdb /dll /version:0.0 /machine:x64 /INCREMENTAL:NO  -flto  D:\bld\manif-split_1656513579397\_h_env\libs\python37.lib  kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib  && cd ."
LINK: command "D:\bld\manif-split_1656513579397\_build_env\Library\bin\lld-link.exe /nologo python\CMakeFiles\manifpy.dir\bindings_rn.cpp.obj python\CMakeFiles\manifpy.dir\bindings_so2.cpp.obj python\CMakeFiles\manifpy.dir\bindings_so3.cpp.obj python\CMakeFiles\manifpy.dir\bindings_se2.cpp.obj python\CMakeFiles\manifpy.dir\bindings_se3.cpp.obj python\CMakeFiles\manifpy.dir\bindings_se_2_3.cpp.obj python\CMakeFiles\manifpy.dir\bindings_manif.cpp.obj /out:manifpy\_bindings.cp37-win_amd64.pyd /implib:python\_bindings.lib /pdb:manifpy\_bindings.pdb /dll /version:0.0 /machine:x64 /INCREMENTAL:NO -flto D:\bld\manif-split_1656513579397\_h_env\libs\python37.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:manifpy\_bindings.cp37-win_amd64.pyd.manifest" failed (exit code 0) with the following output:
lld-link: warning: ignoring unknown argument '-flto'
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.  Program arguments: D:\\bld\\manif-split_1656513579397\\_build_env\\Library\\bin\\lld-link.exe /nologo python\\CMakeFiles\\manifpy.dir\\bindings_rn.cpp.obj python\\CMakeFiles\\manifpy.dir\\bindings_so2.cpp.obj python\\CMakeFiles\\manifpy.dir\\bindings_so3.cpp.obj python\\CMakeFiles\\manifpy.dir\\bindings_se2.cpp.obj python\\CMakeFiles\\manifpy.dir\\bindings_se3.cpp.obj python\\CMakeFiles\\manifpy.dir\\bindings_se_2_3.cpp.obj python\\CMakeFiles\\manifpy.dir\\bindings_manif.cpp.obj /out:manifpy\\_bindings.cp37-win_amd64.pyd /implib:python\\_bindings.lib /pdb:manifpy\\_bindings.pdb /dll /version:0.0 /machine:x64 /INCREMENTAL:NO -flto D:\\bld\\manif-split_1656513579397\\_h_env\\libs\\python37.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:manifpy\\_bindings.cp37-win_amd64.pyd.manifest
 #0 0x00007ff6df79f70e (D:\bld\manif-split_1656513579397\_build_env\Library\bin\lld-link.exe+0xcf70e)
 #1 0x00007ff6df79db2e (D:\bld\manif-split_1656513579397\_build_env\Library\bin\lld-link.exe+0xcdb2e)
 #2 0x00007ff6df79f6a7 (D:\bld\manif-split_1656513579397\_build_env\Library\bin\lld-link.exe+0xcf6a7)
 #3 0x00007ff6df858ba0 (D:\bld\manif-split_1656513579397\_build_env\Library\bin\lld-link.exe+0x188ba0)
 #4 0x00007ff6df85ec6d (D:\bld\manif-split_1656513579397\_build_env\Library\bin\lld-link.exe+0x18ec6d)
 #5 0x00007ff6df828640 (D:\bld\manif-split_1656513579397\_build_env\Library\bin\lld-link.exe+0x158640)
 #6 0x00007ff6df8226ef (D:\bld\manif-split_1656513579397\_build_env\Library\bin\lld-link.exe+0x1526ef)
 #7 0x00007ff6df78b9a2 (D:\bld\manif-split_1656513579397\_build_env\Library\bin\lld-link.exe+0xbb9a2)
 #8 0x00007ff6df78bde8 (D:\bld\manif-split_1656513579397\_build_env\Library\bin\lld-link.exe+0xbbde8)
 #9 0x00007ff6e1cbc830 (D:\bld\manif-split_1656513579397\_build_env\Library\bin\lld-link.exe+0x25ec830)
#10 0x00007ffb9b0f7974 (C:\Windows\System32\KERNEL32.DLL+0x17974)
#11 0x00007ffb9c51a2f1 (C:\Windows\SYSTEM32\ntdll.dll+0x5a2f1)
Access violation
ninja: build stopped: subcommand failed.
traversaro commented 2 years ago

Pinning clang/lld/llvm-tools to 13 fixed the problem on Windows.

traversaro commented 2 years ago

Unfortunatly the number of build jobs is hardcoded in ninja, and it can't be easily changed in https://github.com/diegoferigo/cmake-build-extension/ .

traversaro commented 2 years ago

Unfortunatly the number of build jobs is hardcoded in ninja, and it can't be easily changed in https://github.com/diegoferigo/cmake-build-extension/ .

I used a cool workaround from https://github.com/ninja-build/ninja/issues/922#issuecomment-77061755 to limit the number of jobs of ninja:

if [[ ${target_platform} == "linux-ppc64le" || ${target_platform} == "linux-aarch64" ]]; then
    alias ninja='`which ninja` -j1'
fi
traversaro commented 2 years ago

Unfortunatly the number of build jobs is hardcoded in ninja, and it can't be easily changed in https://github.com/diegoferigo/cmake-build-extension/ .

I used a cool workaround from ninja-build/ninja#922 (comment) to limit the number of jobs of ninja:

if [[ ${target_platform} == "linux-ppc64le" || ${target_platform} == "linux-aarch64" ]]; then
    alias ninja='`which ninja` -j1'
fi

Apparently this is not working with CMake, either by CMake in itself or due to https://github.com/diegoferigo/cmake-build-extension/pull/29 .

traversaro commented 2 years ago

Unfortunatly the number of build jobs is hardcoded in ninja, and it can't be easily changed in https://github.com/diegoferigo/cmake-build-extension/ .

I used a cool workaround from ninja-build/ninja#922 (comment) to limit the number of jobs of ninja:

if [[ ${target_platform} == "linux-ppc64le" || ${target_platform} == "linux-aarch64" ]]; then
    alias ninja='`which ninja` -j1'
fi

Apparently this is not working with CMake, either by CMake in itself or due to diegoferigo/cmake-build-extension#29 .

Cool, but you can always rely on CMake having some useful env variable, for example https://cmake.org/cmake/help/latest/envvar/CMAKE_BUILD_PARALLEL_LEVEL.html .

traversaro commented 2 years ago

@conda-forge-admin, please rerender

traversaro commented 2 years ago

@conda-forge-admin, please rerender

traversaro commented 2 years ago

@GiulioRomualdi after merging this we should not need to manually pin the numpy minor version in blf CI.