Opened 16 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)

comment:1 by jackburton, 16 years ago

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.

comment:3 by jackburton, 16 years ago

Milestone: R1R1/alpha1

Schedule this for R1/alpha too, since #215 depends on this, and that one is scheduled for it.

comment:4 by jackburton, 16 years ago

Owner: changed from axeld to jackburton

I'll give it a try

comment:5 by jackburton, 16 years ago

Status: newassigned

comment:6 by jackburton, 16 years ago

depends on #1881. By the way, don't we have bug dependency tracking ?

in reply to:  6 comment:7 by nielx, 16 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 andreasf, 16 years ago

Cc: andreasf added

in reply to:  1 ; comment:9 by andreasf, 16 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.

in reply to:  9 comment:10 by jackburton, 16 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:11 by nielx, 16 years ago

Blocked By: 1881 added

Adding dependency.

comment:12 by korli, 16 years ago

Blocking: 215 added

comment:13 by jackburton, 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:14 by axeld, 16 years ago

Agreed, I don't think this should block the alpha either.

comment:15 by jackburton, 16 years ago

Milestone: R1/alpha1R1

comment:16 by anevilyak, 15 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 bonefish, 15 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:18 by jackburton, 15 years ago

I added some code in hrev28970, let's see if it works better.

comment:19 by jackburton, 15 years ago

Blocked By: 1881 removed

Fixed since hrev31443. Removing dependency to #1881 since it wasn't correct.

comment:20 by jackburton, 15 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.