Opened 17 years ago
Closed 15 years ago
#1855 closed bug (fixed)
Glibc wide char functions are disabled
Reported by: | jackburton | Owned by: | jackburton |
---|---|---|---|
Priority: | high | Milestone: | R1 |
Component: | System/libroot.so | Version: | R1/pre-alpha1 |
Keywords: | Cc: | andreasf | |
Blocked By: | Blocking: | #215 | |
Platform: | All |
Description
mbrtowc() and the functions in iofwide.c are stubs, IOW they don't do anything at the moment.
I tried to uncomment the #if 0'ed code in there, but the code doesn't compile (doesn't link, actually) because we have a mix of glibc versions: for example, the code in "locale" is from glibc 2.2.5, while the rest is more recent.
I think this mix was done because more recent glibcs don't compile with our gcc (at least, Jerome said so) :)
What should we do now ? Mix'n match some more until we get to a working situation ? mbrtowc.c from 2.2.5 works, at least, but then there is also iofwide.c which looks a bit more integrated with the rest (I haven't tried yet its 2.2.5 equivalent).
Change History (20)
follow-up: 9 comment:1 by , 17 years ago
comment:3 by , 17 years ago
Milestone: | R1 → R1/alpha1 |
---|
Schedule this for R1/alpha too, since #215 depends on this, and that one is scheduled for it.
comment:5 by , 17 years ago
Status: | new → assigned |
---|
follow-up: 7 comment:6 by , 17 years ago
depends on #1881. By the way, don't we have bug dependency tracking ?
comment:7 by , 17 years ago
Replying to jackburton:
depends on #1881. By the way, don't we have bug dependency tracking ?
I've got a Trac plugin for that, which is unfortunately a Trac 0.11 thing. I will have to wait for Trac 0.11 to stabilize before I can use it.
Sorry!
comment:8 by , 17 years ago
Cc: | added |
---|
follow-up: 10 comment:9 by , 17 years ago
Jack,
Replying to jackburton:
More info on this: iofwide.c needs gconv_trans.c, but as soon as I include it in the build, it complains about undefined libc_dlopen, libc_dlclose, etc. We are actually using the bsd version of these functions, which have different names.
What's the status of these issues? If it's just a naming issue but the signature is identical we could just
#define __libc_dlopen bsd_name_of_dlopen #define __libc_dlclose bsd_name_of_dlclose
Portable.NET detects the presence of mbrtowc & co. but then fails at runtime. Manually commenting out its HAVE_MBRTOWC
et al. makes it run okay.
comment:10 by , 17 years ago
Replying to andreasf:
Jack,
Replying to jackburton:
More info on this: iofwide.c needs gconv_trans.c, but as soon as I include it in the build, it complains about undefined libc_dlopen, libc_dlclose, etc.
I did this already. But the problem is a bit more involved, unfortunately :) Last time I tried to track down the issue (uncommenting / reverting all the disabled stuff), I still end up with a non-working support for wide char stuff. And currently I don't have the time (and will) to look into this. So if anyone else wants to have a look, I'd be glad to step down :)
comment:12 by , 16 years ago
Blocking: | 215 added |
---|
comment:13 by , 16 years ago
Should we really keep this one with milestone set to hrev1/alpha ? It's not nice, of course, to have this feature missing, but I can't see how it can be resolved in a short time (unless someone dedicates SOME time on it).
comment:15 by , 16 years ago
Milestone: | R1/alpha1 → R1 |
---|
comment:16 by , 16 years ago
Blocking: | 3012 added |
---|
(In #3012) Unless I'm mistaken, this is related to the missing glibc widechar support...linking that ticket just in case, though Stefano should be able to say for certain.
comment:17 by , 16 years ago
Blocking: | 3012 removed |
---|
(In #3012) AFAIK Terminal doesn't use wide chars and I also don't think cat does. So this sounds more like a Terminal issue.
comment:19 by , 15 years ago
Blocked By: | 1881 removed |
---|
comment:20 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
More info on this: iofwide.c needs gconv_trans.c, but as soon as I include it in the build, it complains about undefined libc_dlopen, libc_dlclose, etc. We are actually using the bsd version of these functions, which have different names.