This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 2010/11/01, at 17:22, Titus von Boxberg wrote: >>>> >>>> e.g. >>>> >>>> /Volumes/non-latin/xxxuser >>>> >>>> /Users/xxxuser -> /Volumes/non-latin/xxxuser >>> It's difficult to see how this could be a MacOS specific problem. >>> To my knowledge you can nowadays have "non-latin" characters in a path >>> on almost any OS. >>> What do you mean by "non-latin", anyway? >>> >> >> >> In this case I have a volume mounted under /Volumes with a Japanese name encoded in UTF-8. >> >> For some reason instead of using /Users/username it seems to have walked the symlink and used /Volumes/<volname>/username instead and then it stopped working because CURDIR wasn't set. >> >> It may be a problem with other operating systems too, I didn't mean to say that this was Mac OS X specific. > > Still, in which way "non-latin" characters are special? > Files on the Mac are generally encoded using UTF-8. Do you mean any character with > a mÃltibyte representation? > As Yann said: It might be caused by another problem unrelated to encoding. > Did you test using a path with "latin" characters only, whatever that might be? > Could you prepare a small test case that demonstrates the problem with make? Thanks for taking the time to work through the issue with me. Yes, it is multibyte. I unzipped a pristine Linux source tree under /tmp and then ran it with O=/tmp/linux-cfg or O=/Users/username/tmp/linux-cfg or O=/Volumes/ããã/xxx/tmp/linux-cfg and it worked fine. The output of the above with V=1 set is: make -C /tmp/linux-cfg \ KBUILD_SRC=/private/tmp/linux-2.6.36 \ KBUILD_EXTMOD="" -f /private/tmp/linux-2.6.36/Makefile \ oldconfig make -f /private/tmp/linux-2.6.36/scripts/Makefile.build obj=scripts/basic gcc -Wp,-MD,scripts/basic/.fixdep.d -Iscripts/basic -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/basic/fixdep /private/tmp/linux-2.6.36/scripts/basic/fixdep.c gcc -Wp,-MD,scripts/basic/.docproc.d -Iscripts/basic -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/basic/docproc /private/tmp/linux-2.6.36/scripts/basic/docproc.c gcc -Wp,-MD,scripts/basic/.hash.d -Iscripts/basic -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/basic/hash /private/tmp/linux-2.6.36/scripts/basic/hash.c rm -f .tmp_quiet_recordmcount ln -fsn /private/tmp/linux-2.6.36 source /bin/sh /private/tmp/linux-2.6.36/scripts/mkmakefile \ /private/tmp/linux-2.6.36 /private/tmp/linux-cfg 2 6 GEN /private/tmp/linux-cfg/Makefile mkdir -p include/linux include/config make -f /private/tmp/linux-2.6.36/scripts/Makefile.build obj=scripts/kconfig oldconfig gcc -Wp,-MD,scripts/kconfig/.conf.o.d -Iscripts/kconfig -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -DCURSES_LOC="<ncurses.h>" -DLOCALE -DKBUILD_NO_NLS -c -o scripts/kconfig/conf.o /private/tmp/linux-2.6.36/scripts/kconfig/conf.c /private/tmp/linux-2.6.36/scripts/kconfig/conf.c: In function âcheck_stdinâ: /private/tmp/linux-2.6.36/scripts/kconfig/conf.c:77: warning: format not a string literal and no format arguments /private/tmp/linux-2.6.36/scripts/kconfig/conf.c:78: warning: format not a string literal and no format arguments /private/tmp/linux-2.6.36/scripts/kconfig/conf.c:79: warning: format not a string literal and no format arguments /private/tmp/linux-2.6.36/scripts/kconfig/conf.c: In function âconf_askvalueâ: /private/tmp/linux-2.6.36/scripts/kconfig/conf.c:89: warning: format not a string literal and no format arguments /private/tmp/linux-2.6.36/scripts/kconfig/conf.c: In function âconf_choiceâ: /private/tmp/linux-2.6.36/scripts/kconfig/conf.c:286: warning: format not a string literal and no format arguments /private/tmp/linux-2.6.36/scripts/kconfig/conf.c: In function âcheck_confâ: /private/tmp/linux-2.6.36/scripts/kconfig/conf.c:432: warning: format not a string literal and no format arguments /private/tmp/linux-2.6.36/scripts/kconfig/conf.c: In function âmainâ: /private/tmp/linux-2.6.36/scripts/kconfig/conf.c:495: warning: format not a string literal and no format arguments /private/tmp/linux-2.6.36/scripts/kconfig/conf.c:574: warning: format not a string literal and no format arguments /private/tmp/linux-2.6.36/scripts/kconfig/conf.c:626: warning: format not a string literal and no format arguments /private/tmp/linux-2.6.36/scripts/kconfig/conf.c:630: warning: format not a string literal and no format arguments /private/tmp/linux-2.6.36/scripts/kconfig/conf.c:641: warning: format not a string literal and no format arguments gcc -Wp,-MD,scripts/kconfig/.kxgettext.o.d -Iscripts/kconfig -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -DCURSES_LOC="<ncurses.h>" -DLOCALE -DKBUILD_NO_NLS -c -o scripts/kconfig/kxgettext.o /private/tmp/linux-2.6.36/scripts/kconfig/kxgettext.c cat /private/tmp/linux-2.6.36/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /private/tmp/linux-2.6.36/scripts/kconfig/lex.zconf.c_shipped > scripts/kconfig/lex.zconf.c cat /private/tmp/linux-2.6.36/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Wp,-MD,scripts/kconfig/.zconf.tab.o.d -Iscripts/kconfig -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -DCURSES_LOC="<ncurses.h>" -DLOCALE -DKBUILD_NO_NLS -I/private/tmp/linux-2.6.36/scripts/kconfig -Iscripts/kconfig -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o -lncurses scripts/kconfig/conf --oldconfig arch/x86/Kconfig # # using defaults found in arch/x86/configs/i386_defconfig # * * Restart config... * * * Linux Kernel Configuration * 64-bit kernel (64BIT) [N/y/?] (NEW) (Then, I hit Ctrl-C) When my source tree is in a home directory, this is what I get with O=/tmp/linux-cfg or O=/Users/username/tmp/linux-cfg or O=/Volumes/ããã/xxx/tmp/linux-cfg and V=1 set: make -C /Volumes/ããã/xxx/tmp/linux-cfg \ KBUILD_SRC=/Volumes/ããã/xxx/src/linux-2.6.36 \ KBUILD_EXTMOD="" -f /Volumes/ããã/xxx/src/linux-2.6.36/Makefile \ oldconfig make -f /Volumes/ããã/xxx/src/linux-2.6.36/scripts/Makefile.build obj=scripts/basic I know this version is not the same one as the one used in ct-ng but it is not relevant to demonstrating the issue. > >>>>> >>>>> - ct-ng-glibc.sh.patch >>>>> There is already a sed handling in ./configure. To use a specific sed, >>>>> just pass it: --with-sed=/path/to/gsed >>>>> >>>> >>>> >>>> I think ct-ng already requires gsed during setup, is there a way we can propagate this configure option >>>> upwards? I think it would be best not to tie gsed to a particular path. >>> PATH is modified to point first to a set of symbolic links to the required >>> programs. So this gets propagated "upwards" for any script beyond the point >>> where those links are created. >>> >> >> >> Actually, I could not find any symbolic link to the sed I specified during ./configure of ct-ng. If that's the case >> then something might have gone wrong during my installation. I just had a look and it would appear paths.mk gets created with a sed variable pointing to what was specified during configure, is that what you meant? >> >> In that case we can just do --with-sed=${sed} ? > The links to the configured programs are created in the > target working directory, I think in tools/bin or so. > And since PATH should be modified to point there first it should > not be necessary to point other programs called by ct-ng to gsed > by specifying --with-sed or SED= since the programs find > gsed by calling just sed. > > How did you configure ct-ng? > I followed the exact instructions in docs/readme.macos.txt. Here is what is in the paths.mk: export install=/usr/bin/install export bash=/bin/bash export grep=/usr/bin/grep export make=/usr/bin/make export sed=/opt/local/bin/gsed export libtool=/opt/local/bin/glibtool export objcopy=/opt/local/bin/gobjcopy export objdump=/opt/local/bin/gobjdump export readelf=/opt/local/bin/greadelf export patch=/usr/bin/patch So I am quite sure that the correct sed was specified in the configure arguments. -gl -- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |