I think the Cygwin port for using static libraries has to be finished for ICU. The current ICU CVS snapshot should be better suited for static libraries, but it's not completed yet. Help is always appreciated on this matter.

You could try to set CPPFLAGS=-DU_STATIC_IMPLEMENTATION before you run ICU. That may help to prevent the variable importation.

Of course, using asking on icu4c-support mailing list may get you a quicker and a wider variety of responses.

PerlDiscuss - Perl Newsgroups and mailing lists wrote:

Ok, after much gnashing of teeth, I have made *some* progress:
1.  Start as clean as possible
     A.  cd /parrot
     B.  make realclean
     C.  cvs update -dP

2.  Begin rain dance
     A.  modify config/gen/icu.pl  (remove --disable-dynamic)
           $icuconfigureargs = "--disable-layout --disable-tests
--disable-samples --quiet '--prefix=$cwd/blib' --enable-static
--disable-extras '--oldincludedir=$cwd/blib/old'
--with-data-packaging=archive";
     B.  modify config/init/hints/cygwin.pl
           link => 'c++',
     C.  perl Configure.pl --ccflags=-Iicu/source/common
           Fixes a problem with #includes for unicode/<header.h> files
     D.  make

now fails during the linking:

c++ -o parrot.exe -L/usr/local/lib  -g  imcc/main.o blib/lib/libparrot.a
blib/lib/libicuuc.a blib/lib/libicuda
ta.a -lcrypt
blib/lib/libicuuc.a(udata.o)(.text+0x745): In function `openCommonData':
/perl/.cpan/build/icu/source/common/udata.c:581: undefined reference to
`__imp__icudt26_dat'
collect2: ld returned 1 exit status
make: *** [parrot.exe] Error 1


I have no idea about that error or why ICU appears to be compiled multiple times.

Any further insight would be greatly appreciated.


Perldiscuss - Perl Newsgroups And Mailing Lists wrote:



I am not sure if this message will make it to the list as I am posting it
using the www.perldiscuss.com interface. Cygwin has been failing to build
since at least the 21st. I suspect it has been since ICU went in. I
checked the tinderbox report but it is not listed.





FWIW - PLATFORMS is also incorrect in regards to Cygwin, using
--define=inet_aton is no longer required due to some hackery





Since I can barely spell C, I figured it would probably be best to provide
the entire output of make instead of just saying "it doesn't work". You
can find the results at





http://perlmonk.org/~limbicregion/cygwin.html





It was generated as on 2004-04-26 at 08:45AM EST. I am willing to do/try
anything, but anyone wishing to work with me will have to keep in mind I
am as green as they come ;-)





Cheers - Joshua





Reply via email to