Compilation problem (master, Ubuntu 10.04)


#1
In file included from ../../src/native/juce_linux_NativeCode.cpp:99:
../../src/native/linux/juce_linux_Network.cpp: In static member function ‘static int juce::SystemStats::getMACAddresses(juce::int64*, int, bool)’:
../../src/native/linux/juce_linux_Network.cpp:41: error: aggregate ‘juce::ifconf ifc’ has incomplete type and cannot be defined
../../src/native/linux/juce_linux_Network.cpp:46: error: invalid application of ‘sizeof’ to incomplete type ‘juce::ifreq’ 
../../src/native/linux/juce_linux_Network.cpp:48: error: aggregate ‘juce::ifreq ifr’ has incomplete type and cannot be defined
make: *** [build/intermediate/Debug/juce_linux_NativeCode_b464a4a9.o] Fehler 1

I had to fix this with:

diff --git a/src/native/linux/juce_linux_NativeIncludes.h b/src/native/linux/juce_linux_NativeIncludes.h
index 4692c16..cbaf654 100644
--- a/src/native/linux/juce_linux_NativeIncludes.h
+++ b/src/native/linux/juce_linux_NativeIncludes.h
@@ -55,7 +55,7 @@
 #include <sys/types.h>
 #include <sys/ioctl.h>
 #include <sys/socket.h>
-#include <linux/if.h>
+#include <net/if.h>
 #include <sys/sysinfo.h>
 #include <sys/file.h>
 #include <signal.h>

Userland is not supposed to include any linux/* headers when there are equivalents available.


#2

Ah, right, thanks for that!