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

Add ICU 75.1 #23646

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

Conversation

datalogics-staylor
Copy link

@datalogics-staylor datalogics-staylor commented Apr 18, 2024

ICU version 75.1 was just released.


@CLAassistant
Copy link

CLAassistant commented Apr 18, 2024

CLA assistant check
All committers have signed the CLA.

@conan-center-bot

This comment has been minimized.

1 similar comment
@conan-center-bot

This comment has been minimized.

Copy link
Contributor

@jwillikers jwillikers left a comment

Choose a reason for hiding this comment

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

I'm curious whether we need the mingw patch or not for this release.

recipes/icu/all/conandata.yml Outdated Show resolved Hide resolved
@conan-center-bot

This comment has been minimized.

@jwillikers
Copy link
Contributor

According to the release announcement:

C++ code now requires C++17 and is being made more robust.

Looks like that constraint will need to be enforced for version 75 and later. You should be able to pull the logic from the Qt 6 recipe to require this in the validate method.

@datalogics-staylor
Copy link
Author

According to the release announcement:

C++ code now requires C++17 and is being made more robust.

Looks like that constraint will need to be enforced for version 75 and later. You should be able to pull the logic from the Qt 6 recipe to require this in the validate method.

Makes sense. Thanks and I will do that!

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@jwillikers
Copy link
Contributor

jwillikers commented Apr 25, 2024

Looks like it is just breaking on the test_package now, but only for Conan V1.

@datalogics-staylor
Copy link
Author

Looks like it is just breaking on the test_package now, but only for Conan V1.

Yes, I've been trying to figure out what to do about those failures and I'm afraid I'm coming up short.

Copy link
Contributor

@jwillikers jwillikers left a comment

Choose a reason for hiding this comment

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

@datalogics-staylor The issue is due to the test_package not having a C++ standard set when being built with Conan V1. You need to add target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) to the CMakeLists.txt in the test_package if the version of ICU is greater 75 or later.

Something like the following will probably work.

if (ICU_VERSION VERSION_GREATER_EQUAL "75")
    target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17)
else()
    target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
endif()

"msvc": "192",
"gcc": "8",
"clang": "9",
"apple-clang": "12" if Version(self.version) >= "6.5.0" else "11"
Copy link
Contributor

Choose a reason for hiding this comment

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

This just needs adapted from the Qt 6 recipe.

Suggested change
"apple-clang": "12" if Version(self.version) >= "6.5.0" else "11"
"apple-clang": "11"

Copy link
Author

Choose a reason for hiding this comment

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

Thank you so much! This makes perfect sense now that I understand what went wrong. I was having trouble understanding what the difference from Conan 1 to Conan 2 causing this was from just the logs.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@jwillikers
Copy link
Contributor

MSVC isn't using the C++17 standard:

note: 'auto' in non-type template parameters requires at least '/std:c++17'

@RubenRBS What's the best way to go about this?

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Failure in build 21 (6d909d376b218eb0c717ba21dfe8b36978d3f673):

  • icu/75.1:
    CI failed to create some packages (All logs)

    Logs for packageID 4e4e255a893b95913d3edbc4cb2131034a719481:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=Visual Studio
    compiler.runtime=MD
    compiler.version=16
    os=Windows
    [options]
    icu:shared=False
    
    [...]
    Creating /dev/mqueue directory failed.
    POSIX message queues will not work
    
    cd ./config; \
    	make -f pkgdataMakefile
    rebuilding config/icucross.inc
    rebuilding config/icucross.mk
    rm -rf config/icu-config
    /usr/bin/install -c /c/j/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/src/source/config/icu-config-top config/icu-config
    make[1]: Entering directory '/c/J/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/build-release/config'
    rm -rf pkgdata.inc
    chmod u+w config/icu-config
    /bin/sh /c/j/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/src/source/mkinstalldirs lib
    /bin/sh /c/j/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/src/source/mkinstalldirs bin
    mkdir lib
    mkdir bin
    LC_ALL=C /c/j/workspace/prod-v1/bsr/44078/bcbab/s/fb8319/1/bin/msys64/usr/bin/sed -f /c/j/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/src/source/config/make2sh.sed < ./config/Makefile.inc | grep -v '#M#' | uniq >> config/icu-config
    make[0]: Making `all' in `stubdata'
    make[1]: Entering directory '/c/J/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/build-release/stubdata'
    config/icu-i18n.pc updated.
    LC_ALL=C /c/j/workspace/prod-v1/bsr/44078/bcbab/s/fb8319/1/bin/msys64/usr/bin/sed -f /c/j/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/src/source/config/make2sh.sed < /c/j/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/src/source/config/mh-msys-msvc | grep -v '#M#' | uniq >> config/icu-config
    config/icu-uc.pc updated.
    config/icu-io.pc updated.
    generating dependency information for /c/j/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/src/source/stubdata/stubdata.cpp
    cat /c/j/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/src/source/config/icu-config-bottom >> config/icu-config
    cl -nologo -DNDEBUG -DU_STATIC_IMPLEMENTATION   -DHAVE_DLOPEN=0 -DU_HAVE_MMAP=0 -DU_HAVE_DIRENT_H=0 -DU_HAVE_POPEN=0 -DU_HAVE_TZNAME=0 -DU_HAVE_STRTOD_L=0 -DU_HAVE_WCSCPY=0  -DU_STATIC_IMPLEMENTATION -DU_RELEASE=1 -D_CRT_SECURE_NO_DEPRECATE -I/c/j/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/src/source/common  -DU_ALL_IMPLEMENTATION -DU_ATTRIBUTE_DEPRECATED= -DWIN32 -DCYGWINMSVC -MD -O2 -Ob2 -FS   -GF -nologo -EHsc -Zc:wchar_t -utf-8 -c   -Fostubdata.ao /c/j/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/src/source/stubdata/stubdata.cpp
    stubdata.cpp
    chmod u-w config/icu-config
    C:/j/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/src/source/common\unicode/localpointer.h(561): error C3533: a parameter cannot have a type that contains 'auto'
    C:/j/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/src/source/common\unicode/localpointer.h(561): note: 'auto' in non-type template parameters requires at least '/std:c++17'
    C:/j/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/src/source/common\unicode/udata.h(434): error C2975: 'closeFunction': invalid template argument for 'icu_75::internal::LocalOpenPointer', expected compile-time constant expression
    C:/j/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/src/source/common\unicode/localpointer.h(561): note: see declaration of 'closeFunction'
    make[1]: Leaving directory '/c/J/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/build-release/config'
    Note: rebuild with "make VERBOSE=1 " to show all compiler parameters.
    make[1]: Leaving directory '/c/J/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/build-release/stubdata'
    icu/75.1: 
    mkdir: cannot create directory '/dev/shm': Read-only file system
    mkdir: cannot create directory '/dev/mqueue': Read-only file system
    mkdir: cannot create directory '/dev/shm': Read-only file system
    mkdir: cannot create directory '/dev/mqueue': Read-only file system
    make[1]: *** [/c/j/workspace/prod-v1/bsr/44078/bcbab/.conan/data/icu/75.1/_/_/build/4e4e255a893b95913d3edbc4cb2131034a719481/src/source/config/mh-msys-msvc:140: stubdata.ao] Error 2
    make: *** [Makefile:153: all-recursive] Error 2
    WARN: *** Conan 1 is legacy and on a deprecation path ***
    WARN: *** Please upgrade to Conan 2 ***
    icu/75.1: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    icu/75.1: ERROR: Package '4e4e255a893b95913d3edbc4cb2131034a719481' build failed
    icu/75.1: WARN: Build folder C:\J\workspace\prod-v1\bsr\44078\bcbab\.conan\data\icu\75.1\_\_\build\4e4e255a893b95913d3edbc4cb2131034a719481\build-release
    ERROR: icu/75.1: Error in build() method, line 223
    	autotools.make()
    	ConanException: Error 2 while executing make -j8
    
  • icu/74.2:
    All packages built successfully! (All logs)

  • icu/74.1:
    Didn't run or was cancelled before finishing

  • icu/73.2:
    Didn't run or was cancelled before finishing

  • icu/73.1:
    Didn't run or was cancelled before finishing

  • icu/71.1:
    Didn't run or was cancelled before finishing

  • icu/69.1:
    Didn't run or was cancelled before finishing

  • icu/72.1:
    Didn't run or was cancelled before finishing

  • icu/70.1:
    Didn't run or was cancelled before finishing

  • icu/68.2:
    All packages built successfully! (All logs)


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.


Conan v2 pipeline ✔️

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

All green in build 21 (6d909d376b218eb0c717ba21dfe8b36978d3f673):

  • icu/74.1:
    All packages built successfully! (All logs)

  • icu/74.2:
    All packages built successfully! (All logs)

  • icu/75.1:
    All packages built successfully! (All logs)

  • icu/73.2:
    All packages built successfully! (All logs)

  • icu/73.1:
    All packages built successfully! (All logs)

  • icu/72.1:
    All packages built successfully! (All logs)

  • icu/68.2:
    All packages built successfully! (All logs)

  • icu/71.1:
    All packages built successfully! (All logs)

  • icu/69.1:
    All packages built successfully! (All logs)

  • icu/70.1:
    All packages built successfully! (All logs)

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.

None yet

4 participants