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

optick/1.4.0.0: new recipe #20546

Closed
wants to merge 0 commits into from
Closed

Conversation

luizfeldmann
Copy link
Contributor

@luizfeldmann luizfeldmann commented Oct 12, 2023

Specify library name and version: optick/1.4.0.0


@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

Copy link
Member

@uilianries uilianries left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your PR! Please, try to simplify your recipe a bit, running methods that are not used will only consume more CPU with no benefit.

recipes/optick/all/conanfile.py Outdated Show resolved Hide resolved
recipes/optick/all/conanfile.py Outdated Show resolved Hide resolved
recipes/optick/all/conanfile.py Outdated Show resolved Hide resolved
recipes/optick/all/conanfile.py Outdated Show resolved Hide resolved
recipes/optick/all/conanfile.py Outdated Show resolved Hide resolved
recipes/optick/all/conanfile.py Outdated Show resolved Hide resolved
recipes/optick/all/conanfile.py Outdated Show resolved Hide resolved
@uilianries uilianries self-assigned this Oct 27, 2023
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@github-actions
Copy link
Contributor

Hooks produced the following warnings for commit 676b38d
optick/1.4.0.0@#26b249931938eaf5aa6813806a3eca43
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library '.\bin\OptickCore.dll' links to system library 'ws2_32' but it is not in cpp_info.system_libs.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library '.\bin\OptickCore.dll' links to system library 'dbghelp' but it is not in cpp_info.system_libs.

@luizfeldmann
Copy link
Contributor Author

Hi @uilianries,
My v1 conan produces a Find*.cmake and not a *config.cmake which is being demanded by the test_v1_package.
I'm mostly familiar with v2, what am I missing here ?

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

Comment on lines 34 to 35
if not is_msvc(self):
raise ConanInvalidConfiguration(f"{self.ref} can be built only by Visual Studio and msvc.")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@luizfeldmann Why is it not working for other platforms. Looking at https://github.com/bombomby/optick/blob/1.4.0.0/CMakeLists.txt I see no restrictions.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This project consists of 2 components:

  • The profiler library, which is currently built in this recipe
  • The GUI to receive the profiler data, which is a C# project and must build on Windows

I'm not sure how to handle this separation in Conan. Any ideas ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The profiler library, which is currently built in this recipe

Yes, and as far as I see, it generates for any platform:

  • Windows:
optick/1.4.0.0: RUN: cmake --install "C:\J2\w\prod-v2\bsr@3\36200\eeccb\p\b\optic78d0377885876\b\build" --config Release --prefix "C:/J2/w/prod-v2/bsr@3/36200/eeccb/p/b/optic78d0377885876/p"
-- Installing: C:/J2/w/prod-v2/bsr@3/36200/eeccb/p/b/optic78d0377885876/p/lib/OptickCore.lib
-- Installing: C:/J2/w/prod-v2/bsr@3/36200/eeccb/p/b/optic78d0377885876/p/bin/OptickCore.dll
-- Installing: C:/J2/w/prod-v2/bsr@3/36200/eeccb/p/b/optic78d0377885876/p/include/optick.h
-- Installing: C:/J2/w/prod-v2/bsr@3/36200/eeccb/p/b/optic78d0377885876/p/include/optick.config.h
-- Installing: C:/J2/w/prod-v2/bsr@3/36200/eeccb/p/b/optic78d0377885876/p/lib/cmake/Optick/OptickTargets.cmake
-- Installing: C:/J2/w/prod-v2/bsr@3/36200/eeccb/p/b/optic78d0377885876/p/lib/cmake/Optick/OptickTargets-release.cmake
-- Installing: C:/J2/w/prod-v2/bsr@3/36200/eeccb/p/b/optic78d0377885876/p/lib/cmake/Optick/OptickConfig.cmake
-- Installing: C:/J2/w/prod-v2/bsr@3/36200/eeccb/p/b/optic78d0377885876/p/lib/cmake/Optick/OptickConfigVersion.cmake
  • Mac
Install the project...
cmake -P cmake_install.cmake
-- Install configuration: "Release"
-- Installing: /tmp/install/lib/libOptickCore.dylib
-- Installing: /tmp/install/include/optick.h
-- Installing: /tmp/install/include/optick.config.h
-- Installing: /tmp/install/lib/cmake/Optick/OptickTargets.cmake
-- Installing: /tmp/install/lib/cmake/Optick/OptickTargets-release.cmake
-- Installing: /tmp/install/lib/cmake/Optick/OptickConfig.cmake
-- Installing: /tmp/install/lib/cmake/Optick/OptickConfigVersion.cmake

So it should not block other platforms, as the main objective is package libraries and headers.

The GUI to receive the profiler data, which is a C# project and must build on Windows

How does it work? Is it a define in the header, a configuration file? Who generates it?

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ✔️

All green in build 11 (3662d68121817cffd4225a65fe69f56dce903fd3):

  • optick/1.4.0.0:
    All packages built successfully! (All logs)

Conan v2 pipeline ❌

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians on the PR and we will help you.

See details:

Failure in build 11 (3662d68121817cffd4225a65fe69f56dce903fd3):

  • optick/1.4.0.0:
    CI failed to create some packages (All logs)

    Logs for packageID 24085be3dae734011e3c44cb8bf47131e967dbac:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.cppstd=17
    compiler.libcxx=libstdc++11
    compiler.version=11
    os=Linux
    
    [...]
    ======== Testing the package: Building ========
    optick/1.4.0.0 (test package): Calling build()
    optick/1.4.0.0 (test package): Running CMake.configure()
    optick/1.4.0.0 (test package): RUN: cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="/home/conan/w/prod-v2/bsr/cci-c03196dd/recipes/optick/all/test_package/build/gcc-11-x86_64-17-release/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/home/conan/w/prod-v2/bsr/cci-c03196dd/recipes/optick/all/test_package" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "/home/conan/w/prod-v2/bsr/cci-c03196dd/recipes/optick/all/test_package"
    -- Using Conan toolchain: /home/conan/w/prod-v2/bsr/cci-c03196dd/recipes/optick/all/test_package/build/gcc-11-x86_64-17-release/generators/conan_toolchain.cmake
    -- Conan toolchain: C++ Standard 17 with extensions OFF
    -- The CXX compiler identification is GNU 11.1.0
    -- Check for working CXX compiler: /usr/local/bin/c++
    -- Check for working CXX compiler: /usr/local/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Conan: Target declared 'optick::optick'
    -- Configuring done
    -- Generating done
    CMake Warning:
      Manually-specified variables were not used by the project:
    
        CMAKE_POLICY_DEFAULT_CMP0091
    
    
    -- Build files have been written to: /home/conan/w/prod-v2/bsr/cci-c03196dd/recipes/optick/all/test_package/build/gcc-11-x86_64-17-release
    
    optick/1.4.0.0 (test package): Running CMake.build()
    optick/1.4.0.0 (test package): RUN: cmake --build "/home/conan/w/prod-v2/bsr/cci-c03196dd/recipes/optick/all/test_package/build/gcc-11-x86_64-17-release" -- -j3
    Scanning dependencies of target test_package
    [ 50%] Building CXX object CMakeFiles/test_package.dir/test_package.cpp.o
    In file included from /home/conan/w/prod-v2/bsr/cci-c03196dd/recipes/optick/all/test_package/test_package.cpp:3:
    /home/conan/w/prod-v2/bsr/cci-c03196dd/recipes/optick/all/test_package/test_package.cpp: In function 'int main()':
    /home/conan/w/prod-v2/bsr/cci-c03196dd/recipes/optick/all/test_package/test_package.cpp:7:5: error: expected primary-expression before ')' token
        7 |     OPTICK_EVENT();
          |     ^~~~~~~~~~~~
    CMakeFiles/test_package.dir/build.make:62: recipe for target 'CMakeFiles/test_package.dir/test_package.cpp.o' failed
    make[2]: *** [CMakeFiles/test_package.dir/test_package.cpp.o] Error 1
    CMakeFiles/Makefile2:75: recipe for target 'CMakeFiles/test_package.dir/all' failed
    make[1]: *** [CMakeFiles/test_package.dir/all] Error 2
    Makefile:83: recipe for target 'all' failed
    make: *** [all] Error 2
    
    *********************************************************
    Recipe 'optick/1.4.0.0 (test package)' cannot build its binary
    It is possible that this recipe is not Conan 2.0 ready
    If the recipe comes from ConanCenter, report it at https://github.com/conan-io/conan-center-index/issues
    If it is your recipe, check if it is updated to 2.0
    *********************************************************
    
    ERROR: optick/1.4.0.0 (test package): Error in build() method, line 20
    	cmake.build()
    	ConanException: Error 2 while executing
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

Copy link
Contributor

Hooks produced the following warnings for commit 3662d68
optick/1.4.0.0@#656e7e1a90baae35a78979a119cbe4e9
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library './lib/libOptickCored.so' links to system library 'm' but it is not in cpp_info.system_libs.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library './lib/libOptickCore.so' links to system library 'm' but it is not in cpp_info.system_libs.

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

Successfully merging this pull request may close these issues.

4 participants