|
From: | Markus Duft |
Subject: | Re: [bug-patch] patch on x86-interix |
Date: | Thu, 26 May 2011 10:43:41 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110506 Lightning/1.0b3pre Thunderbird/3.1.10 |
On 05/25/11 22:43, Bruno Haible wrote: > [CCing bug-gnulib] > > Markus Duft wrote in > <http://lists.gnu.org/archive/html/bug-patch/2011-05/msg00023.html>: >> For quite a while now, i have patch working on x86-interix with a small >> patch ( :D ). I'd really love to see this patch ([1]) go upstream, if that's >> ok with you. Could you please take a look at it, and possibly comment on it? >> >> [1] >> http://overlays.gentoo.org/proj/alt/browser/trunk/prefix-overlay/sys-devel/patch/files/patch-2.6.1-interix-nomultibyte.patch > > This patch touches quotearg.c, which comes from gnulib. Your comment indicates > bugs in the wide character support of that platform. Gnulib attempts to work > around all such issues. > > Do you know what goes wrong? Do you have a small test program? Trying to find out ;) First of all, patch seems to miss strnlen.c in the tarball (2.6.1). After adding it, i re-tried to build patch (on interix 3.5), but it failed with: gl/lib/quotearg.c gl/lib/quotearg.c: In function 'quotearg_buffer_restyled': gl/lib/quotearg.c:461: warning: implicit declaration of function 'mbrtowc' gl/lib/quotearg.c:504: warning: implicit declaration of function 'mbsinit' [...] gl/lib/quotearg.o(.text+0x8c3): In function `quotearg_buffer_restyled': /home/mduft/patch/patch-2.6.1/gl/lib/quotearg.c:670: undefined reference to `_mbrtowc' gl/lib/quotearg.o(.text+0x919):/home/mduft/patch/patch-2.6.1/gl/lib/quotearg.c:670: undefined reference to `_mbsinit' collect2: ld returned 1 exit status doing the same on most recent (6.1) interix, yields exactly the same result. so, the problem is most likely not with the gnulib implementation, but that patch simply doesn't ship the required files :) however, continuing with my tests (gnulib now, not patch) ... > > If not, then the first step in understanding the bugs should be to create > a testdir from the selected parts of gnulib > > $ gnulib-tool --create-testdir --with-tests --dir=/tmp/testdir \ > btowc mbrlen mbrtowc mbscasecmp mbscasestr mbschr mbscspn mbsinit mbslen \ > mbsncasecmp mbsnlen mbsnrtowcs mbspbrk mbspcasecmp mbsrchr mbsrtowcs \ > mbssep mbsspn mbsstr mbstok_r mbswidth mbtowc wcrtomb wcsnrtombs > wcsrtombs \ > wctob wctomb haha, executing this on interix, i first thought it got stuck :) i did it on linux, and copied the package over, which was a trillion times faster :) attached are the log's (gnulib is current git from may 16, i think...). > > and on your machine run > > $ ./configure > $ make > $ make check to save you from reading all the logs: it fails to build :) it complains that: In file included from localcharset.c:29: ./string.h:1059: error: conflicting types for 'mbsrchr' /usr/include/string.h:84: error: previous declaration of 'mbsrchr' was here make[4]: *** [localcharset.o] Error 1 where /usr/include/string.h does: extern char * __cdecl mbsrchr(const char *, char); > > and send us the log files of these three commands, plus config.log and > gltests/config.log. all attached, except make check, as i could not run it, as make already failed :/ thanks for helping! markus > > Bruno
configure.log.bz2
Description: application/bzip
gltests-config.log.bz2
Description: application/bzip
make.log.bz2
Description: application/bzip
top-level-config.log.bz2
Description: application/bzip
[Prev in Thread] | Current Thread | [Next in Thread] |