--- a/src/tse3/Serializable.h
+++ b/src/tse3/Serializable.h
@@ -20,6 +20,7 @@
 #include <iosfwd>
 #include <iomanip>
 #include <cstddef>
+#include <fstream>
 
 namespace TSE3
 {

--- a/src/tse3/TSE2MDL.h
+++ b/src/tse3/TSE2MDL.h
@@ -22,6 +22,7 @@
 #include <string>
 #include <iostream>
 #include <cstddef>
+#include <cstring>
 
 namespace TSE3
 {

--- a/src/tse3/MidiFile.h
+++ b/src/tse3/MidiFile.h
@@ -25,6 +25,7 @@
 #include <string>
 #include <iosfwd>
 #include <cstddef>
+#include <cstring>
 
 namespace TSE3
 {
--- a/src/examples/recording/recording.cpp
+++ b/src/examples/recording/recording.cpp
@@ -26,6 +26,7 @@
      *
      **************************************************************/
 
+#include <cstdlib>
 #include <iostream>
 
 // Used in step 1

--- a/src/tse3play/tse3play.h
+++ b/src/tse3play/tse3play.h
@@ -19,6 +19,7 @@
 
 #include <string>
 #include <list>
+#include <cstdlib>
 
 #include "tse3/Transport.h"
 
--- a/src/tse3/plt/Alsa-0.9.cpp
+++ b/src/tse3/plt/Alsa-0.9.cpp
@@ -25,12 +25,11 @@
 #define HAVE_SYS_ASOUNDLIB_H
 #endif
 
-#define _GNU_SOURCE
 #include <sys/stat.h>
 #include <errno.h>
 #include <alloca.h>
 #if HAVE_ALSA_ASOUNDLIB_H
-#include <sys/asoundlib.h>
+#include <alsa/asoundlib.h>
 #elif HAVE_SYS_ASOUNDLIB_H
 #include <sys/asoundlib.h>
 #endif

--- a/src/tse3/plt/OSS.h
+++ b/src/tse3/plt/OSS.h
@@ -21,6 +21,7 @@
 
 #include <string>
 #include <list>
+#include <cstring>
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
