Hi,
opening src\csharp\PulseCSharp.sln
I am getting missing files from “bind” folder.
How can I proceed?
JRD
Hi,
opening src\csharp\PulseCSharp.sln
I am getting missing files from “bind” folder.
How can I proceed?
JRD
Pulse is a native C++ based library, you will not be able to use the C# API without building
You will still need to build the source code to generate the C# Pulse.dll
This build will also build the missing bind directory
I have a couple of prebuilt C# dlls for windows here:
https://data.kitware.com/#collection/59849c788d777f7d33e9c084/folder/5da739b0d35580e6dc9e9c79
I downloaded the dlls and added a reference to Pulse c# Project
But still not compiling
What do I do wrongly?
You added the Pulse.dll to the project that makes the Pulse.dll
If you don’t want to build the source code, remove the Pulse project from the solution
And add the Pulse.dll and Google.Protobuf.dll to the HowTo project as references
gotcha!!!
And If I would build the Pulse.dll?
Building up the C# infrastructure is a bit complicated and undocumented…
Now the Pulse project in PulseCSharp.sln should build, as well as the HowTo
At some point, I will look into automating step 2 into the C++ build
What branch are you on?
That function is defined in this file
https://gitlab.kitware.com/physiology/engine/-/blob/master/cmake/utilities/AddLibrary.cmake#L12
Can you post the full log output from the cmake gui?
My fault. I did not point to the root directory but to the one containing cpp code.
Fixed that, it worked!!
I will continue tomorrow. Meanwhile thank you very much with your great support
Hi,
I was able to build the managed Pulse.dll following above steps
thanks a lot
Hello.
I am back on exploring Pulse. I updated from Git, go trought the compile process and I noted few differences.
What should I check?
I selected CSHARP_API and DOWNLOAD_BASE Code
I generated the project, and I was able to open usign VS, but I am getting a compile error?
Any hint?
Best Regards,
Looks like everything built fine
It looks like the error occured when the build script was downloading the basline data files
The MSVC Output tab/window is more informative than the Error summary tab
You can open it with View->Output
You can select all and paste into a text file, or post it here
But I believe everything has built, just not downloaded…
Here we are (from latest OK point)
It seems Java sdk is required, doesn’t it?
12 Warning(s)
4> 0 Error(s)
4>
4>Time Elapsed 00:00:03.39
4>CMake Error at C:/Programming/cmake-3.22.2-windows-x86_64/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
4> Could NOT find Java (missing: Java_JAVA_EXECUTABLE Java_JAR_EXECUTABLE
4> Java_JAVAC_EXECUTABLE Java_JAVAH_EXECUTABLE Java_JAVADOC_EXECUTABLE)
4>Call Stack (most recent call first):
4> C:/Programming/cmake-3.22.2-windows-x86_64/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
4> C:/Programming/cmake-3.22.2-windows-x86_64/share/cmake-3.22/Modules/FindJava.cmake:336 (find_package_handle_standard_args)
4> src/java/CMakeLists.txt:5 (find_package)
4>
4>
4>-- Configuring incomplete, errors occurred!
4>See also “C:/Programming/builds/pulse-engine/Innerbuild/CMakeFiles/CMakeOutput.log”.
4>See also “C:/Programming/builds/pulse-engine/Innerbuild/CMakeFiles/CMakeError.log”.
4>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): error MSB8066: Custom build for ‘C:\Programming\builds\pulse-engine\CMakeFiles\b9f8d5bd7a85de00dc14217f6f119058\Pulse-mkdir.rule;C:\Programming\builds\pulse-engine\CMakeFiles\b9f8d5bd7a85de00dc14217f6f119058\Pulse-download.rule;C:\Programming\builds\pulse-engine\CMakeFiles\b9f8d5bd7a85de00dc14217f6f119058\Pulse-update.rule;C:\Programming\builds\pulse-engine\CMakeFiles\b9f8d5bd7a85de00dc14217f6f119058\Pulse-patch.rule;C:\Programming\builds\pulse-engine\CMakeFiles\b9f8d5bd7a85de00dc14217f6f119058\Pulse-configure.rule;C:\Programming\builds\pulse-engine\CMakeFiles\b9f8d5bd7a85de00dc14217f6f119058\Pulse-build.rule;C:\Programming\builds\pulse-engine\CMakeFiles\b9f8d5bd7a85de00dc14217f6f119058\Pulse-install.rule;C:\Programming\builds\pulse-engine\CMakeFiles\bca2fbce489a9dacc2a1899c466a05b6\Pulse-complete.rule;C:\Programming\builds\pulse-engine\CMakeFiles\beea2071a4f256d18aa725bea4521f50\Pulse.rule;C:\Programming\Pulse\engine\cmake\external\CMakeLists.txt’ exited with code 1.
4>Done building project “Pulse.vcxproj” – FAILED.
5>------ Build started: Project: PulseData, Configuration: Release x64 ------
5>Building Custom Rule C:/Programming/Pulse/engine/cmake/external/CMakeLists.txt
5>EXEC : CMake error : Error processing file: run.cmake
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: The command “setlocal
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: cd C:\Programming\builds\pulse-engine\install\bin
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: C:
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: C:\Programming\cmake-3.22.2-windows-x86_64\bin\cmake.exe -DTYPE:STRING=genData -P run.cmake
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :cmEnd
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :cmErrorLevel
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: exit /b %1
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :cmDone
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: setlocal
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: cd C:\Programming\builds\pulse-engine\install\bin
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: C:
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: C:\Programming\cmake-3.22.2-windows-x86_64\bin\cmake.exe -DTYPE:STRING=genStates -P run.cmake
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :cmEnd
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :cmErrorLevel
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: exit /b %1
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :cmDone
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: setlocal
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: cd C:\Programming\builds\pulse-engine\install\bin
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: C:
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: C:\Programming\cmake-3.22.2-windows-x86_64\bin\cmake.exe -DTYPE:STRING=updateBaselines -P run.cmake
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :cmEnd
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :cmErrorLevel
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: exit /b %1
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :cmDone
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :VCEnd” exited with code 1.
5>Done building project “PulseData.vcxproj” – FAILED.
6>------ Skipped Build: Project: ALL_BUILD, Configuration: Release x64 ------
6>Project not selected to build for this solution configuration
========== Build: 3 succeeded, 2 failed, 0 up-to-date, 1 skipped ==========
Yeah, this is an Issue with missing the JAVA SDK
Pulse has quite a lot of infrastructural tooling written in Java
In particular, utilitis to
You do not need to build/use these
You can turn these off by unchecking the Pulse_JAVA_API CMake option
It really depends on what you are doing with Pulse
If you are just wanting to build for use in C#, you can turn this off.
At the end of our build, we call the Java utility to generate a set of state files that you can quickly load
Most of our HowTo examples, load one of these states.
Without Java in the build, these states will not be generated
Installing a JDK is not too bad
https://gitlab.kitware.com/physiology/engine/-/tree/master#java-jdk
But if you don’t want to, I can work with you to get you a set of datafile for the branch you pulled
This will allow you to generate your own states
I installed Amazon Corretto. And it worked
GREAT!
Keep us posted if you have any other integration troubles/questions