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]

Re: Patches for crosscompiling on Mac OS X


Am 01.11.2010 um 08:05 schrieb Geoffrey Lee:

> Hi all,
> 
> On 2010/11/01, at 15:43, Titus von Boxberg wrote:
> 
>> Yann, Geoffrey,
>> 
>> Am 01.11.2010 um 06:18 schrieb Geoffrey Lee:
>> 
>>>> 
>>>> - ct-ng.install_headers.patch
>>>> I do not understand what you mean by "non-latin characters". I do not know
>>>> how MacOS-X works, but as long as your shell can access the /Volume/BLA
>>>> mount point, then there shall be no reason crosstool-NG can't.
>>>> Besides, I don't like to have to rely on packages cleaning up behind them,
>>>> as the clean might not be absolutely complete.
>>>> I guess that O= not working is just a sign of a more obscur problem.
>>>> Lets try to find exactly what, and not try to mess things up.
>>> 
>>> Yes, I agree this is not a good fix and I understand the concern the problem of polluting ct-ng with hacks like these.
>>> 
>>> The problem appears that CURDIR is not being set properly if the path contains non-latin characters, and the O= option is used.  For me, non-latin in this case means a Japanese volume name. To my knowledge, names in HFS+ are UTF-8.  CURDIR is set internally by make, I am not sure what we can do here to workaround this.  The default make implementation in Mac OS X 10.6.x is GNU Make 3.81 by the way.
>>> 
>>> If it is interesting at all, my setup has a home partition mounted under /Volumes/<some non latin name> and /Users/user is a symlink to the home directory there.
>>> 
>>> 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?

>>>> 
>>>> - 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?


--
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]