RoboStack / ros-galactic

Vinca build files for ROS 2 Galactic Geochelone
https://robostack.github.io
21 stars 14 forks source link

Upgrade Windows builds to Python 3.9 #86

Closed traversaro closed 2 years ago

traversaro commented 2 years ago

Fix https://github.com/RoboStack/ros-galactic/issues/85 .

traversaro commented 2 years ago

No CI job is starting. @Tobias-Fischer @wolfv not sure if you need to "approve" me as a contributor as I never did a PR to this repo for the CI to start.

traversaro commented 2 years ago

No CI job is starting. @Tobias-Fischer @wolfv not sure if you need to "approve" me as a contributor as I never did a PR to this repo for the CI to start.

Got it, due to https://github.com/RoboStack/ros-galactic/blob/d4b28986669ca46ca4a73c7475c94f26060c7033/.github/workflows/testpr.yml#L4 you need to modify a .yaml file to trigger CI.

traversaro commented 2 years ago

Now the build fails in CI and also locally with:

2022-03-26T16:10:15.3318986Z -- Found ament_cmake_core: 1.1.5 (C:/Miniconda/conda-bld/ros_1648310396542/_h_env/Library/share/ament_cmake_core/cmake)
2022-03-26T16:10:15.3319536Z -- Found PythonInterp: C:/Miniconda/conda-bld/ros_1648310396542/_h_env/python.exe (found suitable version "3.9.12", minimum required is "3") 
2022-03-26T16:10:15.3320060Z -- Using PYTHON_EXECUTABLE: C:/Miniconda/conda-bld/ros_1648310396542/_h_env/python.exe
2022-03-26T16:10:15.3320479Z -- Configuring incomplete, errors occurred!
2022-03-26T16:10:15.3320924Z See also "C:/Miniconda/conda-bld/ros_1648310396542/work/build/CMakeFiles/CMakeOutput.log".
2022-03-26T16:10:15.3321236Z 
2022-03-26T16:10:15.3321336Z 
2022-03-26T16:10:15.3321578Z Work directory: C:\Miniconda\conda-bld\ros_1648310396542\work
2022-03-26T16:10:15.3321933Z Try building again with 
2022-03-26T16:10:15.3322283Z C:\Miniconda\conda-bld\ros_1648310396542\work\conda_build.bat
2022-03-26T16:10:15.3322633Z ERROR: Build failed!
2022-03-26T16:10:16.3552164Z +--------------------- Traceback (most recent call last) ---------------------+
2022-03-26T16:10:16.6474791Z |                                                                             |
2022-03-26T16:10:16.6480219Z | C:\Miniconda\lib\site-packages\boa\core\build.py:647 in build               |
2022-03-26T16:10:16.6480838Z |                                                                             |
2022-03-26T16:10:16.6481187Z |   644             f.write("\n".join(sorted(list(files_before_script))))     |
2022-03-26T16:10:16.6481618Z |   645             f.write("\n")                                             |
2022-03-26T16:10:16.6481906Z |   646                                                                       |
2022-03-26T16:10:16.6482404Z | > 647         execute_build_script(m, src_dir, env, provision_only=provisio |
2022-03-26T16:10:16.6482747Z |   648                                                                       |
2022-03-26T16:10:16.6483551Z |   649         if provision_only:                                            |
2022-03-26T16:10:16.6484085Z |   650             return                                                    |
2022-03-26T16:10:16.6485026Z | C:\Miniconda\lib\site-packages\boa\core\build.py:485 in                     |
2022-03-26T16:10:16.6485721Z | execute_build_script                                                        |
2022-03-26T16:10:16.6500423Z |                                                                             |
2022-03-26T16:10:16.6500827Z |   482                 with codecs.getwriter("utf-8")(open(build_file, "wb") |
2022-03-26T16:10:16.6501201Z |   483                     bf.write(script)                                  |
2022-03-26T16:10:16.6501521Z |   484                                                                       |
2022-03-26T16:10:16.6501820Z | > 485             windows.build(                                            |
2022-03-26T16:10:16.6502139Z |   486                 m, build_file, stats=build_stats, provision_only=prov |
2022-03-26T16:10:16.6502486Z |   487             )                                                         |
2022-03-26T16:10:16.6502774Z |   488         else:                                                         |
2022-03-26T16:10:16.6503053Z |                                                                             |
2022-03-26T16:10:16.6503403Z | C:\Miniconda\lib\site-packages\conda_build\windows.py:297 in build          |
2022-03-26T16:10:16.6503796Z |                                                                             |
2022-03-26T16:10:16.6504139Z |   294                 for k in ['PREFIX', 'BUILD_PREFIX', 'SRC_DIR'] if k i |
2022-03-26T16:10:16.6504463Z |   295             }                                                         |
2022-03-26T16:10:16.6504782Z |   296             print("Rewriting env in output: %s" % pprint.pformat(rewr |
2022-03-26T16:10:16.6505153Z | > 297         check_call_env(cmd, cwd=m.config.work_dir, stats=stats, rewri |
2022-03-26T16:10:16.6505538Z |   298         fix_staged_scripts(join(m.config.host_prefix, 'Scripts'), con |
2022-03-26T16:10:16.6505868Z |   299                                                                       |
2022-03-26T16:10:16.6506126Z |                                                                             |
2022-03-26T16:10:16.6506482Z | C:\Miniconda\lib\site-packages\conda_build\utils.py:410 in check_call_env   |
2022-03-26T16:10:16.6506847Z |                                                                             |
2022-03-26T16:10:16.6507130Z |    407                                                                      |
2022-03-26T16:10:16.6507400Z |    408                                                                      |
2022-03-26T16:10:16.6507675Z |    409 def check_call_env(popenargs, **kwargs):                             |
2022-03-26T16:10:16.6508052Z | >  410     return _func_defaulting_env_to_os_environ('call', *popenargs, ** |
2022-03-26T16:10:16.6508388Z |    411                                                                      |
2022-03-26T16:10:16.6508673Z |    412                                                                      |
2022-03-26T16:10:16.6508969Z |    413 def check_output_env(popenargs, **kwargs):                           |
2022-03-26T16:10:16.6509309Z |                                                                             |
2022-03-26T16:10:16.6509656Z | C:\Miniconda\lib\site-packages\conda_build\utils.py:390 in                  |
2022-03-26T16:10:16.6510025Z | _func_defaulting_env_to_os_environ                                          |
2022-03-26T16:10:16.6510306Z |                                                                             |
2022-03-26T16:10:16.6511447Z |    387             out = proc.out.read()                                    |
2022-03-26T16:10:16.6511744Z |    388                                                                      |
2022-03-26T16:10:16.6512133Z |    389         if proc.returncode != 0:                                     |
2022-03-26T16:10:16.6512497Z | >  390             raise subprocess.CalledProcessError(proc.returncode, _ar |
2022-03-26T16:10:16.6512837Z |    391                                                                      |
2022-03-26T16:10:16.6513169Z |    392         stats.update({'elapsed': proc.elapsed,                       |
2022-03-26T16:10:16.6513498Z |    393                     'disk': proc.disk,                               |
2022-03-26T16:10:16.6514613Z +-----------------------------------------------------------------------------+
2022-03-26T16:10:16.6515050Z CalledProcessError: Command '['cmd.exe', '/d', '/c', 'conda_build.bat']' 
2022-03-26T16:10:16.6515406Z returned non-zero exit status 1.
2022-03-26T16:10:16.6515620Z 
2022-03-26T16:10:16.6515867Z During handling of the above exception, another exception occurred:
2022-03-26T16:10:16.6516057Z 
2022-03-26T16:10:16.6516300Z +--------------------- Traceback (most recent call last) ---------------------+
2022-03-26T16:10:16.6516642Z |                                                                             |
2022-03-26T16:10:16.6517023Z | C:\Miniconda\lib\site-packages\boa\core\run_build.py:569 in build_recipe    |
2022-03-26T16:10:16.6517398Z |                                                                             |
2022-03-26T16:10:16.6517723Z |   566                 f"\n[yellow]Starting build for [bold]{o.name}[/bold][ |
2022-03-26T16:10:16.6518029Z |   567             )                                                         |
2022-03-26T16:10:16.6518318Z |   568                                                                       |
2022-03-26T16:10:16.6518620Z | > 569             final_outputs = build(                                    |
2022-03-26T16:10:16.6518916Z |   570                 meta,                                                 |
2022-03-26T16:10:16.6519181Z |   571                 None,                                                 |
2022-03-26T16:10:16.6519519Z |   572                 allow_interactive=interactive,                        |
2022-03-26T16:10:16.6519909Z | C:\Miniconda\lib\site-packages\boa\core\build.py:681 in build               |
2022-03-26T16:10:16.6520263Z |                                                                             |
2022-03-26T16:10:16.6520534Z |   678                 sys.exit()                                            |
2022-03-26T16:10:16.6520828Z |   679         else:                                                         |
2022-03-26T16:10:16.6521166Z |   680             console.print("[red]ERROR: Build failed!")                |
2022-03-26T16:10:16.6521521Z | > 681             raise RuntimeError("Build failed")                        |
2022-03-26T16:10:16.6521834Z |   682                                                                       |
2022-03-26T16:10:16.6522156Z +-----------------------------------------------------------------------------+
2022-03-26T16:10:16.6522570Z RuntimeError: Build failed

@Tobias-Fischer do you have for a command to iterate faster in the error then boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml ? Running that takes ~10 minutes before reaching the actual error. There is some command to specify the package to build?

traversaro commented 2 years ago

The actual error seems:

2022-03-26T16:10:07.2907003Z Starting build for ros-galactic-ros-workspace
2022-03-26T16:10:07.2907266Z 
2022-03-26T16:10:07.3214298Z source tree in: C:\Miniconda\conda-bld\ros_1648310396542\work
2022-03-26T16:10:11.8375285Z CMake Warning at CMakeLists.txt:24 (message):
2022-03-26T16:10:11.8383831Z   Could not find
2022-03-26T16:10:11.8409805Z   'C:/Miniconda/conda-bld/ros_1648310396542/_h_env/Library/lib/site-packages/ament_package',
2022-03-26T16:10:11.8417858Z   now try 'C:\hostedtoolcache\windows\Python\3.7.9\x64/ament_package'
2022-03-26T16:10:11.8432676Z   instead.
2022-03-26T16:10:11.8433786Z 
2022-03-26T16:10:11.8434052Z 
2022-03-26T16:10:11.8434487Z CMake Error at CMakeLists.txt:33 (message):
2022-03-26T16:10:11.8434872Z   Could neither find
2022-03-26T16:10:11.8435254Z   'C:\hostedtoolcache\windows\Python\3.7.9\x64/ament_package' nor
2022-03-26T16:10:11.8436190Z   'C:/hostedtoolcache/windows/Python/3.7.9/x64/ament-package.egg-link'

So for some reason the ament_package Python package is not found even if the ros-galactic-ament-package package is installed.

traversaro commented 2 years ago

@Tobias-Fischer do you have for a command to iterate faster in the error then boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml ? Running that takes ~10 minutes before reaching the actual error. There is some command to specify the package to build?

I was able to answer myself: running C:\Users\STraversaro\AppData\Local\mambaforge\envs\testenv\conda-bld\ros_1648310249663\work\conda_build.bat does that.

traversaro commented 2 years ago

The problem is that in https://github.com/ros2/ros_workspace/blob/43dd075ab5859290d4d09b46cf946586dc389a18/CMakeLists.txt#L7 python3 is called directly, and in the build workspace python is the conda python, while python3 points to /c/Users/STraversaro/AppData/Local/Microsoft/WindowsApps/python3

traversaro commented 2 years ago

The problem is that in https://github.com/ros2/ros_workspace/blob/43dd075ab5859290d4d09b46cf946586dc389a18/CMakeLists.txt#L7 python3 is called directly, and in the build workspace python is the conda python, while python3 points to /c/Users/STraversaro/AppData/Local/Microsoft/WindowsApps/python3

This is related to https://github.com/conda-forge/python-feedstock/issues/349 as python3 exists on macOs/Linux but not on Windows. Switching to explicit looking for the interpreter in CMake via find_package(Python3) should fix the problem.

Tobias-Fischer commented 2 years ago

Great debugging work! I just pushed a more simple potential fix, let's see how it goes ;)

Tobias-Fischer commented 2 years ago

We seem to be back to the problem described in #75:

Starting build for ros-galactic-ament-cmake-core
source tree in: C:\Miniconda\conda-bld\ros_1648344248963\work
The system cannot find the file specified.
CMake Error: File C:/Users/runneradmin/AppData/Local/Temp/tmpunlji6nwlocal_setup.bat.in does not exist.
CMake Error at cmake/environment_hooks/ament_generate_package_environment.cmake:73 (configure_file):
  configure_file Problem configuring file
Call Stack (most recent call first):
  cmake/environment_hooks/ament_cmake_environment_hooks_package_hook.cmake:26 (ament_generate_package_environment)
  cmake/core/ament_execute_extensions.cmake:48 (include)
  cmake/core/ament_package.cmake:66 (ament_execute_extensions)
  CMakeLists.txt:21 (ament_package)
Tobias-Fischer commented 2 years ago

It's a weird one, as nothing has changed in ament-cmake-core in my latest attempt to patch ros-workspace ..

traversaro commented 2 years ago

I did a diff before the "working" build of ament-package and the failed one (as the problem in ament-cmake-core are missing files in ament-package), and the difference is the following (left not working, right working): bdist_egg_diff

Not sure why bdist_egg is used.

traversaro commented 2 years ago

Ok, I found a more relevant difference: "not working" builds use setuptools-61.1.1-py39hcbf5309_0, "working" setuptools-61.0.0-py39hcbf5309_0 .

traversaro commented 2 years ago

Ok, I found a more relevant difference: "not working" builds use setuptools-61.1.1-py39hcbf5309_0, "working" setuptools-61.0.0-py39hcbf5309_0 .

Indeed, I tried to use the old commit, and even that is now behaving the same (running bdist_egg, ament-package with few file) as it is using now setuptools-61.1.1-py39hcbf5309_0 .

traversaro commented 2 years ago

It seems that pinning setuptools to 61.0.0 does not work correctly (it does not pin it in all builds, possibly a boa issue?). However, it pins it in ament-package build, so that is working fine. Then, the patch in ros-workspace it does not work correctly as the first element of getsitepackages vector is not the correct directory, i.e. on Windows:

python -c "import site; print(site.getsitepackages())"

prints:

['C:\\src\\rosgaltestenv\\conda-bld\\ros_1648401264364\\_h_env', 'C:\\src\\rosgaltestenv\\conda-bld\\ros_1648401264364\\_h_env\\lib\\site-packages']

I will need to check on Linux how it works to find a solution.

traversaro commented 2 years ago

I will need to check on Linux how it works to find a solution.

On Linux there is only one element:

(python39) traversaro@IITICUBLAP257:~$ python -c "import site; print(site.getsitepackages())"
['/home/traversaro/mambaforge/envs/python39/lib/python3.9/site-packages']

So a quick solution is to return the last element instead of the first one.

traversaro commented 2 years ago

Ok, I found a more relevant difference: "working" builds use setuptools-61.1.1-py39hcbf5309_0, "not working" setuptools-61.0.0-py39hcbf5309_0 .

Indeed, I tried to use the old commit, and even that is now behaving the same (running bdist_egg, ament-package with few file) as it is using now setuptools-61.1.1-py39hcbf5309_0 .

A recap on this issue. This are two examples of ros-galactic-ament-package (archive format changed just to upload on GitHub):

traversaro commented 2 years ago

New failure:

2022-03-27T19:07:22.0773959Z Starting build for ros-galactic-foonathan-memory-vendor
2022-03-27T19:07:22.0774154Z 
2022-03-27T19:07:22.0774308Z source tree in: C:\Miniconda\conda-bld\ros_1648403914112\work
2022-03-27T19:07:26.5314544Z CMake Error at C:/Miniconda/conda-bld/ros_1648403914112/_h_env/Library/share/ament_cmake_copyright/cmake/ament_copyright.cmake:38 (message):
2022-03-27T19:07:26.5320218Z   ament_copyright() could not find program 'ament_copyright'
2022-03-27T19:07:26.5352267Z Call Stack (most recent call first):
2022-03-27T19:07:26.5353920Z   CMakeLists.txt:110 (ament_copyright)
traversaro commented 2 years ago

New failure:

2022-03-27T19:07:22.0773959Z Starting build for ros-galactic-foonathan-memory-vendor
2022-03-27T19:07:22.0774154Z 
2022-03-27T19:07:22.0774308Z source tree in: C:\Miniconda\conda-bld\ros_1648403914112\work
2022-03-27T19:07:26.5314544Z CMake Error at C:/Miniconda/conda-bld/ros_1648403914112/_h_env/Library/share/ament_cmake_copyright/cmake/ament_copyright.cmake:38 (message):
2022-03-27T19:07:26.5320218Z   ament_copyright() could not find program 'ament_copyright'
2022-03-27T19:07:26.5352267Z Call Stack (most recent call first):
2022-03-27T19:07:26.5353920Z   CMakeLists.txt:110 (ament_copyright)

The problem is probably that also ament-copyright has problems with setuptools 61.1.1 like ament-package, but for some reason the setuptools 61.0.0 pin in conda_build_config.yaml is not working as mentioned in https://github.com/RoboStack/ros-galactic/pull/86#issuecomment-1079982754 . I guess we are using an older boa version to avoid the problem reported in https://github.com/RoboStack/ros-galactic/pull/75#issuecomment-1075777756, so we can't know if the issue is present in the latest boa.

Tobias-Fischer commented 2 years ago

This looks more like this problem now due to changed installation location in vinca: https://github.com/RoboStack/ros-galactic/issues/74

Seems like the fix that we merged in didn't do the job :(

Tobias-Fischer commented 2 years ago

I mean this fix: https://github.com/RoboStack/vinca/pull/29

traversaro commented 2 years ago

This looks more like this problem now due to changed installation location in vinca: #74

You meant the ament_copyright problem? I think that one is due to the setuptools problem described in https://github.com/RoboStack/ros-galactic/pull/86#issuecomment-1079985442, if you check the logs you can see that also in the ament-copyright a single .egg file is placed in the package.

traversaro commented 2 years ago

Thanks for the fix in robostack.yaml! In the meanwhile I did a quick script for pinning the setuptools version just for host dependencies, even if we do not use it I attach it here for avoiding losing it:

recipe_file = './recipe.yaml'

# Open the file and load the file
with open(recipe_file) as f:
    recipe_data = yaml.load(f, Loader=SafeLoader)

# Modify recipe data to pin host setuptools
for output in recipe_data['outputs']:
    if 'requirements' in output.keys():
        if 'host' in output['requirements'].keys():
            if 'setuptools' in output['requirements']['host']:
                output['requirements']['host'].remove('setuptools')
                output['requirements']['host'].append('setuptools 61.0.0')

# Write the data back to file
with open(recipe_file, 'w') as f:
    yaml.dump(recipe_data, f)
traversaro commented 2 years ago

The same problem of ament-copyright emerged after https://github.com/RoboStack/ros-galactic/pull/86/commits/58e5793cd15547e7e019818a1dbe3ce91a0eaf34 . I think I understood the problem: all packages that use bld_ament_python.bat if I am not wrong should depend on setuptools and pip, but they do not depend explicitly on them, see for example the output section of ament-copyright:

- package:
    name: ros-galactic-ament-copyright
    version: 0.10.6
  requirements:
    build:
      - "{{ compiler('cxx') }}"
      - "{{ compiler('c') }}"
      - ninja
      - sel(unix): make
      - sel(osx): tapi
      - cmake
      - sel(build_platform != target_platform): python
      - sel(build_platform != target_platform): cross-python_{{ target_platform }}
      - sel(build_platform != target_platform): cython
    host:
      - pytest
      - python
      - ros-galactic-ament-flake8
      - ros-galactic-ament-pep257
      - ros-galactic-ros-environment
      - ros-galactic-ros-workspace
      - ros2-distro-mutex 0.2 galactic
    run:
      - importlib-metadata
      - python
      - ros-galactic-ament-lint
      - ros-galactic-ros-workspace
      - ros2-distro-mutex 0.2 galactic
      - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
  build:
    script:
      sel(win): bld_ament_python.bat
      sel(unix): build_ament_python.sh

setuptools gets anyhow indirectly installed when ros-galactic-ament-copyright is installed, but for some reason if the dependency is indirect the pinning on conda_build_config.yaml is ignored by boa:

Preparing environment for ros-galactic-ament-copyright

Reloading output folder: C:\Miniconda\conda-bld
Finalizing build for ros-galactic-ament-copyright
vs2019_win-64 has no final version
Finalizing host for ros-galactic-ament-copyright
Finalizing run for ros-galactic-ament-copyright
Transaction

  Prefix: C:\Miniconda\conda-bld\ros_1648412127211\_build_env

  Updating specs:

   - vs2019_win-64
   - vs2019_win-64
   - ninja
   - cmake

  Package                Version  Build       Channel                  Size
-----------------------------------------------------------------------------
  Install:
-----------------------------------------------------------------------------

  + cmake                 3.22.3  h39d44d4_0  conda-forge/win-64     Cached
  + ninja                 1.10.2  h2d74725_1  conda-forge/win-64     Cached
  + ucrt            10.0.20348.0  h57928b3_0  conda-forge/win-64     Cached
  + vc                      14.2  hb210afc_6  conda-forge/win-64     Cached
  + vs2015_runtime   14.29.30037  h902a5da_6  conda-forge/win-64     Cached
  + vs2019_win-64    19.29.30037  h774bd60_6  conda-forge/win-64     Cached
  + vswhere                3.0.1  h57928b3_0  conda-forge/win-64     Cached

  Summary:

  Install: 7 packages

  Total download: 0 B

-----------------------------------------------------------------------------

Transaction starting
Linking vswhere-3.0.1-h57928b3_0
Linking ucrt-10.0.20348.0-h57928b3_0
Linking vs2019_win-64-19.29.30037-h774bd60_6
Linking vs2015_runtime-14.29.30037-h902a5da_6
Linking vc-14.2-hb210afc_6
Linking cmake-3.22.3-h39d44d4_0
Linking ninja-1.10.2-h2d74725_1
Transaction finished
Transaction

  Prefix: C:\Miniconda\conda-bld\ros_1648412127211\_h_env

  Updating specs:

   - pytest
   - python=3.9[build=*_cpython]
   - ros-galactic-ament-flake8
   - ros-galactic-ament-pep257
   - ros-galactic-ros-environment
   - ros-galactic-ros-workspace
   - ros2-distro-mutex=0.2[build=galactic]
   - vc[version='>=14.2,<15']
   - vs2015_runtime[version='>=14.29.30037']

  Package                              Version  Build               Channel                             Size
--------------------------------------------------------------------------------------------------------------
  Install:
--------------------------------------------------------------------------------------------------------------

  + atomicwrites                         1.4.0  pyh9f0ad1d_0        conda-forge/noarch                Cached
  + attrs                               21.4.0  pyhd8ed1ab_0        conda-forge/noarch                Cached
  + bzip2                                1.0.8  h8ffe710_4          conda-forge/win-64                Cached
  + ca-certificates                  2021.10.8  h5b45459_0          conda-forge/win-64                Cached
  + colorama                             0.4.4  pyh9f0ad1d_0        conda-forge/noarch                Cached
  + flake8                               4.0.1  pyhd8ed1ab_2        conda-forge/noarch                Cached
  + importlib-metadata                  4.11.3  py39hcbf5309_0      conda-forge/win-64                Cached
  + iniconfig                            1.1.1  pyh9f0ad1d_0        conda-forge/noarch                Cached
  + libffi                               3.4.2  h8ffe710_5          conda-forge/win-64                Cached
  + libzlib                             1.2.11  h8ffe710_1014       conda-forge/win-64                Cached
  + mccabe                               0.6.1  py_1                conda-forge/noarch                Cached
  + openssl                              3.0.2  h8ffe710_1          conda-forge/win-64                Cached
  + packaging                             21.3  pyhd8ed1ab_0        conda-forge/noarch                Cached
  + pip                                 22.0.4  pyhd8ed1ab_0        conda-forge/noarch                Cached
  + pluggy                               1.0.0  py39hcbf5309_2      conda-forge/win-64                Cached
  + py                                  1.11.0  pyh6c4a22f_0        conda-forge/noarch                Cached
  + pycodestyle                          2.8.0  pyhd8ed1ab_0        conda-forge/noarch                Cached
  + pydocstyle                           6.1.1  pyhd8ed1ab_0        conda-forge/noarch                Cached
  + pyflakes                             2.4.0  pyhd8ed1ab_0        conda-forge/noarch                Cached
  + pyparsing                            3.0.7  pyhd8ed1ab_0        conda-forge/noarch                Cached
  + pytest                               7.1.1  py39hcbf5309_0      conda-forge/win-64                Cached
  + python                              3.9.12  hcf16a7b_1_cpython  conda-forge/win-64                Cached
  + python_abi                             3.9  2_cp39              conda-forge/win-64                Cached
  + ros-galactic-ament-flake8           0.10.6  py39he8739fe_3      C:/Miniconda/conda-bld/win-64     Cached
  + ros-galactic-ament-lint             0.10.6  py39he8739fe_3      C:/Miniconda/conda-bld/win-64     Cached
  + ros-galactic-ament-pep257           0.10.6  py39he8739fe_3      C:/Miniconda/conda-bld/win-64     Cached
  + ros-galactic-ros-environment         3.1.0  py39he8739fe_3      C:/Miniconda/conda-bld/win-64     Cached
  + ros-galactic-ros-workspace           1.0.2  py39he8739fe_3      C:/Miniconda/conda-bld/win-64     Cached
  + ros2-distro-mutex                    0.2.0  galactic            C:/Miniconda/conda-bld/win-64     Cached
  + setuptools                          61.1.1  py39hcbf5309_0      conda-forge/win-64                Cached
  + snowballstemmer                      2.2.0  pyhd8ed1ab_0        conda-forge/noarch                Cached
  + sqlite                              3.37.1  h8ffe710_0          conda-forge/win-64                Cached
  + tk                                  8.6.12  h8ffe710_0          conda-forge/win-64                Cached
  + tomli                                2.0.1  pyhd8ed1ab_0        conda-forge/noarch                Cached
  + tzdata                               2022a  h191b570_0          conda-forge/noarch                Cached
  + ucrt                          10.0.20348.0  h57928b3_0          conda-forge/win-64                Cached
  + vc                                    14.2  hb210afc_6          conda-forge/win-64                Cached
  + vs2015_runtime                 14.29.30037  h902a5da_6          conda-forge/win-64                Cached
  + wheel                               0.37.1  pyhd8ed1ab_0        conda-forge/noarch                Cached
  + xz                                   5.2.5  h62dcd97_1          conda-forge/win-64                Cached
  + zipp                                 3.7.0  pyhd8ed1ab_1        conda-forge/noarch                Cached
Tobias-Fischer commented 2 years ago

Again great debugging! Let's see whether my little hack in https://github.com/RoboStack/ros-galactic/pull/86/commits/f085593b74989feaba6d01091c74375bd7c7f32d does the trick :)

traversaro commented 2 years ago

Again great debugging! Let's see whether my little hack in f085593 does the trick :)

I also found a related bug in vinca, see https://github.com/RoboStack/vinca/pull/30 . With that PR all the packages that have ament_python will depend on setuptools, and so boa pinning should work fine.

traversaro commented 2 years ago

B.t.w, a related thread on "missing dependency on setuptools": https://github.com/ament/ament_lint/pull/76#issuecomment-309496965 .

Tobias-Fischer commented 2 years ago

The issue seems to remain with setuptools=61.0.0 :(

traversaro commented 2 years ago

The issue seems to remain with setuptools=61.0.0 :(

Yes, the .egg seems fixed but now if you inspect the ament_copyright log is:

2022-03-28T00:48:36.4433486Z running install_scripts
2022-03-28T00:48:36.4433827Z Installing ament_copyright-script.py script to \bin
2022-03-28T00:48:36.4434423Z Installing ament_copyright.exe script to \bin

So the logic in https://github.com/RoboStack/vinca/blob/75ba1e85ac3c626790c2bb9ec504f1f4117d3076/vinca/templates/bld_ament_python.bat.in#L11 seems to be problematic, I will check this this (CEST) evening.

traversaro commented 2 years ago

The issue seems to remain with setuptools=61.0.0 :(

Yes, the .egg seems fixed but now if you inspect the ament_copyright log is:

2022-03-28T00:48:36.4433486Z running install_scripts
2022-03-28T00:48:36.4433827Z Installing ament_copyright-script.py script to \bin
2022-03-28T00:48:36.4434423Z Installing ament_copyright.exe script to \bin

So the logic in https://github.com/RoboStack/vinca/blob/75ba1e85ac3c626790c2bb9ec504f1f4117d3076/vinca/templates/bld_ament_python.bat.in#L11 seems to be problematic, I will check this this (CEST) evening.

After https://github.com/RoboStack/vinca/pull/31 it seems to be working fine:

running install_scripts
Installing ament_cppcheck-script.py script to %PREFIX%\Library\bin
Installing ament_cppcheck.exe script to %PREFIX%\Library\bin
traversaro commented 2 years ago

Now ros-galactic-mimick-vendor is failing, but the other problems are solved.

traversaro commented 2 years ago

From the history of the file I guess it may be a problem of directory length: https://github.com/RoboStack/ros-galactic/commits/c77886209fb1414ba21a7497976a48111c3c42c8/patch/ros-galactic-mimick-vendor.win.patch ?

Tobias-Fischer commented 2 years ago

Amazing that the other packages now work! Great work :).

For the mimick vendor package.. unless @wolfv has a great idea for an easy and quick fix, I suggest building it locally and uploading to our channel so that we can proceed with the build. What do you think @traversaro?

traversaro commented 2 years ago

For the mimick vendor package.. unless @wolfv has a great idea for an easy and quick fix, I suggest building it locally and uploading to our channel so that we can proceed with the build. What do you think @traversaro?

Yes, that is probably the way to proceed. I had a few ideas, but all of them failed:

At this point I am out of ideas. How do you suggest to proceed? I build ros-galactic-mimick-vendor and all the packages on which it is depend, and I pass it to you? Do you have any more systematic way to do that?

Tobias-Fischer commented 2 years ago

I'd say we merge this PR in (whenever you are happy with it, green light from me), then let it start building packages on Azure, which will eventually fail when it tries building the mimick package, which you could then manually build and I would upload to the channel.

It could also be that we're lucky and it builds ok on Azure, and that the error only happens on GA.

traversaro commented 2 years ago

I'd say we merge this PR in (whenever you are happy with it, green light from me), then let it start building packages on Azure, which will eventually fail when it tries building the mimick package, which you could then manually build and I would upload to the channel.

It could also be that we're lucky and it builds ok on Azure, and that the error only happens on GA.

Ack, let me try to build locally to check it everything is building fine.

traversaro commented 2 years ago

Interesting:

If activate-environment contains either POSIX or Windows slashes, it will be interpreted as a path, or prefix in conda terminology. Use this to avoid "path too long"-style errors, especially on Windows.

From https://github.com/conda-incubator/setup-miniconda/blob/f508279040ae1133baa7fe2160868a4607b79302/README.md . Note that we are on C:\Miniconda env now, so I do not think we can save a lot of char by creating an env C:\e, but it may be worth a try.

traversaro commented 2 years ago

Locally the mimick-vendor works fine even if the environment in which we built has a longer name then C:\Miniconda, I start to suspect that the problem is not path length related :


C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise>CALL "VC\Auxiliary\Build\vcvars64.bat" -vcvars_ver=14.29
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.11.2
** Copyright (c) 2021 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.22000.
-- The C compiler identification is MSVC 19.29.30133.0
-- The CXX compiler identification is MSVC 19.29.30133.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.301d
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.3d
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found ament_cmake: 1.1.5 (C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/ament_cmake/cmake)
-- Found PythonInterp: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/python.exe (found suitable version "3.9.
-- Using PYTHON_EXECUTABLE: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/python.exe
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    BUILD_SHARED_LIBS
    CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP
    PYTHON_INSTALL_DIR
    Python3_EXECUTABLE
    Python_EXECUTABLE
    SETUPTOOLS_DEB_LAYOUT

-- Build files have been written to: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build
Microsoft (R) Build Engine version 16.11.0+0538acc04 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

  Checking Build System
  Creating directories for 'mimick'
  Building Custom Rule C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/ros-galactic-mimick-vendor/src/work/CMakeLt
  Performing download step (git clone) for 'mimick'
  Cloning into 'mimick'...
  HEAD is now at f171450 Add armv7l as a 32-bit ARM architecture. (#16)
  No update step for 'mimick'
  No patch step for 'mimick'
  Performing configure step for 'mimick'
  -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.22000.
  -- The C compiler identification is MSVC 19.29.30133.0
  -- The CXX compiler identification is MSVC 19.29.30133.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.3d
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29d
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- The ASM_MASM compiler identification is MSVC
  -- Found assembler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hoste
  -- Looking for __stdio_common_vfprintf
  -- Looking for __stdio_common_vfprintf - found
  -- Configuring done
  -- Generating done
  -- Build files have been written to: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mck/src/mimick-build
  Performing build step for 'mimick'
  Microsoft (R) Build Engine version 16.11.0+0538acc04 for .NET Framework
  Copyright (C) Microsoft Corporation. All rights reserved.

    Checking Build System
    Building Custom Rule C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mck/src/mimick/test/CMakeLists.txt
    libfoo.c
       Creating library C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mck/src/mimick-build/test/Release/fp
    foo.vcxproj -> %SRC_DIR%\build\mck\src\mimick-build\test\Release\foo.dll
    Building Custom Rule C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mck/src/mimick/CMakeLists.txt
    Assembling %SRC_DIR%\build\mck\src\mimick\src\asm\trampoline-x86_64-win.asm...
    core.c
    matcher.c
    mock.c
    plt.c
    plt-pe.c
    stub.c
    trampoline.c
    verify.c
    vitals.c
    when.c
    Generating Code...
    mimick.vcxproj -> %SRC_DIR%\build\mck\src\mimick-build\Release\mimick.lib
    Building Custom Rule C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mck/src/mimick/test/CMakeLists.txt
    test.c
    mmk_test_c.vcxproj -> %SRC_DIR%\build\mck\src\mimick-build\test\Release\mmk_test_c.exe
    Building Custom Rule C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mck/src/mimick/test/CMakeLists.txt
    test.cpp
    mmk_test_cxx.vcxproj -> %SRC_DIR%\build\mck\src\mimick-build\test\Release\mmk_test_cxx.exe
    Building Custom Rule C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mck/src/mimick/sample/strdup/CMaket
    strdup.c
       Creating library C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mck/src/mimick-build/sample/strdup/p
    strdup.vcxproj -> %SRC_DIR%\build\mck\src\mimick-build\sample\strdup\Release\strdup.dll
    Building Custom Rule C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mck/src/mimick/sample/strdup/CMaket
    test.c
    strdup_test.vcxproj -> %SRC_DIR%\build\mck\src\mimick-build\sample\strdup\Release\strdup_test.exe
    Building Custom Rule C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mck/src/mimick/CMakeLists.txt
    Building Custom Rule C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mck/src/mimick/CMakeLists.txt
  Performing install step for 'mimick'
  Microsoft (R) Build Engine version 16.11.0+0538acc04 for .NET Framework
  Copyright (C) Microsoft Corporation. All rights reserved.

    foo.vcxproj -> %SRC_DIR%\build\mck\src\mimick-build\test\Release\foo.dll
    mimick.vcxproj -> %SRC_DIR%\build\mck\src\mimick-build\Release\mimick.lib
    mmk_test_c.vcxproj -> %SRC_DIR%\build\mck\src\mimick-build\test\Release\mmk_test_c.exe
    mmk_test_cxx.vcxproj -> %SRC_DIR%\build\mck\src\mimick-build\test\Release\mmk_test_cxx.exe
    strdup.vcxproj -> %SRC_DIR%\build\mck\src\mimick-build\sample\strdup\Release\strdup.dll
    strdup_test.vcxproj -> %SRC_DIR%\build\mck\src\mimick-build\sample\strdup\Release\strdup_test.exe
    -- Install configuration: "Release"
    -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mimick_vendor_install/include/mimick/allh
    -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mimick_vendor_install/include/mimick/assh
    -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mimick_vendor_install/include/mimick/lith
    -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mimick_vendor_install/include/mimick/math
    -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mimick_vendor_install/include/mimick/moch
    -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mimick_vendor_install/include/mimick/preh
    -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mimick_vendor_install/include/mimick/strh
    -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mimick_vendor_install/include/mimick/unmh
    -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mimick_vendor_install/include/mimick/va.h
    -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mimick_vendor_install/include/mimick/verh
    -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mimick_vendor_install/include/mimick/wheh
    -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mimick_vendor_install/include/mimick/mimh
    -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mimick_vendor_install/lib/mimick.lib
    -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mimick_vendor_install/lib/cmake/mimick/me
    -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mimick_vendor_install/lib/cmake/mimick/me
    -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/build/mimick_vendor_install/lib/cmake/mimick/me
  Completed 'mimick'
  Building Custom Rule C:/src/rosgaltestenv/conda-bld/ros_1648497919533/work/ros-galactic-mimick-vendor/src/work/CMakeLt
  -- Install configuration: "Release"
  -- Up-to-date: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library
  -- Up-to-date: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/include
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/include/mimick
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/include/mimick/alloc.h
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/include/mimick/assert.h
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/include/mimick/literal.h
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/include/mimick/matcher.h
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/include/mimick/mimick.h
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/include/mimick/mock.h
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/include/mimick/preprocess.h
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/include/mimick/string.h
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/include/mimick/unmocked.h
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/include/mimick/va.h
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/include/mimick/verify.h
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/include/mimick/when.h
  -- Up-to-date: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/lib
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/lib/cmake
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/lib/cmake/mimick
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/lib/cmake/mimick/mimick-targets-release
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/lib/cmake/mimick/mimick-targets.cmake
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/lib/cmake/mimick/mimickConfig.cmake
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/lib/mimick.lib
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/ament_index/resource_index/packar
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/ament_index/resource_index/parenr
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/mimick_vendor/environment/ament_t
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/mimick_vendor/environment/ament_v
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/mimick_vendor/environment/path.bt
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/mimick_vendor/environment/path.dv
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/mimick_vendor/local_setup.bat
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/mimick_vendor/local_setup.dsv
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/mimick_vendor/package.dsv
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/ament_index/resource_index/packar
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/mimick_vendor/cmake/ament_cmake_e
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/mimick_vendor/cmake/ament_cmake_e
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/mimick_vendor/cmake/ament_cmake_e
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/mimick_vendor/cmake/mimick_vendoe
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/mimick_vendor/cmake/mimick_vendoe
  -- Installing: C:/src/rosgaltestenv/conda-bld/ros_1648497919533/_h_env/Library/share/mimick_vendor/package.xml

Resource usage statistics from building ros-galactic-mimick-vendor:
   Process count: 11
   CPU time: Sys=0:00:02.0, User=0:00:02.7
   Memory: 169.0M
   Disk usage: 1.2G
   Time elapsed: 0:00:26.4

number of files: 32
Fixing permissions

Adding files for ros-galactic-mimick-vendor

- Library\include\mimick\alloc.h
- Library\include\mimick\assert.h
- Library\include\mimick\literal.h
- Library\include\mimick\matcher.h
- Library\include\mimick\mimick.h
- Library\include\mimick\mock.h
- Library\include\mimick\preprocess.h
- Library\include\mimick\string.h
- Library\include\mimick\unmocked.h
- Library\include\mimick\va.h
- Library\include\mimick\verify.h
- Library\include\mimick\when.h
- Library\lib\cmake\mimick\mimick-targets-release.cmake
- Library\lib\cmake\mimick\mimick-targets.cmake
- Library\lib\cmake\mimick\mimickConfig.cmake
- Library\lib\mimick.lib
- Library\share\ament_index\resource_index\package_run_dependencies\mimick_vendor
- Library\share\ament_index\resource_index\packages\mimick_vendor
- Library\share\ament_index\resource_index\parent_prefix_path\mimick_vendor
- Library\share\mimick_vendor\cmake\ament_cmake_export_dependencies-extras.cmake
- Library\share\mimick_vendor\cmake\ament_cmake_export_include_directories-extras.cmake
- Library\share\mimick_vendor\cmake\ament_cmake_export_libraries-extras.cmake
- Library\share\mimick_vendor\cmake\mimick_vendorConfig-version.cmake
- Library\share\mimick_vendor\cmake\mimick_vendorConfig.cmake
- Library\share\mimick_vendor\environment\ament_prefix_path.bat
- Library\share\mimick_vendor\environment\ament_prefix_path.dsv
- Library\share\mimick_vendor\environment\path.bat
- Library\share\mimick_vendor\environment\path.dsv
- Library\share\mimick_vendor\local_setup.bat
- Library\share\mimick_vendor\local_setup.dsv
- Library\share\mimick_vendor\package.dsv
- Library\share\mimick_vendor\package.xml

INFO :: Time taken to mark (prefix)
        0 replacements in 0 files was 0.09 seconds
TEST START: C:\src\rosgaltestenv\conda-bld\win-64\ros-galactic-mimick-vendor-0.2.6-py39he8739fe_3.tar.bz2
Nothing to test for: C:\src\rosgaltestenv\conda-bld\win-64\ros-galactic-mimick-vendor-0.2.6-py39he8739fe_3.tar.bz2

Preparing environment for ros-galactic-performance-test-fixture

Reloading output folder: C:\src\rosgaltestenv\conda-bld
conda-bld/win-64                                    56.1kB @  82.2MB/s  0.0s
conda-bld/noarch                                   127.0 B @ 378.0kB/s  0.0s
Finalizing build for ros-galactic-performance-test-fixture
vs2019_win-64 has no final version
Finalizing host for ros-galactic-performance-test-fixture
ros-galactic-osrf-testing-tools
wolfv commented 2 years ago

Random thoughts:

-> Github Action:
2022-03-28T21:35:19.7003510Z -- The C compiler identification is MSVC 19.29.30141.0
2022-03-28T21:35:19.7003819Z -- The CXX compiler identification is MSVC 19.29.30141.0

-> Silvio locally:
  -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.22000.
  -- The C compiler identification is MSVC 19.29.30133.0
  -- The CXX compiler identification is MSVC 19.29.30133.0

I don't know why Github action doesn't have a Windows SDK line. I am wondering if the MSVC compiler version could make a difference ...

I agree with Tobias that we can try Azure and if it doesn't work, manually upload?

traversaro commented 2 years ago

Random thoughts:

* I think on Azure we're buillding in `C:\bld` (like conda-forge)

* I've seen these issues with the assembly stuff in mimick before on Windows ... I also remember debugging it for quite a while

* I see slight differences in compilers between your local run and github aciton:
-> Github Action:
2022-03-28T21:35:19.7003510Z -- The C compiler identification is MSVC 19.29.30141.0
2022-03-28T21:35:19.7003819Z -- The CXX compiler identification is MSVC 19.29.30141.0

-> Silvio locally:
  -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.22000.
  -- The C compiler identification is MSVC 19.29.30133.0
  -- The CXX compiler identification is MSVC 19.29.30133.0

I don't know why Github action doesn't have a Windows SDK line. I am wondering if the MSVC compiler version could make a difference ...

I agree with Tobias that we can try Azure and if it doesn't work, manually upload?

Local build seems to continue, so I agree. I already cleanup the PR to remove all the setuptools workarounds (beside the actual pin), so I think we can merge.