Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 644298 - [prefix/cygwin] dev-libs/icu-60.2 fails to merge with USE="-static-libs"
Summary: [prefix/cygwin] dev-libs/icu-60.2 fails to merge with USE="-static-libs"
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All Other
: Normal major (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-12 13:02 UTC by Sven Eden
Modified: 2021-01-12 09:59 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Fix conefig/mh_cygwin64 (icu-60.2-fix-cygwin64.patch,689 bytes, patch)
2018-01-12 13:04 UTC, Sven Eden
Details | Diff
Rename uconvmsg_dat to _uconvmsg_dat in uconv.cpp (icu-60.2-fix-uconvmsg_dat-on-cygwin.patch,834 bytes, patch)
2018-01-12 13:05 UTC, Sven Eden
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sven Eden 2018-01-12 13:02:34 UTC
Without the static-libs USE flag enabled, dev-libs/icu-60.2 can not be built on Cygwin64/Gentoo prefix under Windows 10.

Reproducible: Always

Steps to Reproduce:
1. USE="-static-libs" emerge icu
Actual Results:  
Emerge fails

Expected Results:  
Emerge succeeds

A Gentoo prefix is slightly different from stock cygwin. Therefore a slight misunderstanding in the cygwin64 config of icu causes two errors:

1. When creating libuconvmsg.a, the build system calls ../../bin/genrb, which silently fails.
   Upon investigation it can not find the needed shared libraries.
   Cause: config/mh_cygwin64 substitutes LD_LIBRARY_PATH with PATH
   Fix  : Comment out this substitution.

2. When building uconv.exe, the linker fails with "undefined reference to `uconvmsg_dat'"
   Cause: When building the assembler file for uconvmsg_dat, config/mh_cygwin64 sets the format to gcc-mingw.
   Fix: Rename to gcc-cygwin, and rename uconvmsg_dat in uconv.cpp to _uconvmsg.dat

The following two patches take care of the errors, and the resulting source tree can be merged on my gentoo prefix on cygwin under Windows 10.
Comment 1 Sven Eden 2018-01-12 13:04:01 UTC
Created attachment 514476 [details, diff]
Fix conefig/mh_cygwin64

This patch fixes some misunderstandings of what cygwin is in config/mh_cygwin64

These issues only affect the gentoo prefix, as we are neither using cygwin-ionstalled gcc, nor mingw.
Comment 2 Sven Eden 2018-01-12 13:05:41 UTC
Created attachment 514478 [details, diff]
Rename uconvmsg_dat to _uconvmsg_dat in uconv.cpp

This patch is only needed on a gentoo prefixed cygwin, because we are using the gcc-cygwin format instead of gcc-mingw or plain gcc. (Note: plain gcc formats causes the assembler to fail.)
Comment 3 Fabian Groffen gentoo-dev 2021-01-08 08:57:59 UTC
this feels valid to me, but I have no jurisdiction in the Cygwin territory
Comment 4 Sven Eden 2021-01-12 07:57:07 UTC
(In reply to Fabian Groffen from comment #3)
> this feels valid to me, but I have no jurisdiction in the Cygwin territory

Well, thanks to WSL and WSL2 Cygwin became less useful. I have long ceased to put a Gentoo prefix on top of it, as Gentoo can be easily installed in WSL directly, having no such issues.

From my point of view this bug can be closed as obsolete.
Comment 5 Fabian Groffen gentoo-dev 2021-01-12 09:59:10 UTC
ok, thanks for the update!