Request for Assistance with ICU 74.1 Compilation on Solaris Studio

43 views
Skip to first unread message

Omesharma

unread,
Apr 1, 2025, 6:17:45 AMApr 1
to icu-support, hanume...@gmail.com
Hi Team,

We are currently upgrading our ICU C++ library from version 70.1 to 74.1. Our target systems include
Linux 7 (GCC 4.8.5) and Oracle Solaris 11.4 (SPARC) with GCC 13.2.0.
While ICU 70.1 compiled successfully on both platforms, we are encountering compilation errors with ICU 74.1 on Solaris when using Solaris Studio (12.6).

Background Context:

Linux (GCC): We encountered a single error related to std::max_align_t, which was resolved by changing it to max_align_t.

Solaris (GCC): No issues were found when compiling with GCC.

Solaris (Solaris Studio): Despite success with ICU 70.1, we are facing multiple compilation errors with ICU 74.1 as we are fixing them incrementally.
Version : CC: Studio 12.6 Sun C++ 5.15 SunOS_sparc Patch 152715-09 2021/07/22

When using the default GCC compiler specified in the ICU Makefile, no issues arise during compilation on Solaris.

cd to ICU source folder and executed ./configure script

However, for development purposes, Solaris Studio is being used, specifically CC: Studio 12.6 Sun C++ 5.15 SunOS_sparc Patch 152715-09 2021/07/22.
It's worth noting that when using ICU version 70.1 with this Solaris Studio setup, no problems were encountered

Errors Encountered so far when compiled ICU 74.1 on Solaris studio:
1.
    icu/source/common/umutex.cpp", line 73: Error: icu_74::umtx_init::{lambda at umutex.cpp,73:17}::operator()() const and icu_74::umtx_init::{lambda at umutex.cpp,74:21}::operator()() const have same extern name "(".
    1 Error(s) and 2 Warning(s) detected.
    gmake[2]: *** [/icu/source/config/mh-solaris:92: umutex.o] Error 2


2.
    Undefined                       first referenced
    symbol                             in file
    uniset_getUnicode32Instance_74      normlzr.o
    ld: fatal: symbol referencing errors


3.
    "icu/source/i18n/formatted_string_builder.h", line 236: Error: Initializer for constexpr variable icu_74::kUndefinedField must be a constant expression.
    "icu/source/i18n/formatted_string_builder.h", line 241: Error: Initializer for constexpr variable icu_74::kGeneralNumericField must be a constant expression.
    "icu/source/common/static_unicode_sets.h", line 130: Warning (Anachronism): Undefined character escape sequence "£'".
    "icu/source/common/static_unicode_sets.h", line 131: Warning (Anachronism): Undefined character escape sequence "₹'".
    "icu/source/common/static_unicode_sets.h", line 132: Warning (Anachronism): Undefined character escape sequence "¥'".
    "icu/source/common/static_unicode_sets.h", line 133: Warning (Anachronism): Undefined character escape sequence "₩'".
    "icu/source/i18n/numparse_impl.h", line 38: Warning: Function icu_74::numparse::impl::NumberParserImpl::~NumberParserImpl() can throw only the exceptions thrown by the function icu_74::numparse::impl::MutableMatcherCollection::~MutableMatcherCollection() it overrides.
    2 Error(s) and 13 Warning(s) detected.



We require your assistance in resolving these compilation issues with Solaris Studio. Does ICU 74.1 officially support compilation
with Solaris Studio? Any guidance or patches would be greatly appreciated.

Regards,
Omesh

Fredrik Roubert

unread,
Apr 1, 2025, 11:39:13 AMApr 1
to Omesharma, icu-support, hanume...@gmail.com
On Tue, Apr 1, 2025 at 12:17 PM Omesharma <sharma...@gmail.com> wrote:

> While ICU 70.1 compiled successfully on both platforms, we are encountering compilation errors with ICU 74.1 on Solaris when using Solaris Studio (12.6).

ICU 74 requires a compiler that supports the C++17 standard:

https://icu.unicode.org/download/74

But the Studio 12.6 compiler only supports the C++14 standard:

https://docs.oracle.com/cd/E77782_01/html/E77789/bkabg.html

So it's to be expected that compiling ICU 74 with Studio 12.6 won't work.

--
Fredrik Roubert
rou...@google.com

Fredrik Roubert

unread,
Apr 1, 2025, 11:42:14 AMApr 1
to Omesharma, icu-support, hanume...@gmail.com
On Tue, Apr 1, 2025 at 5:38 PM Fredrik Roubert <rou...@google.com> wrote:

> ICU 74 requires a compiler that supports the C++17 standard:
>
> https://icu.unicode.org/download/74

Oops, I was one version off there, it should be ICU 75 that requires
C++17. But the error messages you got all seem related to standards
compliance, so that's where I'd recommend you start looking for what's
not working.

--
Fredrik Roubert
rou...@google.com

Markus Scherer

unread,
Apr 1, 2025, 3:18:42 PMApr 1
to Omesharma, icu-support, hanume...@gmail.com
On Tue, Apr 1, 2025 at 3:17 AM Omesharma <sharma...@gmail.com> wrote:
Does ICU 74.1 officially support compilation with Solaris Studio?

ICU4C Platform Support

ICU4C requires C++11 and has been tested with up to C++20.

We routinely test on recent versions of Linux, macOS, and Windows.

We accept patches for other platforms.



markus

Omesharma

unread,
Apr 2, 2025, 2:46:02 AMApr 2
to Rob Boehne, ICU support mailing list, hanume...@gmail.com, icu-support
Thanks, Fredrick, Markus, and Rob.

Thank you for your prompt response. I agree with your suggestion to use GCC instead of Solaris Studio for the Solaris platform. However, our product is entirely built using Solaris Studio, and we have been relying on the ICU library for over a decade, generating .so files with Solaris Studio.

Is there any possibility that the ICU 74.1 team could assist in making the library compatible with Solaris Studio (as it worked fine up to ICU version 70.1)? While we attempted to resolve compilation errors one by one, we found the process to be endless. Ultimately, we had to remove the latest C++ features fom ICU 74.1 code, which defeats the purpose of upgrading.


Regards,
Omesh



On Wed, Apr 2, 2025 at 7:55 AM Rob Boehne <ro...@datalogics.com> wrote:

So, perhaps the pertinent question would be:  Can Solaris Studio support C++11 – the answer is a qualified “yes”, in that to support C++11 Solaris Studio requires a different set of runtime libraries, which tends to make anything built with it incompatible with binaries build without c++11 flags.

Most of these “vendor” compilers had some hacky way to support c++11 and later standards, but if Solaris is your target, you’re much better off using gcc.  We were building binaries with gcc-9 until we dropped support for Solaris.

 

HTH

 

--
You received this message because you are subscribed to the Google Groups "icu-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to icu-support...@unicode.org.
To view this discussion visit https://groups.google.com/a/unicode.org/d/msgid/icu-support/CAN49p6rDvE%3Do7YidTHocNOyXhSHLA0U6Sj_%3DdkT-Lg_uuSNU7A%40mail.gmail.com.

Fredrik Roubert

unread,
Apr 2, 2025, 11:27:06 AMApr 2
to Omesharma, Rob Boehne, ICU support mailing list, hanume...@gmail.com, icu-support
On Wed, Apr 2, 2025 at 8:46 AM Omesharma <sharma...@gmail.com> wrote:

> Is there any possibility that the ICU 74.1 team could assist in making the library compatible with Solaris Studio (as it worked fine up to ICU version 70.1)?

We don't actually have such resources, but I feel something of a
personal affinity to Solaris and was curious so I took a quick look at
it and with the attached patch applied I was able to successfully
compile ICU4C 74.1 on Solaris using Studio 12.6, like this:

$ tar xzf icu4c-74_1-src.tgz
$ cd icu
$ patch -p1 -i ../icu4c-74-1-solaris-1.patch
$ cd source
$ PATH="/opt/developerstudio12.6/bin:$PATH" CXXFLAGS='-std=c++11'
./runConfigureICU Solaris
$ gmake

--
Fredrik Roubert
rou...@google.com
icu4c-74-1-solaris-1.patch

Omesharma

unread,
Apr 2, 2025, 1:55:28 PMApr 2
to Fredrik Roubert, Rob Boehne, ICU support mailing list, hanume...@gmail.com, icu-support
Hi Fredrik,

Thanks for the inputs.
I tried the same steps but am still getting the same error.


```
"umutex.cpp", line 73: Error: icu_74::umtx_init::{lambda at umutex.cpp,73:17}::operator()() const and icu_74::umtx_init::{lambda at umutex.cpp,74:21}::operator()() const have same extern name "(".
1 Error(s) and 2 Warning(s) detected.
gmake[1]: *** [../config/mh-solaris:92: umutex.o] Error 2
```

Steps followed 
tar -xzvf icu4c-74_1-src.tgz
cd source/
PATH="/comms/tools/apps/solarisstudio126_sparc/bin:$PATH" CXXFLAGS='-std=c++11'
./runConfigureICU Solaris

Regards,
Omesh

Fredrik Roubert

unread,
Apr 2, 2025, 1:58:17 PMApr 2
to Omesharma, Rob Boehne, ICU support mailing list, hanume...@gmail.com, icu-support
On Wed, Apr 2, 2025 at 7:55 PM Omesharma <sharma...@gmail.com> wrote:

> Steps followed
> wget https://github.com/unicode-org/icu/releases/download/release-74-1/icu4c-74_1-src.tgz
> tar -xzvf icu4c-74_1-src.tgz
> cd source/
> PATH="/comms/tools/apps/solarisstudio126_sparc/bin:$PATH" CXXFLAGS='-std=c++11'
> ./runConfigureICU Solaris

Why did you not apply the patch?

--
Fredrik Roubert
rou...@google.com

Omesharma

unread,
Apr 3, 2025, 2:14:46 AMApr 3
to Fredrik Roubert, Rob Boehne, ICU support mailing list, hanume...@gmail.com, icu-support
Hi Fredrik,

After applying the patch, I am still getting the error as listed below:

```
escapesrc: scrptrun.cpp -> _scrptrun.cpp
/comms/tools/apps/solarisstudio126_sparc/bin/CC   -DU_HAVE_ELF_H=1 -DU_HAVE_STRTOD_L=0  -I../../common -I../..  -DPACKAGE_NAME=\"ICU\" -DPACKAGE_TARNAME=\"International\ Components\ for\ Unicode\" -DPACKAGE_VERSION=\"74.1\" -DPACKAGE_STRING=\"ICU\ 74.1\" -DPACKAGE_BUGREPORT=\"http://icu-project.org/bugs\" -DPACKAGE_URL=\"http://icu-project.org\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=4 -DHAVE_LIBM=1 -DHAVE_ELF_H=1 -DHAVE_DLFCN_H=1 -DHAVE_DLOPEN=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_LIBPTHREAD=1 -DHAVE_INTTYPES_H=1 -DHAVE_DIRENT_H=1 -DWORDS_BIGENDIAN=1 -DHAVE_WCHAR_H=1 -DSIZEOF_WCHAR_T=4 -O4 -xlibmil  -Wno-ambiguous-reversed-operator -mt  -c   -o scrptrun.o _scrptrun.cpp
"../../common/unicode/umachine.h", line 386: Error: char16_t is not defined.
"../../common/unicode/uscript.h", line 656: Error: Type name expected instead of "UChar".
"../../common/unicode/localpointer.h", line 71: Error: Bad syntax for pure function definition.
"../../common/unicode/localpointer.h", line 72: Error: Bad syntax for pure function definition.
"../../common/unicode/localpointer.h", line 74: Error: Bad syntax for pure function definition.
"../../common/unicode/localpointer.h", line 224: Error: ")" expected instead of "&&".
"../../common/unicode/localpointer.h", line 224: Error: "," expected instead of "noexcept".
"../../common/unicode/localpointer.h", line 238: Error: unique_ptr is not a member of std.
"../../common/unicode/localpointer.h", line 238: Error: ")" expected instead of "<".
"../../common/unicode/localpointer.h", line 255: Error: Identifier expected instead of "(".
"../../common/unicode/localpointer.h", line 255: Error: "," expected instead of "(".
"../../common/unicode/localpointer.h", line 270: Error: Identifier expected instead of "(".
"../../common/unicode/localpointer.h", line 270: Error: Multiple declaration for =.
"../../common/unicode/localpointer.h", line 270: Error: "," expected instead of "(".
"../../common/unicode/localpointer.h", line 280: Error: "," expected instead of "noexcept".
"../../common/unicode/localpointer.h", line 291: Error: A member cannot be initialized except in a constructor.
"../../common/unicode/localpointer.h", line 342: Error: unique_ptr is not a member of std.
"../../common/unicode/localpointer.h", line 342: Error: Identifier expected instead of "<".
"../../common/unicode/localpointer.h", line 342: Error: Use ";" to terminate declarations.
"../../common/unicode/localpointer.h", line 399: Error: ")" expected instead of "&&".
"../../common/unicode/localpointer.h", line 399: Error: "," expected instead of "noexcept".
"../../common/unicode/localpointer.h", line 413: Error: unique_ptr is not a member of std.
"../../common/unicode/localpointer.h", line 413: Error: ")" expected instead of "<".
"../../common/unicode/localpointer.h", line 430: Error: Identifier expected instead of "(".
"../../common/unicode/localpointer.h", line 430: Error: "," expected instead of "(".
Compilation aborted, too many Error messages.
gmake[2]: *** [../../config/mh-solaris:92: scrptrun.o] Error 2
rm _scrptrun.cpp
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/extra/scrptrun'
gmake[1]: *** [Makefile:49: all-recursive] Error 2
gmake[1]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/extra'
gmake: *** [Makefile:152: all-recursive] Error 2
```

Regards,
Omesh

Fredrik Roubert

unread,
Apr 3, 2025, 8:11:50 AMApr 3
to Omesharma, Rob Boehne, hanume...@gmail.com, icu-support
On Thu, Apr 3, 2025 at 8:14 AM Omesharma <sharma...@gmail.com> wrote:

> /comms/tools/apps/solarisstudio126_sparc/bin/CC -DU_HAVE_ELF_H=1 -DU_HAVE_STRTOD_L=0 -I../../common -I../.. -DPACKAGE_NAME=\"ICU\" -DPACKAGE_TARNAME=\"International\ Components\ for\ Unicode\" -DPACKAGE_VERSION=\"74.1\" -DPACKAGE_STRING=\"ICU\ 74.1\" -DPACKAGE_BUGREPORT=\"http://icu-project.org/bugs\" -DPACKAGE_URL=\"http://icu-project.org\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=4 -DHAVE_LIBM=1 -DHAVE_ELF_H=1 -DHAVE_DLFCN_H=1 -DHAVE_DLOPEN=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_LIBPTHREAD=1 -DHAVE_INTTYPES_H=1 -DHAVE_DIRENT_H=1 -DWORDS_BIGENDIAN=1 -DHAVE_WCHAR_H=1 -DSIZEOF_WCHAR_T=4 -O4 -xlibmil -Wno-ambiguous-reversed-operator -mt -c -o scrptrun.o _scrptrun.cpp
> "../../common/unicode/umachine.h", line 386: Error: char16_t is not defined.

That looks like you haven't set CXXFLAGS='-std=c++11'.

To make this easier, I'd recommend you to start out by following the
steps that I listed exactly, including both applying the patch file
and setting CXXFLAGS.

--
Fredrik Roubert
rou...@google.com

Omesharma

unread,
Apr 3, 2025, 10:08:56 AMApr 3
to Fredrik Roubert, Rob Boehne, hanume...@gmail.com, icu-support
I applied the same steps, Fredrik.

 509  patch -p1 -i solaris.path
  512  cd source/
  514  PATH="/comms/tools/apps/solarisstudio126_sparc/bin:$PATH" CXXFLAGS='-std=c++11'
  515  ./runConfigureICU Solaris
  516  gmake

```
/comms/tools/apps/solarisstudio126_sparc/bin/CC -V

CC: Studio 12.6 Sun C++ 5.15 SunOS_sparc Patch 152715-09 2021/07/22
```

Regards,
Omesh

Bastien Durel

unread,
Apr 3, 2025, 10:21:02 AMApr 3
to icu-support, Omesharma, icu-support
Hi.

You should either export the variables or set them on the line you run  ./runConfigureICU

I have no Solaris to test, but on all my unix-like boxes, non-exported variables don't get into the environment of child processes

Fredrik Roubert

unread,
Apr 3, 2025, 10:52:08 AMApr 3
to Omesharma, Rob Boehne, hanume...@gmail.com, icu-support
On Thu, Apr 3, 2025 at 4:08 PM Omesharma <sharma...@gmail.com> wrote:

> 514 PATH="/comms/tools/apps/solarisstudio126_sparc/bin:$PATH" CXXFLAGS='-std=c++11'
> 515 ./runConfigureICU Solaris

That's not the same, when you split that one commandline into two
lines the first line will set local variables, which then won't be
passed to the command executed on the second line.

--
Fredrik Roubert
rou...@google.com

Omesharma

unread,
Apr 4, 2025, 1:26:14 PMApr 4
to Fredrik Roubert, Rob Boehne, hanume...@gmail.com, icu-support
HI Fredrik and Bastien,

I ran 
export PATH="/comms/tools/apps/solarisstudio126_sparc/bin:$PATH"
export  CXXFLAGS='-std=c++11'
 ./runConfigureICU Solaris

Path is already applied

I validate reconfigure set the required flag 
```
./runConfigureICU Solaris
export CPP= CC=/comms/tools/apps/solarisstudio126_sparc/bin/cc CXX=/comms/tools/apps/solarisstudio126_sparc/bin/CC CPPFLAGS= CFLAGS=-xO1 -xlibmil  CXXFLAGS=-O4 -xlibmil -std=c++11 LDFLAGS= MAKE=
Running ./configure   for SOLARIS using Sun's CC compiler

ENDS with

ICU for C/C++ 74.1 is ready to be built.
=== Important Notes: ===
Data Packaging: library
 This means: ICU data will be linked with ICU. A shared data library will be built.
 To locate data: ICU will use the linked data library. If linked with the stub library located in stubdata/, the application can use udata_setCommonData() or set a data path to override.
Building ICU: Use a GNU make such as /usr/bin/gmake to build ICU.
checking the version of "/usr/bin/gmake"... 4.4.1 (we wanted at least 3.80)
ok

If the result of the above commands looks okay to you, go to the directory
source in the ICU distribution to build ICU. Please remember that ICU needs
GNU make to build properly...
```

Call command - gmake form source

when it triggers, it won't compile the source file , Please check below output from gmake


```
-bash-5.2$ gmake
rebuilding config/icucross.mk
rebuilding config/icucross.inc
cd ./config; \
        gmake -f pkgdataMakefile
gmake[1]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/config'
rm -rf pkgdata.inc
gmake[1]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/config'
rm -rf config/icu-config
/usr/bin/ginstall -c ./config/icu-config-top config/icu-config
chmod u+w config/icu-config
LC_ALL=C /usr/bin/gsed -f ./config/make2sh.sed < ./config/Makefile.inc | grep -v '#M#' | uniq >> config/icu-config
LC_ALL=C /usr/bin/gsed -f ./config/make2sh.sed < ./config/mh-solaris | grep -v '#M#' | uniq >> config/icu-config
cat ./config/icu-config-bottom >> config/icu-config
chmod u-w config/icu-config
config/icu-uc.pc updated.
config/icu-i18n.pc updated.
config/icu-io.pc updated.
Note: rebuild with "gmake VERBOSE=1 " to show all compiler parameters.
building tools/escapesrc (Needed for this platform with NEED_ESCAPING)
gmake[1]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/escapesrc'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/escapesrc'
gmake[0]: Making `all' in `stubdata'
gmake[1]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/stubdata'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/stubdata'
gmake[0]: Making `all' in `common'
gmake[1]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/common'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/common'
gmake[0]: Making `all' in `i18n'
gmake[1]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/i18n'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/i18n'
gmake[0]: Making `all' in `io'
gmake[1]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/io'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/io'
gmake[0]: Making `all' in `tools'
gmake[1]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools'
gmake[1]: Making `all' in `toolutil'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/toolutil'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/toolutil'
gmake[1]: Making `all' in `ctestfw'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/ctestfw'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/ctestfw'
gmake[1]: Making `all' in `makeconv'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/makeconv'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/makeconv'
gmake[1]: Making `all' in `genrb'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/genrb'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/genrb'
gmake[1]: Making `all' in `genbrk'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/genbrk'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/genbrk'
gmake[1]: Making `all' in `gencnval'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/gencnval'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/gencnval'
gmake[1]: Making `all' in `gensprep'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/gensprep'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/gensprep'
gmake[1]: Making `all' in `icuinfo'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/icuinfo'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/icuinfo'
gmake[1]: Making `all' in `genccode'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/genccode'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/genccode'
gmake[1]: Making `all' in `gencmn'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/gencmn'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/gencmn'
gmake[1]: Making `all' in `icupkg'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/icupkg'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/icupkg'
gmake[1]: Making `all' in `pkgdata'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/pkgdata'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/pkgdata'
gmake[1]: Making `all' in `gentest'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/gentest'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/gentest'
gmake[1]: Making `all' in `gennorm2'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/gennorm2'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/gennorm2'
gmake[1]: Making `all' in `gencfu'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/gencfu'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/gencfu'
gmake[1]: Making `all' in `gendict'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/gendict'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/gendict'
gmake[1]: Making `all' in `icuexportdata'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/icuexportdata'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/icuexportdata'
gmake[1]: Making `all' in `escapesrc'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/escapesrc'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools/escapesrc'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools'
gmake[2]: Nothing to be done for 'all-local'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools'
gmake[1]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/tools'
gmake[0]: Making `all' in `data'
gmake[1]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/data'
gmake -f pkgdataMakefile
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/data'
rm -rf icupkg.inc
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/data'
/bin/sh ../mkinstalldirs ./out/tmp ./out/build/icudt74b
Unpacking ./out/icudt74b.dat and generating out/tmp/icudata.lst (list of data files)
LD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$LD_LIBRARY_PATH  ../bin/icupkg -d ./out/build/icudt74b --list -x \* ./out/icudt74b.dat -o out/tmp/icudata.lst
echo timestamp > build-local
LD_LIBRARY_PATH=../stubdata:../tools/ctestfw:../lib:$LD_LIBRARY_PATH  ../bin/pkgdata -O ../data/icupkg.inc -q -c -s /scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/data/out/build/icudt74b -d ../lib -e icudt74  -T ./out/tmp -p icudt74b -m dll -r 74.1 -L icudata ./out/tmp/icudata.lst
pkgdata: /comms/tools/apps/solarisstudio126_sparc/bin/cc   -DU_HAVE_ELF_H=1 -DU_HAVE_STRTOD_L=0  -DU_ATTRIBUTE_DEPRECATED= -xO1 -xlibmil  -mt  -std=c11 -c -I../common -I../common -DPIC -KPIC -o ./out/tmp/icudt74b_dat.o ./out/tmp/icudt74b_dat.S
pkgdata: /comms/tools/apps/solarisstudio126_sparc/bin/cc -xO1 -xlibmil  -mt  -std=c11  -G  -o ../lib/libicudata.so.74.1 ./out/tmp/icudt74b_dat.o -h  libicudata.so.74
pkgdata: cd ../lib/ && rm -f libicudata.so.74 && ln -s libicudata.so.74.1 libicudata.so.74
pkgdata: cd ../lib/ && rm -f libicudata.so && ln -s libicudata.so.74.1 libicudata.so
echo timestamp > packagedata
gmake[1]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/data'
gmake[0]: Making `all' in `extra'
gmake[1]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/extra'
gmake[1]: Making `all' in `scrptrun'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/extra/scrptrun'
gmake[2]: Nothing to be done for 'all'.

gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/extra/scrptrun'
gmake[1]: Making `all' in `uconv'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/extra/uconv'
gmake -f pkgdataMakefile
gmake[3]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/extra/uconv'
rm -rf pkgdata.inc
gmake[3]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/extra/uconv'
LD_LIBRARY_PATH=../../lib:../../stubdata:../../tools/ctestfw:$LD_LIBRARY_PATH   ../../bin/pkgdata -p uconvmsg -O pkgdata.inc -m static -s uconvmsg -d uconvmsg -T uconvmsg uconvmsg/uconvmsg.lst
pkgdata: /comms/tools/apps/solarisstudio126_sparc/bin/cc   -DU_HAVE_ELF_H=1 -DU_HAVE_STRTOD_L=0  -DU_ATTRIBUTE_DEPRECATED= -xO1 -xlibmil  -mt  -std=c11 -c -I../../common -I../../common -DPIC -KPIC -o uconvmsg/uconvmsg_dat.o uconvmsg/uconvmsg_dat.S
pkgdata: ar r uconvmsg/libuconvmsg.a uconvmsg/uconvmsg_dat.o
pkgdata: ranlib uconvmsg/libuconvmsg.a
/comms/tools/apps/solarisstudio126_sparc/bin/CC -O4 -xlibmil -std=c++11 -Wno-ambiguous-reversed-operator -mt  -std=c++11  -o ../../bin/uconv uconv.o uwmsg.o -L../../lib -licui18n -L../../lib -licuuc -L../../stubdata -licudata -lpthread -lm  -mt  uconvmsg/libuconvmsg.a
cd ../.. \
 && CONFIG_FILES=extra/uconv/uconv.1 CONFIG_HEADERS= /bin/sh ./config.status
config.status: creating extra/uconv/uconv.1
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/extra/uconv'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/extra'
gmake[2]: Nothing to be done for 'all-local'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/extra'

gmake[1]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/extra'
gmake[0]: Making `all' in `samples'
gmake[1]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/samples'
gmake[1]: Making `all' in `date'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/samples/date'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/samples/date'
gmake[1]: Making `all' in `cal'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/samples/cal'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/samples/cal'
gmake[2]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/samples'
gmake[2]: Nothing to be done for 'all-local'.
gmake[2]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/samples'
gmake[1]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/samples'
gmake[0]: Making `all' in `test'
gmake[1]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/test'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source/test'
gmake[1]: Entering directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source'
Note: rebuild with "gmake VERBOSE=1 all-local" to show all compiler parameters.
gmake[1]: Leaving directory '/scratch/omesharm/workspace/msg_comp/msgcomp/icu/source'
```

Regards,
Omesh


Fredrik Roubert

unread,
Apr 4, 2025, 1:42:49 PMApr 4
to Omesharma, Rob Boehne, hanume...@gmail.com, icu-support
On Fri, Apr 4, 2025 at 7:26 PM Omesharma <sharma...@gmail.com> wrote:

> gmake[1]: Nothing to be done for 'all'.

That is what gmake would print if it was run in a directory where a
build had already been performed.

To make it easier to pinpoint where things go wrong, I recommend you
to start from scratch in an empty directory, extracting the archive,
applying the patch, each and every time.

--
Fredrik Roubert
rou...@google.com

Omesharma

unread,
Apr 8, 2025, 2:44:57 AMApr 8
to Fredrik Roubert, Rob Boehne, hanume...@gmail.com, icu-support
  Thank you, Fredrik, Markus, Rob and Bastien
The issue is resolved. After deleting the existing source and performing a fresh clone, followed by the provided steps and patch application, the process is now functioning correctly. I will proceed to initiate a build using the product Makefile, which will internally configure and execute gmake for ICU.
 I appreciate your time and prompt assistance. I will keep you informed of any unexpected issues, but as of now it looks good.

Regards,
Omesh
Reply all
Reply to author
Forward
0 new messages