diff -Naur stardict-3.0.1-old/src/gconf_file.cpp stardict-3.0.1/src/gconf_file.cpp
--- stardict-3.0.1-old/src/gconf_file.cpp	2007-07-10 10:16:04.000000000 +0300
+++ stardict-3.0.1/src/gconf_file.cpp	2009-12-05 11:26:26.025381918 +0200
@@ -22,6 +22,8 @@
 #  include "config.h"
 #endif
 
+#include <memory>
+
 #include <glib/gi18n.h>
 
 #include "gconf_file.hpp"
diff -Naur stardict-3.0.1-old/src/inifile.cpp stardict-3.0.1/src/inifile.cpp
--- stardict-3.0.1-old/src/inifile.cpp	2007-08-01 12:43:00.000000000 +0300
+++ stardict-3.0.1/src/inifile.cpp	2009-12-05 11:26:26.025381918 +0200
@@ -25,6 +25,7 @@
 #include <vector>
 #include <cerrno>
 #include <cstring>
+#include <cstdlib>
 #include <cstdio>
 #include <glib/gi18n.h>
 #include <glib/gstdio.h>
diff -Naur stardict-3.0.1-old/src/lib/common.cpp stardict-3.0.1/src/lib/common.cpp
--- stardict-3.0.1-old/src/lib/common.cpp	2007-09-25 05:27:24.000000000 +0300
+++ stardict-3.0.1/src/lib/common.cpp	2009-12-05 11:26:26.026382384 +0200
@@ -25,6 +25,8 @@
 #endif
 
 #include "common.hpp"
+#include <cstring>
+#include <cstdlib>
 
 static void parse_description(const char *p, long len, std::string &description)
 {
diff -Naur stardict-3.0.1-old/src/lib/data.cpp stardict-3.0.1/src/lib/data.cpp
--- stardict-3.0.1-old/src/lib/data.cpp	2007-09-21 04:09:52.000000000 +0300
+++ stardict-3.0.1/src/lib/data.cpp	2009-12-05 11:26:26.027381662 +0200
@@ -26,7 +26,7 @@
 
 #include "data.hpp"
 #include "getuint32.h"
-
+#include <cstring>
 
 DictBase::DictBase()
 {
diff -Naur stardict-3.0.1-old/src/lib/http_client.h stardict-3.0.1/src/lib/http_client.h
--- stardict-3.0.1-old/src/lib/http_client.h	2007-08-30 12:23:32.000000000 +0300
+++ stardict-3.0.1/src/lib/http_client.h	2009-12-05 11:26:26.027381662 +0200
@@ -5,6 +5,7 @@
 #include "sigc++/sigc++.h"
 #include <string>
 #include <vector>
+#include <cstring>
 
 #ifndef _WIN32
 #  include <netdb.h>
diff -Naur stardict-3.0.1-old/src/lib/pluginmanager.cpp stardict-3.0.1/src/lib/pluginmanager.cpp
--- stardict-3.0.1-old/src/lib/pluginmanager.cpp	2007-10-10 06:26:45.000000000 +0300
+++ stardict-3.0.1/src/lib/pluginmanager.cpp	2009-12-05 11:26:26.028381430 +0200
@@ -1,6 +1,7 @@
 #include "pluginmanager.h"
 #include "file.hpp"
 #include <string>
+#include <cstring>
 
 StarDictPluginBaseObject::StarDictPluginBaseObject(const char *filename, GModule *module_, plugin_configure_func_t configure_func_):
 	plugin_filename(filename), module(module_), configure_func(configure_func_)
diff -Naur stardict-3.0.1-old/src/lib/stardict_client.cpp stardict-3.0.1/src/lib/stardict_client.cpp
--- stardict-3.0.1-old/src/lib/stardict_client.cpp	2007-10-31 10:32:11.000000000 +0200
+++ stardict-3.0.1/src/lib/stardict_client.cpp	2009-12-05 11:26:26.030381384 +0200
@@ -30,6 +30,8 @@
 #include "getuint32.h"
 
 #include "stardict_client.hpp"
+#include <cstdlib>
+#include <cstring>
 
 #define PROTOCOL_VERSION "0.3"
 
diff -Naur stardict-3.0.1-old/src/lib/stddict.cpp stardict-3.0.1/src/lib/stddict.cpp
--- stardict-3.0.1-old/src/lib/stddict.cpp	2007-10-30 11:06:07.000000000 +0200
+++ stardict-3.0.1/src/lib/stddict.cpp	2009-12-05 11:26:26.034381504 +0200
@@ -39,6 +39,7 @@
 #include "stddict.hpp"
 #include <algorithm>
 #include "getuint32.h"
+#include <cstring>
 
 static inline gint stardict_strcmp(const gchar *s1, const gchar *s2)
 {
diff -Naur stardict-3.0.1-old/src/lib/treedict.cpp stardict-3.0.1/src/lib/treedict.cpp
--- stardict-3.0.1-old/src/lib/treedict.cpp	2007-09-21 04:09:52.000000000 +0300
+++ stardict-3.0.1/src/lib/treedict.cpp	2009-12-05 11:26:26.035381342 +0200
@@ -29,6 +29,7 @@
 #include "getuint32.h"
 
 #include "treedict.hpp"
+#include <cstring>
 
 GtkTreeStore *TreeDict::model=NULL;
 
diff -Naur stardict-3.0.1-old/src/pangoview.cpp stardict-3.0.1/src/pangoview.cpp
--- stardict-3.0.1-old/src/pangoview.cpp	2007-09-25 10:11:48.000000000 +0300
+++ stardict-3.0.1/src/pangoview.cpp	2009-12-05 11:26:26.036381528 +0200
@@ -22,6 +22,8 @@
 #  include "config.h"
 #endif
 
+#include <cstring>
+
 #include "gtktextviewpango.h"
 #include "utils.h"
 #include "skin.h"//for SkinCursor definition
diff -Naur stardict-3.0.1-old/src/prefsdlg.cpp stardict-3.0.1/src/prefsdlg.cpp
--- stardict-3.0.1-old/src/prefsdlg.cpp	2007-10-30 10:14:07.000000000 +0200
+++ stardict-3.0.1/src/prefsdlg.cpp	2009-12-05 11:26:26.038381273 +0200
@@ -21,6 +21,8 @@
 #  include "config.h"
 #endif
 
+#include <cstdlib>
+
 #include <glib/gi18n.h>
 #include <glib/gstdio.h>
 
diff -Naur stardict-3.0.1-old/src/readword.cpp stardict-3.0.1/src/readword.cpp
--- stardict-3.0.1-old/src/readword.cpp	2007-07-10 10:16:04.000000000 +0300
+++ stardict-3.0.1/src/readword.cpp	2009-12-05 11:26:26.039380761 +0200
@@ -3,6 +3,7 @@
 #endif
 
 #include <cstring>
+#include <cstdlib>
 #include <string>
 
 #include <glib/gi18n.h>
diff -Naur stardict-3.0.1-old/src/sigc++/signal.h stardict-3.0.1/src/sigc++/signal.h
--- stardict-3.0.1-old/src/sigc++/signal.h	2007-07-10 10:16:01.000000000 +0300
+++ stardict-3.0.1/src/sigc++/signal.h	2009-12-05 11:26:26.043382485 +0200
@@ -18,7 +18,7 @@
   //Compilers, such as older versions of SUN Forte C++, that do not allow this also often
   //do not allow a typedef to have the same name as a class in the typedef's definition.
   //For Sun Forte CC 5.7 (SUN Workshop 10), comment this out to fix the build.
-  #define SIGC_TYPEDEF_REDEFINE_ALLOWED 1
+//  #define SIGC_TYPEDEF_REDEFINE_ALLOWED 1
 #endif
 
 namespace sigc {
diff -Naur stardict-3.0.1-old/src/utils.cpp stardict-3.0.1/src/utils.cpp
--- stardict-3.0.1-old/src/utils.cpp	2007-10-22 05:25:02.000000000 +0300
+++ stardict-3.0.1/src/utils.cpp	2009-12-05 11:26:26.045380625 +0200
@@ -22,6 +22,8 @@
 #  include "config.h"
 #endif
 
+#include <cstring>
+
 #include <glib.h>
 #include <glib/gi18n.h>
 #include <cstdlib>
diff -Naur stardict-3.0.1-old/src/x11_iskeyspressed.hpp stardict-3.0.1/src/x11_iskeyspressed.hpp
--- stardict-3.0.1-old/src/x11_iskeyspressed.hpp	2007-07-10 10:16:04.000000000 +0300
+++ stardict-3.0.1/src/x11_iskeyspressed.hpp	2009-12-05 11:26:26.045380625 +0200
@@ -1,6 +1,8 @@
 #ifndef _X11_ISKEYSPRESSED_HPP_
 #define _X11_ISKEYSPRESSED_HPP_
 
+#include <memory>
+
 #include <gdk/gdkx.h>
 #include <X11/keysym.h>
 #include <gtk/gtk.h>
diff -Naur stardict-3.0.1-old/stardict-plugins/stardict-dictdotcn-plugin/stardict_dictdotcn.cpp stardict-3.0.1/stardict-plugins/stardict-dictdotcn-plugin/stardict_dictdotcn.cpp
--- stardict-3.0.1-old/stardict-plugins/stardict-dictdotcn-plugin/stardict_dictdotcn.cpp	2007-10-10 12:28:29.000000000 +0300
+++ stardict-3.0.1/stardict-plugins/stardict-dictdotcn-plugin/stardict_dictdotcn.cpp	2009-12-05 11:26:26.046381441 +0200
@@ -1,6 +1,6 @@
 #include "stardict_dictdotcn.h"
 #include <glib/gi18n.h>
-#include <string>
+#include <cstring>
 #include <list>
 
 #ifdef _WIN32
diff -Naur stardict-3.0.1-old/stardict-plugins/stardict-espeak-tts-plugin/stardict_espeak.cpp stardict-3.0.1/stardict-plugins/stardict-espeak-tts-plugin/stardict_espeak.cpp
--- stardict-3.0.1-old/stardict-plugins/stardict-espeak-tts-plugin/stardict_espeak.cpp	2007-09-19 11:27:18.000000000 +0300
+++ stardict-3.0.1/stardict-plugins/stardict-espeak-tts-plugin/stardict_espeak.cpp	2009-12-05 11:26:26.047381069 +0200
@@ -1,4 +1,5 @@
 #include "stardict_espeak.h"
+#include <cstring>
 #include <espeak/speak_lib.h>
 #include <glib/gi18n.h>
 
diff -Naur stardict-3.0.1-old/stardict-plugins/stardict-gucharmap-plugin/stardict_gucharmap.cpp stardict-3.0.1/stardict-plugins/stardict-gucharmap-plugin/stardict_gucharmap.cpp
--- stardict-3.0.1-old/stardict-plugins/stardict-gucharmap-plugin/stardict_gucharmap.cpp	2007-08-31 10:10:41.000000000 +0300
+++ stardict-3.0.1/stardict-plugins/stardict-gucharmap-plugin/stardict_gucharmap.cpp	2009-12-05 11:26:26.047381069 +0200
@@ -1,7 +1,8 @@
 #include "stardict_gucharmap.h"
 #include <glib/gi18n.h>
 #include <gucharmap/gucharmap.h>
-#include <string>
+#include <cstring>
+#include <cstdlib>
 
 static char *build_dictdata(char type, const char *definition)
 {
diff -Naur stardict-3.0.1-old/stardict-plugins/stardict-html-parsedata-plugin/stardict_html_parsedata.cpp stardict-3.0.1/stardict-plugins/stardict-html-parsedata-plugin/stardict_html_parsedata.cpp
--- stardict-3.0.1-old/stardict-plugins/stardict-html-parsedata-plugin/stardict_html_parsedata.cpp	2007-09-13 10:51:55.000000000 +0300
+++ stardict-3.0.1/stardict-plugins/stardict-html-parsedata-plugin/stardict_html_parsedata.cpp	2009-12-05 11:26:26.169417686 +0200
@@ -1,4 +1,6 @@
 #include "stardict_html_parsedata.h"
+#include <cstring>
+#include <cstdlib>
 #include <glib/gi18n.h>
 
 #ifdef _WIN32
diff -Naur stardict-3.0.1-old/stardict-plugins/stardict-man-plugin/stardict_man.cpp stardict-3.0.1/stardict-plugins/stardict-man-plugin/stardict_man.cpp
--- stardict-3.0.1-old/stardict-plugins/stardict-man-plugin/stardict_man.cpp	2007-09-19 11:30:54.000000000 +0300
+++ stardict-3.0.1/stardict-plugins/stardict-man-plugin/stardict_man.cpp	2009-12-05 11:26:26.170378971 +0200
@@ -1,6 +1,6 @@
 #include "stardict_man.h"
 #include <glib/gi18n.h>
-#include <string>
+#include <cstring>
 
 static const StarDictPluginSystemInfo *plugin_info = NULL;
 static bool need_prefix;
diff -Naur stardict-3.0.1-old/stardict-plugins/stardict-powerword-parsedata-plugin/stardict_powerword_parsedata.cpp stardict-3.0.1/stardict-plugins/stardict-powerword-parsedata-plugin/stardict_powerword_parsedata.cpp
--- stardict-3.0.1-old/stardict-plugins/stardict-powerword-parsedata-plugin/stardict_powerword_parsedata.cpp	2007-10-25 11:16:37.000000000 +0300
+++ stardict-3.0.1/stardict-plugins/stardict-powerword-parsedata-plugin/stardict_powerword_parsedata.cpp	2009-12-05 11:26:26.213384068 +0200
@@ -1,4 +1,5 @@
 #include "stardict_powerword_parsedata.h"
+#include <cstring>
 #include <glib/gi18n.h>
 
 #ifdef _WIN32
diff -Naur stardict-3.0.1-old/stardict-plugins/stardict-qqwry-plugin/stardict_qqwry.cpp stardict-3.0.1/stardict-plugins/stardict-qqwry-plugin/stardict_qqwry.cpp
--- stardict-3.0.1-old/stardict-plugins/stardict-qqwry-plugin/stardict_qqwry.cpp	2007-11-02 10:41:26.000000000 +0200
+++ stardict-3.0.1/stardict-plugins/stardict-qqwry-plugin/stardict_qqwry.cpp	2009-12-05 11:26:26.214377342 +0200
@@ -1,7 +1,8 @@
 #include "stardict_qqwry.h"
 #include <glib/gi18n.h>
 #include <glib/gstdio.h>
-#include <string>
+#include <cstring>
+#include <cstdlib>
 
 #ifdef _WIN32
 #include <windows.h>
diff -Naur stardict-3.0.1-old/stardict-plugins/stardict-spell-plugin/stardict_spell.cpp stardict-3.0.1/stardict-plugins/stardict-spell-plugin/stardict_spell.cpp
--- stardict-3.0.1-old/stardict-plugins/stardict-spell-plugin/stardict_spell.cpp	2007-09-19 11:29:21.000000000 +0300
+++ stardict-3.0.1/stardict-plugins/stardict-spell-plugin/stardict_spell.cpp	2009-12-05 11:26:26.216376807 +0200
@@ -1,4 +1,5 @@
 #include "stardict_spell.h"
+#include <cstring>
 #include <glib.h>
 #include <glib/gi18n.h>
 #include <enchant.h>
diff -Naur stardict-3.0.1-old/stardict-plugins/stardict-update-info-plugin/stardict_update_info.cpp stardict-3.0.1/stardict-plugins/stardict-update-info-plugin/stardict_update_info.cpp
--- stardict-3.0.1-old/stardict-plugins/stardict-update-info-plugin/stardict_update_info.cpp	2007-09-19 11:34:36.000000000 +0300
+++ stardict-3.0.1/stardict-plugins/stardict-update-info-plugin/stardict_update_info.cpp	2009-12-05 11:27:45.223586218 +0200
@@ -1,5 +1,6 @@
 #include "stardict_update_info.h"
 #include <glib/gi18n.h>
+#include <cstdlib>
 
 #ifdef _WIN32
 #include <windows.h>
diff -Naur stardict-3.0.1-old/stardict-plugins/stardict-wiki-parsedata-plugin/stardict_wiki2xml.cpp stardict-3.0.1/stardict-plugins/stardict-wiki-parsedata-plugin/stardict_wiki2xml.cpp
--- stardict-3.0.1-old/stardict-plugins/stardict-wiki-parsedata-plugin/stardict_wiki2xml.cpp	2007-07-10 10:16:15.000000000 +0300
+++ stardict-3.0.1/stardict-plugins/stardict-wiki-parsedata-plugin/stardict_wiki2xml.cpp	2009-12-05 11:26:26.216376807 +0200
@@ -1,5 +1,6 @@
 #include "stardict_wiki2xml.h"
 #include "WIKI2XML.h"
+#include <cstring>
 #include <glib.h>
 
 std::string wiki2xml(std::string &str)
diff -Naur stardict-3.0.1-old/stardict-plugins/stardict-wiki-parsedata-plugin/stardict_wiki_parsedata.cpp stardict-3.0.1/stardict-plugins/stardict-wiki-parsedata-plugin/stardict_wiki_parsedata.cpp
--- stardict-3.0.1-old/stardict-plugins/stardict-wiki-parsedata-plugin/stardict_wiki_parsedata.cpp	2007-08-31 09:41:21.000000000 +0300
+++ stardict-3.0.1/stardict-plugins/stardict-wiki-parsedata-plugin/stardict_wiki_parsedata.cpp	2009-12-05 11:26:26.217377203 +0200
@@ -1,5 +1,6 @@
 #include "stardict_wiki_parsedata.h"
 #include "stardict_wiki2xml.h"
+#include <cstring>
 #include <glib/gi18n.h>
 
 #ifdef _WIN32
diff -Naur stardict-3.0.1-old/stardict-plugins/stardict-wordnet-plugin/court_widget.cpp stardict-3.0.1/stardict-plugins/stardict-wordnet-plugin/court_widget.cpp
--- stardict-3.0.1-old/stardict-plugins/stardict-wordnet-plugin/court_widget.cpp	2007-10-18 04:36:22.000000000 +0300
+++ stardict-3.0.1/stardict-plugins/stardict-wordnet-plugin/court_widget.cpp	2009-12-05 11:26:26.218376062 +0200
@@ -1,4 +1,5 @@
 #include "court_widget.h"
+#include <cstring>
 #include <math.h>
 #include <list>
 
diff -Naur stardict-3.0.1-old/stardict-plugins/stardict-wordnet-plugin/stardict_wordnet.cpp stardict-3.0.1/stardict-plugins/stardict-wordnet-plugin/stardict_wordnet.cpp
--- stardict-3.0.1-old/stardict-plugins/stardict-wordnet-plugin/stardict_wordnet.cpp	2007-10-15 06:32:04.000000000 +0300
+++ stardict-3.0.1/stardict-plugins/stardict-wordnet-plugin/stardict_wordnet.cpp	2009-12-05 11:26:26.219377227 +0200
@@ -1,5 +1,6 @@
 #include "stardict_wordnet.h"
 #include "court_widget.h"
+#include <cstring>
 #include <glib/gi18n.h>
 
 #ifdef _WIN32
diff -Naur stardict-3.0.1-old/stardict-plugins/stardict-wordnet-plugin/stardict_wordnet_parsedata.cpp stardict-3.0.1/stardict-plugins/stardict-wordnet-plugin/stardict_wordnet_parsedata.cpp
--- stardict-3.0.1-old/stardict-plugins/stardict-wordnet-plugin/stardict_wordnet_parsedata.cpp	2007-10-10 12:39:10.000000000 +0300
+++ stardict-3.0.1/stardict-plugins/stardict-wordnet-plugin/stardict_wordnet_parsedata.cpp	2009-12-05 11:26:26.219377227 +0200
@@ -1,4 +1,5 @@
 #include "stardict_wordnet_parsedata.h"
+#include <cstring>
 #include <glib/gi18n.h>
 
 #ifdef _WIN32
diff -Naur stardict-3.0.1-old/stardict-plugins/stardict-xdxf-parsedata-plugin/stardict_xdxf_parsedata.cpp stardict-3.0.1/stardict-plugins/stardict-xdxf-parsedata-plugin/stardict_xdxf_parsedata.cpp
--- stardict-3.0.1-old/stardict-plugins/stardict-xdxf-parsedata-plugin/stardict_xdxf_parsedata.cpp	2007-08-31 09:41:54.000000000 +0300
+++ stardict-3.0.1/stardict-plugins/stardict-xdxf-parsedata-plugin/stardict_xdxf_parsedata.cpp	2009-12-05 11:26:26.237376958 +0200
@@ -1,4 +1,5 @@
 #include "stardict_xdxf_parsedata.h"
+#include <cstring>
 #include <glib/gi18n.h>
 
 #ifdef _WIN32
diff -Naur stardict-3.0.1-old/tests/t_config_file.cpp stardict-3.0.1/tests/t_config_file.cpp
--- stardict-3.0.1-old/tests/t_config_file.cpp	2007-07-10 10:16:04.000000000 +0300
+++ stardict-3.0.1/tests/t_config_file.cpp	2009-12-05 11:26:26.237376958 +0200
@@ -8,6 +8,7 @@
 #include <cstring>
 #include <iterator>
 #include <iostream>
+#include <memory>
 #include <gtk/gtk.h>
 
 #include "config_file.hpp"
diff -Naur stardict-3.0.1-old/tests/t_xml.cpp stardict-3.0.1/tests/t_xml.cpp
--- stardict-3.0.1-old/tests/t_xml.cpp	2007-07-10 10:16:04.000000000 +0300
+++ stardict-3.0.1/tests/t_xml.cpp	2009-12-05 11:26:26.238377494 +0200
@@ -5,6 +5,7 @@
 #include <glib.h>
 #include <cstdlib>
 #include <string>
+#include <cstring>
 
 
 static void xml_decode(const char *str, std::string& decoded)