Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 30 commits into from
Jun 29, 2022

Conversation

traversaro
Copy link
Contributor

@traversaro traversaro commented Jun 28, 2022

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

@conda-forge-linter
Copy link

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
Copy link
Contributor Author

@conda-forge-admin, please rerender

@traversaro traversaro added automerge Merge the PR when CI passes labels Jun 28, 2022
@github-actions github-actions bot removed the automerge Merge the PR when CI passes label Jun 28, 2022
@github-actions
Copy link
Contributor

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 traversaro changed the title Bump build number to build with recent dependencies Bump build number to build with recent dependencies and add a run dependency on the minor version of numpy Jun 28, 2022
@traversaro
Copy link
Contributor Author

add a run dependency on the minor version of numpy

This is required due to how pybind11 does compatibility checks on types, see ami-iit/bipedal-locomotion-framework#545 (comment) .

@traversaro
Copy link
Contributor Author

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
Copy link
Contributor Author

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
Copy link
Contributor Author

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 artivis/manif#248 .

@traversaro
Copy link
Contributor Author

@conda-forge-admin, please rerender

@github-actions
Copy link
Contributor

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
Copy link
Contributor Author

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
Copy link
Contributor Author

@conda-forge-admin, please rerender

@github-actions
Copy link
Contributor

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
Copy link
Contributor Author

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
Copy link
Contributor Author

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

@traversaro
Copy link
Contributor Author

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
Copy link
Contributor Author

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

@traversaro
Copy link
Contributor Author

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 .

@traversaro
Copy link
Contributor Author

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
Copy link
Contributor Author

@conda-forge-admin, please rerender

conda-forge-webservices[bot] and others added 2 commits June 29, 2022 19:11
@traversaro
Copy link
Contributor Author

@conda-forge-admin, please rerender

conda-forge-webservices[bot] and others added 3 commits June 29, 2022 20:42
@traversaro
Copy link
Contributor Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants