Skip to content

Conversation

S-Dafarra
Copy link
Contributor

@S-Dafarra S-Dafarra commented Oct 20, 2025

In this PR:

@S-Dafarra
Copy link
Contributor Author

@davidegorbani @Gianlucamilani I am not sure if these changes will affect your workflow. Let me know if there are issues

@traversaro
Copy link
Member

@davidegorbani @Gianlucamilani I am not sure if these changes will affect your workflow. Let me know if there are issues

For sure we need to add trintrin in the superbuild before merging this. If this PR works, can yo do a first tag of trintrin to simplify superbuild integration?

@S-Dafarra
Copy link
Contributor Author

For sure we need to add trintrin in the superbuild before merging this. If this PR works, can yo do a first tag of trintrin to simplify superbuild integration?

Sure! https://github.com/ami-iit/trintrin/releases/tag/v0.0.1

@davidegorbani
Copy link
Contributor

@davidegorbani @Gianlucamilani I am not sure if these changes will affect your workflow. Let me know if there are issues

It shouldn't, as we switched to biomechanical-analysis-framework, and we don't currently use this repo.

@traversaro
Copy link
Member

traversaro commented Oct 20, 2025

Also, I guess we need to update also internal Python repos using import hde and import wearables to import trintrin, perhaps we want to do that so that we can add here a minimal migration guide?

@S-Dafarra
Copy link
Contributor Author

Also, I guess we need to merge also internal Python repos using import hde and import wearables to import trintrin, perhaps we want to do that so that we can add here a minimal migration guide?

I did not understand the suggestion 😊

@traversaro
Copy link
Member

Also, I guess we need to merge also internal Python repos using import hde and import wearables to import trintrin, perhaps we want to do that so that we can add here a minimal migration guide?

I did not understand the suggestion 😊

Sorry, I wanted to write "update" not "merge". I guess you want to update those repos, and the update is something like:

In python code, change any update of import wearables and import hde to import trintrin and any occurence of hde. or wearables. to trintrin.

@traversaro
Copy link
Member

Related PRs:

@S-Dafarra
Copy link
Contributor Author

Related PRs:

Once this is done, I can remove the source installation of trintrin in

- name: Install trintrin from source
shell: bash -l {0}
run: |
git clone https://github.com/ami-iit/trintrin
cd trintrin
mkdir build && cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ..
cmake --build . --config ${{ matrix.build_type }}
cmake --install . --config ${{ matrix.build_type }}

@traversaro
Copy link
Member

As now the robotology-superbuild supports this PR, probably we can merge to unblock the following PR?

@S-Dafarra
Copy link
Contributor Author

As now the robotology-superbuild supports this PR, probably we can merge to unblock the following PR?

Do you believe that the conda package will land in short time (btw, thanks a lot, it is great!)? If yes, w can wait to remove the source installation from CI and be consistent with the other dependencies

@traversaro
Copy link
Member

Do you believe that the conda package will land in short time (btw, thanks a lot, it is great!)? I

No. There is a critical lack of reviewers on staged-recipes, so the PR could take a long time to be merged. I would proceed with the chain of PRs to avoid being blocked, the only thing that I would block on the trintrin conda package being available is the new release of HDE.

@S-Dafarra
Copy link
Contributor Author

Do you believe that the conda package will land in short time (btw, thanks a lot, it is great!)? I

No. There is a critical lack of reviewers on staged-recipes, so the PR could take a long time to be merged. I would proceed with the chain of PRs to avoid being blocked, the only thing that I would block on the trintrin conda package being available is the new release of HDE.

Ok, then I will edit the CIs to make them happy while waiting for the conda packages to be availalbe

@traversaro
Copy link
Member

Do you believe that the conda package will land in short time (btw, thanks a lot, it is great!)? I

No. There is a critical lack of reviewers on staged-recipes, so the PR could take a long time to be merged. I would proceed with the chain of PRs to avoid being blocked, the only thing that I would block on the trintrin conda package being available is the new release of HDE.

Ok, then I will edit the CIs to make them happy while waiting for the conda packages to be availalbe

Ah if the problem is making the CI happy, we can also build a first temporary trintrin package to the robotology channel to unblock the CI, that will be superseded by the conda-forge one once conda-forge/staged-recipes#31251, if you give me the go I can do that easily locally.

@S-Dafarra
Copy link
Contributor Author

Do you believe that the conda package will land in short time (btw, thanks a lot, it is great!)? I

No. There is a critical lack of reviewers on staged-recipes, so the PR could take a long time to be merged. I would proceed with the chain of PRs to avoid being blocked, the only thing that I would block on the trintrin conda package being available is the new release of HDE.

Ok, then I will edit the CIs to make them happy while waiting for the conda packages to be availalbe

Ah if the problem is making the CI happy, we can also build a first temporary trintrin package to the robotology channel to unblock the CI, that will be superseded by the conda-forge one once conda-forge/staged-recipes#31251, if you give me the go I can do that easily locally.

Yeah I was planning to compile trintrin from source where needed, but your plan would be great! Go for me!

@traversaro
Copy link
Member

traversaro commented Oct 21, 2025

Yeah I was planning to compile trintrin from source where needed, but your plan would be great! Go for me!

Here you are:

Use libtrintrin if you just depend on the C++ part, while trintrin-python or trintrin if you also depend on the Python bindings.

I just added them for win-64 and linux-64, feel free to ask if you need more architectures.

@S-Dafarra
Copy link
Contributor Author

Awesome!

I just added them for win-64 and linux-64, feel free to ask if you need more architectures.

Is it possible also macOS?

@traversaro
Copy link
Member

I just added them for win-64 and linux-64, feel free to ask if you need more architectures.

Is it possible also macOS?

I currently disconnected my macOS to connect the StrixHalo, but I can find a solution.

@traversaro
Copy link
Member

I will build for osx-arm64, if we have CI still targeting osx-64 we can drop them as the Intel-based macOS systems are quite outdated and I am not aware of anyone using them.

@traversaro
Copy link
Member

I will build for osx-arm64, if we have CI still targeting osx-64 we can drop them as the Intel-based macOS systems are quite outdated and I am not aware of anyone using them.

Done:

@S-Dafarra
Copy link
Contributor Author

S-Dafarra commented Oct 21, 2025

I am having some issues with CI. I added the robotology channel in the env file, but I also wanted to set the channel priority so that when we have a version in both channels I don't have to update the CI. So in b8d306c I moved from setup-micromamba to setup-miniconda since it has the possibility to specify the channel priority and we have been moving out from setup-micromamba in the past. The problem then is that ilammy/msvc-dev-cmd stopped working, so I tried removing it from the CI with a49b944. But then, I had to differentiate the install prefix between Windows and Linux. Moreover, ninja stopped working on Windows. So, I split the configuration phases between Windows and linux/macOs in 1c17d66. At this point cmake-package-check started failing on Windows, since it is using ninja under the hood. So, I tried to:

  • reintroduce ilammy/msvc-dev-cmd with an updated version in fcbd6ef, but failed anyway
  • using the vs2022_win-64 conda package in windows, hoping it could do the same job of ``ilammy/msvc-dev-cmd`, but it did not.
    Hence, at the moment the error on Windows is
-- The CXX compiler identification is unknown
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Check for working CXX compiler: C:/mingw64/bin/c++.exe
-- Check for working CXX compiler: C:/mingw64/bin/c++.exe - broken
CMake Error at C:/Users/runneradmin/miniconda3/envs/test/Library/share/cmake-4.1/Modules/CMakeTestCXXCompiler.cmake:73 (message):
  The C++ compiler

    "C:/mingw64/bin/c++.exe"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: 'D:/a/human-dynamics-estimation/human-dynamics-estimation/build/CMakeFiles/CMakeScratch/TryCompile-rwg1xo'
    
    Run Build Command(s): C:/Users/runneradmin/miniconda3/envs/test/Library/bin/ninja.exe -v cmTC_1b52a
    [1/2] C:\mingw64\bin\c++.exe    -o CMakeFiles\cmTC_1b52a.dir\testCXXCompiler.cxx.obj -c D:\a\human-dynamics-estimation\human-dynamics-estimation\build\CMakeFiles\CMakeScratch\TryCompile-rwg1xo\testCXXCompiler.cxx
    FAILED: [code=1] CMakeFiles/cmTC_1b52a.dir/testCXXCompiler.cxx.obj 
    C:\mingw64\bin\c++.exe    -o CMakeFiles\cmTC_1b52a.dir\testCXXCompiler.cxx.obj -c D:\a\human-dynamics-estimation\human-dynamics-estimation\build\CMakeFiles\CMakeScratch\TryCompile-rwg1xo\testCXXCompiler.cxx
    ninja: build stopped: subcommand failed.

while on Mac simply I could not get a runner, so I stopped the workflow.

@S-Dafarra
Copy link
Contributor Author

With 2798a69 I restored the logic using the VCToolsInstallDir env variable, that I had removed in a49b944

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.

3 participants