This is what you get during compilation:

  preconv.cpp:
    In function 'void conversion_iconv(FILE*, const string&, char*)':
  preconv.cpp:678:29: error:
    invalid conversion from 'const char**' to 'char**'
  /usr/include/iconv.h:23:15: error:
    initializing argument 2 of
    'size_t iconv(iconv_t, char**, size_t*, char**, size_t*)'

However, this is what you get during configuration:

  configure:8771: gcc -o conftest -g -O2   conftest.c  >&5
  conftest.c: In function 'main':
  conftest.c:58:29: warning:
    passing argument 2 of 'iconv' from incompatible pointer type
  /usr/include/iconv.h:27:15: note:
    expected 'const char **' but argument is of type 'char **'

Looking into the Solaris source, I see that the definition of iconv
differs depending on the preprocessor symbol `_XPG6'.  I suspect that
gcc on Solaris doesn't set it, while g++ does.

Please try the patch below, then call `autoconf' so that the configure
script gets regenerated.


    Werner

======================================================================

--- configure.ac.old    2011-03-22 03:58:05.000000000 +0100
+++ configure.ac        2012-02-20 09:49:31.000000000 +0100
@@ -115,7 +115,9 @@
 # checks for libraries
 GROFF_LIBC
 GROFF_LIBM
+AC_LANG_PUSH([C++])
 AM_ICONV
+AC_LANG_POP([C++])
 
 # we need LIBEXT
 AC_SUBST([LIBEXT],[$acl_libext])

_______________________________________________
bug-groff mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-groff

Reply via email to