[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 92148] Compile error on Solaris 9
From:       Bernd Kuhls <bernd.kuhls () informatik ! uni-oldenburg ! de>
Date:       2004-11-02 17:27:30
Message-ID: 20041102172730.18054.qmail () ktown ! kde ! org
[Download RAW message or body]

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
        
http://bugs.kde.org/show_bug.cgi?id=92148        




------- Additional Comments From bernd.kuhls informatik uni-oldenburg de  2004-11-02 \
18:27 ------- With the mentioned patch for gcc-3.3 i was finally able to compile \
taglib. Here is the patch for GCC I used, after applying the normal way: configure, \
make, make install With taglib finally installed Amorok and Juk are now also working, \
thanks for you help!

diff -uwrN /usr/local/lude/soft/gcc-3.3.5/src/default/sparc_sun_solaris2.9/gcc-3.3.5/libstdc++-v3/acinclude.m4 \
                ./libstdc++-v3/acinclude.m4
--- ./gcc-3.3.5/libstdc++-v3/acinclude.m4	2004-05-25 08:03:52.000000000 +0200
+++ ./gcc-3.3.5/libstdc++-v3/acinclude.m4	2004-10-28 17:02:52.377292000 +0200
 @ -990,13 +990,18  @
   
     dnl Checks for names injected into std:: by the c_std headers.
     AC_CHECK_FUNCS(btowc wctob fgetwc fgetws fputwc fputws fwide \
-    fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \
-    vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \
-    mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \
+    fwprintf fwscanf swprintf swscanf vfwprintf vswprintf \
+    vwprintf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \
+    mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstol \
     wcstoul wcscpy wcsncpy wcscat wcsncat wcscmp wcscoll wcsncmp wcsxfrm \
     wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr,, \
     ac_wfuncs=no)
 
+    # Checks for wide character functions that are not required
+    # for basic wchar_t support.  Don't disable support if they are missing.
+    # Injection of these is wrapped with guard macros.
+    AC_CHECK_FUNCS([vfwscanf vswscanf vwscanf wcstof iswblank],[],[])
+
     AC_MSG_CHECKING([for ISO C99 wchar_t support])
     if test x"$has_weof" = xyes &&
        test x"$has_wchar_minmax" = xyes &&
diff -uwrN /usr/local/lude/soft/gcc-3.3.5/src/default/sparc_sun_solaris2.9/gcc-3.3.5/libstdc++-v3/config/io/basic_file_stdio.cc \
                ./libstdc++-v3/config/io/basic_file_stdio.cc
--- ./gcc-3.3.5/libstdc++-v3/config/io/basic_file_stdio.cc	2004-02-05 \
                21:24:48.000000000 +0100
+++ ./gcc-3.3.5/libstdc++-v3/config/io/basic_file_stdio.cc	2004-10-28 \
17:05:59.735178000 +0200  @ -35,6 +35,11  @
 #include <fcntl.h>
 #include <unistd.h>
 
+#ifdef _GLIBCXX_HAVE_UNISTD_H
+// Pick up ioctl on Solaris 2.8
+#include <unistd.h>
+#endif
+
 #ifdef _GLIBCPP_HAVE_SYS_IOCTL_H
 #define BSD_COMP /* Get FIONREAD on Solaris2. */
 #include <sys/ioctl.h>
diff -uwrN /usr/local/lude/soft/gcc-3.3.5/src/default/sparc_sun_solaris2.9/gcc-3.3.5/libstdc++-v3/config.h.in \
                ./libstdc++-v3/config.h.in
--- ./gcc-3.3.5/libstdc++-v3/config.h.in	2003-05-01 20:36:17.000000000 +0200
+++ ./gcc-3.3.5/libstdc++-v3/config.h.in	2004-10-28 17:04:42.072261000 +0200
 @ -134,6 +134,9  @
 /* Define if you have the __signbitl function.  */
 #undef HAVE___SIGNBITL
 
+/* Define if you have the `iswblank' function.  */
+#undef HAVE_ISWBLANK
+
 /* Define if you have the _acosf function.  */
 #undef HAVE__ACOSF
 
diff -uwrN /usr/local/lude/soft/gcc-3.3.5/src/default/sparc_sun_solaris2.9/gcc-3.3.5/libstdc++-v3/include/c_compatibility/wchar.h \
                ./libstdc++-v3/include/c_compatibility/wchar.h
--- ./gcc-3.3.5/libstdc++-v3/include/c_compatibility/wchar.h	2002-06-21 \
                22:20:44.000000000 +0200
+++ ./gcc-3.3.5/libstdc++-v3/include/c_compatibility/wchar.h	2004-10-28 \
16:59:47.812020000 +0200  @ -50,11 +50,17  @
 using std::swprintf;
 using std::swscanf;
 using std::vfwprintf;
+#if _GLIBCXX_HAVE_VFWSCANF
 using std::vfwscanf;
+#endif // _GLIBCXX_HAVE_VFWSCANF
 using std::vswprintf;
+#if _GLIBCXX_HAVE_VSWSCANF
 using std::vswscanf;
+#endif // _GLIBCXX_HAVE_VSWSCANF
 using std::vwprintf;
+#if _GLIBCXX_HAVE_VWSCANF
 using std::vwscanf;
+#endif // _GLIBCXX_HAVE_VWSCANF
 using std::wprintf;
 using std::wscanf;
 using std::getwc;
 @ -69,7 +75,9  @
 using std::ungetwc;
 using std::wcrtomb;
 using std::wcstod;
+#if _GLIBCXX_HAVE_WCSTOF
 using std::wcstof;
+#endif // _GLIBCXX_HAVE_WCSTOF
 using std::wcstol;
 using std::wcstoul;
 using std::wcscpy;
diff -uwrN /usr/local/lude/soft/gcc-3.3.5/src/default/sparc_sun_solaris2.9/gcc-3.3.5/libstdc++-v3/include/c_std/std_cwchar.h \
                ./libstdc++-v3/include/c_std/std_cwchar.h
--- ./gcc-3.3.5/libstdc++-v3/include/c_std/std_cwchar.h	2003-04-18 12:08:05.000000000 \
                +0200
+++ ./gcc-3.3.5/libstdc++-v3/include/c_std/std_cwchar.h	2004-10-28 16:59:47.841439000 \
+0200  @ -92,11 +92,17  @
 #undef swscanf
 #undef ungetwc
 #undef vfwprintf
+#if _GLIBCXX_HAVE_VFWSCANF
 #undef vfwscanf
+#endif // _GLIBCXX_HAVE_VFWSCANF
 #undef vswprintf
+#if _GLIBCXX_HAVE_VSWSCANF
 #undef vswscanf
+#endif // _GLIBCXX_HAVE_VSWSCANF
 #undef vwprintf
+#if _GLIBCXX_HAVE_VWSCANF
 #undef vwscanf
+#endif // _GLIBCXX_HAVE_VWSCANF
 #undef wcrtomb
 #undef wcscat
 #undef wcschr
 @ -115,7 +121,9  @
 #undef wcsspn
 #undef wcsstr
 #undef wcstod
+#if _GLIBCXX_HAVE_WCSTOF
 #undef wcstof
+#endif // _GLIBCXX_HAVE_WCSTOF
 #undef wcstok
 #undef wcstol
 #undef wcstoul
 @ -154,11 +162,17  @
   using ::swscanf;
   using ::ungetwc;
   using ::vfwprintf;
+#if _GLIBCXX_HAVE_VFWSCANF
   using ::vfwscanf;
+#endif // _GLIBCXX_HAVE_VFWSCANF
   using ::vswprintf;
+#if _GLIBCXX_HAVE_VSWSCANF
   using ::vswscanf;
+#endif // _GLIBCXX_HAVE_VWSCANF
   using ::vwprintf;
+#if _GLIBCXX_HAVE_VWSCANF
   using ::vwscanf;
+#endif // _GLIBCXX_HAVE_VWSCANF
   using ::wcrtomb;
   using ::wcscat;
   using ::wcscmp;
 @ -173,7 +187,9  @
   using ::wcsrtombs;
   using ::wcsspn;
   using ::wcstod;
+#if _GLIBCXX_HAVE_WCSTOF
   using ::wcstof;
+#endif // _GLIBCXX_HAVE_WCSTOF
   using ::wcstok;
   using ::wcstol;
   using ::wcstoul;
diff -uwrN /usr/local/lude/soft/gcc-3.3.5/src/default/sparc_sun_solaris2.9/gcc-3.3.5/libstdc++-v3/include/c_std/std_cwctype.h \
                ./libstdc++-v3/include/c_std/std_cwctype.h
--- ./gcc-3.3.5/libstdc++-v3/include/c_std/std_cwctype.h	2002-03-27 \
                05:29:32.000000000 +0100
+++ ./gcc-3.3.5/libstdc++-v3/include/c_std/std_cwctype.h	2004-10-28 \
16:59:47.877330000 +0200  @ -55,7 +55,9  @
 // Get rid of those macros defined in <wctype.h> in lieu of real functions.
 #undef iswalnum
 #undef iswalpha
+#if _GLIBCXX_HAVE_ISWBLANK
 #undef iswblank
+#endif // _GLIBCXX_HAVE_ISWBLANK
 #undef iswcntrl
 #undef iswdigit
 #undef iswgraph
 @ -83,7 +85,9  @
 
   using ::iswalnum;
   using ::iswalpha;
+#if _GLIBCXX_HAVE_ISWBLANK
   using ::iswblank;
+#endif // _GLIBCXX_HAVE_ISWBLANK
   using ::iswcntrl;
   using ::iswdigit;
   using ::iswgraph;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic