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

plf_list: add v2.72, fix a C++98 support regression in v2.70 #22715

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

valgur
Copy link
Contributor

@valgur valgur commented Feb 8, 2024

Adds a fix for mattreecebentley/plf_list#30 to v2.70.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.


def source(self):
get(self, **self.conan_data["sources"][self.version], strip_root=True)

def build(self):
apply_conandata_patches(self)
# Do not set PLF_TYPE_TRAITS_SUPPORT fo GCC v5.
# Tries and fails to use std::allocator_traits<allocator_type>::is_always_equal otherwise.
replace_in_file(self, os.path.join(self.source_folder, "plf_list.h"),
Copy link
Member

@AbrilRBS AbrilRBS Jul 29, 2024

Choose a reason for hiding this comment

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

This should be reported upstream - is_trivially_copyable is >=5 https://godbolt.org/z/chjMvGnb1, but as you pointed out is_always_equal was not added from the LWG 2108 until gcc 6 https://godbolt.org/z/4vxnWEoqn. I wonder if these checks should thus be split! Maybe we can report this upstream

cc @perseoGI

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Already did and a fix has been applied upstream: mattreecebentley/plf_list#32 🙂

Thanks for reminding me, though. I bumped the version to include it.

The GCC 5 issue has been fixed upstream.
@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Failure in build 3 (3c70457ddce5ed084723af2dc203444f35c89ab6):

  • plf_list/2.70:
    CI failed to create some packages (All logs)

    Logs for packageID 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.libcxx=libstdc++11
    compiler.version=5
    os=Linux
    
    [...]
    ----Running------
    > cmake --build '/home/conan/workspace/prod-v1/bsr/cci-9c07481c/recipes/plf_list/all/test_v1_package/build/aa812f66cc25d52e62cde1f093beffcc1fbfe3f8' '--' '-j3'
    -----------------
    Scanning dependencies of target test_package
    [ 50%] Building CXX object test_package/CMakeFiles/test_package.dir/test_package.cpp.o
    test_package/CMakeFiles/test_package.dir/build.make:81: recipe for target 'test_package/CMakeFiles/test_package.dir/test_package.cpp.o' failed
    CMakeFiles/Makefile2:112: recipe for target 'test_package/CMakeFiles/test_package.dir/all' failed
    Makefile:102: recipe for target 'all' failed
    CMake Warning:
      Manually-specified variables were not used by the project:
    
        CMAKE_EXPORT_NO_PACKAGE_REGISTRY
        CMAKE_INSTALL_BINDIR
        CMAKE_INSTALL_DATAROOTDIR
        CMAKE_INSTALL_INCLUDEDIR
        CMAKE_INSTALL_LIBDIR
        CMAKE_INSTALL_LIBEXECDIR
        CMAKE_INSTALL_OLDINCLUDEDIR
        CMAKE_INSTALL_SBINDIR
    
    
    In file included from /home/conan/workspace/prod-v1/bsr/cci-9c07481c/recipes/plf_list/all/test_package/test_package.cpp:1:0:
    /home/conan/workspace/prod-v1/bsr/74744/bdfbf/.conan/data/plf_list/2.70/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/plf_list.h: In instantiation of ‘void plf::list<element_type, allocator_type>::group_vector::blank() [with element_type = int; allocator_type = std::allocator<int>]’:
    /home/conan/workspace/prod-v1/bsr/74744/bdfbf/.conan/data/plf_list/2.70/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/plf_list.h:690:9:   required from ‘void plf::list<element_type, allocator_type>::group_vector::destroy_all_data(plf::list<element_type, allocator_type>::node_pointer_type) [with element_type = int; allocator_type = std::allocator<int>; plf::list<element_type, allocator_type>::node_pointer_type = plf::list<int>::node*]’
    /home/conan/workspace/prod-v1/bsr/74744/bdfbf/.conan/data/plf_list/2.70/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/plf_list.h:1531:3:   required from ‘plf::list<element_type, allocator_type>::~list() [with element_type = int; allocator_type = std::allocator<int>]’
    /home/conan/workspace/prod-v1/bsr/cci-9c07481c/recipes/plf_list/all/test_package/test_package.cpp:5:62:   required from here
    /home/conan/workspace/prod-v1/bsr/74744/bdfbf/.conan/data/plf_list/2.70/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/plf_list.h:598:68: error: no type named ‘is_always_equal’ in ‘struct std::allocator_traits<std::allocator<int> >’
         if PLF_CONSTEXPR (std::is_standard_layout<group_vector>::value && std::allocator_traits<allocator_type>::is_always_equal::value && std::is_trivial<group_pointer_type>::value)
                                                                        ^
    make[2]: *** [test_package/CMakeFiles/test_package.dir/test_package.cpp.o] Error 1
    make[1]: *** [test_package/CMakeFiles/test_package.dir/all] Error 2
    make: *** [all] Error 2
    WARN: *** Conan 1 is legacy and on a deprecation path ***
    WARN: *** Please upgrade to Conan 2 ***
    plf_list/2.70 (test package): WARN: 
         ************************************************
         The 'cmake' generator is deprecated.
         Please update your code and remove it.
         *************************************************
    
    plf_list/2.70 (test package): WARN: 
         ************************************************
         The 'cmake_find_package_multi' generator is deprecated.
         Please update your code and remove it.
         *************************************************
    
    plf_list/2.70 (test package): WARN: **** The 'from conans import CMake' helper is deprecated. Please update your code and remove it. ****
    ERROR: plf_list/2.70 (test package): Error in build() method, line 12
    	cmake.build()
    	ConanException: Error 2 while executing cmake --build '/home/conan/workspace/prod-v1/bsr/cci-9c07481c/recipes/plf_list/all/test_v1_package/build/aa812f66cc25d52e62cde1f093beffcc1fbfe3f8' '--' '-j3'
    
  • plf_list/2.57:
    Didn't run or was cancelled before finishing

  • plf_list/2.77:
    Didn't run or was cancelled before finishing

  • plf_list/2.52:
    Didn't run or was cancelled before finishing

  • plf_list/2.50:
    Didn't run or was cancelled before finishing

  • plf_list/2.03:
    Didn't run or was cancelled before finishing


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.

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