[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: patch on x86-interix

From: Markus Duft
Subject: Re: 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: 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: 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 
 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!

> Bruno

Attachment: configure.log.bz2
Description: application/bzip

Attachment: gltests-config.log.bz2
Description: application/bzip

Attachment: make.log.bz2
Description: application/bzip

Attachment: top-level-config.log.bz2
Description: application/bzip

reply via email to

[Prev in Thread] Current Thread [Next in Thread]