Hello,

While porting SANE to OpenWRT, I needed to patch SANE in order to compile
it using musl (default libc in OpenWRT trunk). The problem is that u_char
and u_long was not defined. glibc seems to be fine without it.

The fix is quite simple: I added '#include <sys/types.h>' to these files:

/include/sane/sanei_udp.h
/backend/kvs20xx_cmd.h
/backend/kvs40xx.h
/backend/hp5400.c
/backend/hp5590.c

I have the patch (attached) for it but it is based on 1.0.24.
Is this the best solution?
Also, I would be interesting to have a fix upstream.

Regards,
--- a/include/sane/sanei_udp.h
+++ b/include/sane/sanei_udp.h
@@ -27,6 +27,7 @@
 #include <netinet/in.h>
 #include <netdb.h>
 #endif
+#include <sys/types.h>
 
 extern SANE_Status sanei_udp_open(const char *host, int port, int *fdp);
 extern SANE_Status sanei_udp_open_broadcast(int *fdp);
--- a/backend/kvs20xx_cmd.h
+++ b/backend/kvs20xx_cmd.h
@@ -9,6 +9,8 @@
    Panasonic KV-S20xx USB-SCSI scanners.
 */
 
+#include <sys/types.h>
+
 #define COMMAND_BLOCK	1
 #define DATA_BLOCK	2
 #define RESPONSE_BLOCK	3
--- a/backend/kvs40xx.h
+++ b/backend/kvs40xx.h
@@ -10,6 +10,7 @@
 
 #include "../include/sane/config.h"
 #include <semaphore.h>
+#include <sys/types.h>
 
 #undef  BACKEND_NAME
 #define BACKEND_NAME kvs40xx
--- a/backend/hp5400.c
+++ b/backend/hp5400.c
@@ -67,6 +67,7 @@
 #include <stdlib.h>		/* malloc, free */
 #include <string.h>		/* memcpy */
 #include <stdio.h>
+#include <sys/types.h>
 
 
 #define HP5400_CONFIG_FILE "hp5400.conf"
--- a/backend/hp5590.c
+++ b/backend/hp5590.c
@@ -48,6 +48,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>
+#include <sys/types.h>
 
 #include "../include/sane/sane.h"
 #define BACKEND_NAME hp5590
-- 
sane-devel mailing list: sane-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel
Unsubscribe: Send mail with subject "unsubscribe your_password"
             to sane-devel-requ...@lists.alioth.debian.org

Reply via email to