marcomaggi / vicare

A native compiler for Scheme compliant with R6RS
http://marcomaggi.github.com/vicare.html
Other
200 stars 34 forks source link

Iconv support broken on systems with iconv() inside glibc #48

Closed alexshpilkin closed 11 years ago

alexshpilkin commented 11 years ago

The configure script assumes that the (vicare iconv) library can only be built if a libiconv is available. This is not true as glibc can (and is, in e.g. Arch Linux) be built with iconv() and related APIs integrated instead, meaning that there is no separate libiconv on the system and leading to a spurious failure. I am not familliar enough with autotools to rewrite this myself at the moment, but I figure that VICARE_WITH_LIBRARY in its current form cannot support this case.

marcomaggi commented 11 years ago

This is a bit problematic. I have to find a package that does the right thing in this scenario.

alexshpilkin commented 11 years ago

As it turns out, there's a dedicated AM_ICONV macro in iconv.m4 from GNU gettext; you don't have to use gettext itself to utilize it. And it should be possible to draw some inspiration from it anyway: the git people wrote the check themselves, for example.

marcomaggi commented 11 years ago

Thanks! I have included scripts and changed iconv detection in configure.ac in the head of the devel branch. It works on my system.

alexshpilkin commented 11 years ago

Looks to be fixed now, although I no more see a way to disable iconv support altogether (is it intended?). Unfortunately, #46 has recently been introduced again:

../../doc/stdlib.texi:1830: table requires an argument: the formatter for @item
../../doc/stdlib.texi:3633: table requires an argument: the formatter for @item
../../doc/stdlib.texi:9091: table requires an argument: the formatter for @item

So, iconv should be fine now, but I’m unable to fully verify it.

marcomaggi commented 11 years ago

It should be fine in the head of the devel branch. Thanks again.