package/sane-backends: fix musl build issue
PATCH 1/1 package/sane-backends: fix musl build issue
We should include config.h from sanei_backend.h in order to use the correct if/else HAVE_FOO.
For some reason with Glibc or uClibc there is no problem but with musl we have the following weird issue:
In file included from epsonds.h:41:0,
from epsonds-jpeg.c:18:
../include/sane/sanei_backend.h:99:33: error: expected ';', identifier or '(' before 'int'
../include/sane/sanei_backend.h:99:33: warning: useless type name in empty declaration
That's because HAVE_SIGPROCMASK is not defined although it's correctly detected by the configure script.
$ grep config.log config.log:#define HAVE_SIGPROCMASK 1
So, include config.h to avoid to redefine sigset_t.
Fixes:
http://autobuild.buildroot.net/results/9f1/9f1f1cb727b5c5407e69172280a3dee880e55cdf
--- .../0003-sane_backend-add-missing-config.h.patch | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 package/sane-backends/0003-sane_backend-add-missing-config.h.patch
package/sane-backends/0003-sane_backend-add-missing-config.h.patch new file +49 -0
@@ -0,0 +1,49 @@ +From 13aadf79659dd238b618c8be7c1de44960bd5d50 Mon Sep 17 00:00:00 2001 +From: Romain Naour <[email protected]> +Date: Fri, 11 Nov 2016 22:20:03 +0100 +Subject: [PATCH] sane_backend: add missing config.h + +We should include config.h from sanei_backend.h in order to use the +correct if/else HAVE_FOO. + +For some reason with Glibc or uClibc there is no problem but with musl +we have the following weird issue: + +In file included from epsonds.h:41:0, + from epsonds-jpeg.c:18: +../include/sane/sanei_backend.h:99:33: error: expected ';', identifier or '(' before 'int' + # define sigset_t int + ^ +../include/sane/sanei_backend.h:99:33: warning: useless type name in empty declaration + +That's because HAVE_SIGPROCMASK is not defined although it's correctly +detected by the configure script. + +$ grep config.log +config.log:#define HAVE_SIGPROCMASK 1 + +So, include config.h to avoid to redefine sigset_t. + +Fixes: +http://autobuild.buildroot.net/results/9f1/9f1f1cb727b5c5407e69172280a3dee880e55cdf + +Signed-off-by: Romain Naour <[email protected]> +--- + include/sane/sanei_backend.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/sane/sanei_backend.h b/include/sane/sanei_backend.h +index 1b5afe2..2a96532 100644 +--- a/include/sane/sanei_backend.h ++++ b/include/sane/sanei_backend.h +@@ -8,6 +8,7 @@ + * @sa sanei.h sanei_thread.h + */ + ++#include "../include/sane/config.h" + + /* + * Compiler related options +-- +2.5.5 +
Signature · 1 line
2.5.5
PATCH 1/1 package/sane-backends: fix musl build issue
Hi Romain,
Quoted 18 lines · Romain Naour
We should include
config.hfromsanei_backend.hin order to use the correct if/elseHAVE_FOO.For some reason with Glibc or uClibc there is no problem but with musl we have the following weird issue:
In file included from epsonds.h:41:0,
from epsonds-jpeg.c:18:
../include/sane/sanei_backend.h:99:33: error: expected ';', identifier or '(' before 'int'
../include/sane/sanei_backend.h:99:33: warning: useless type name in empty declarationThat's because
HAVE_SIGPROCMASKis not defined although it's correctly detected by the configure script.$ grep config.log config.log:#define HAVE_SIGPROCMASK 1
Quoted 7 lines
So, include
config.hto avoid to redefinesigset_t.Fixes:
http://autobuild.buildroot.net/results/9f1/9f1f1cb727b5c5407e69172280a3dee880e55cdfSigned-off-by Romain Naour <[email protected]>Cc Frank Hunleth <[email protected]>
Thanks for looking into this. For some reason, I had thought I saw a mention on the list that this was due to something else, but you're completely right that it's a sane-backends issue. I took a look upstream and found this patch:
It looks functionally the same as yours except that they added the #include to epsonds-jpeg.c instead. No other similar commits were made at the same time, so presumably that's the only file that breaks due to the missing config.h issue. Could you try the patch above? If it works, it will be more obvious that the patch can be dropped on the next sane-backends release.
Thanks,
Frank
Quoted 63 lines
--- .../0003-sane_backend-add-missing-config.h.patch | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 package/sane-backends/0003-sane_backend-add-missing-config.h.patchpackage/sane-backends/0003-sane_backend-add-missing-config.h.patch new file +49
-1@@ -0,0 +1,49 @@ +From 13aadf79659dd238b618c8be7c1de44960bd5d50 Mon Sep 17 00:00:00 2001 +From: Romain Naour <[email protected]> +Date: Fri, 11 Nov 2016 22:20:03 +0100 +Subject: [PATCH] sane_backend: add missing config.h + +We should include config.h from sanei_backend.h in order to use the +correct if/else HAVE_FOO. + +For some reason with Glibc or uClibc there is no problem but with musl +we have the following weird issue: + +In file included from epsonds.h:41:0, + from epsonds-jpeg.c:18: +../include/sane/sanei_backend.h:99:33: error: expected ';', identifier or '(' before 'int' + # define sigset_t int + ^ +../include/sane/sanei_backend.h:99:33: warning: useless type name in empty declaration + +That's because HAVE_SIGPROCMASK is not defined although it's correctly +detected by the configure script. + +$ grep config.log +config.log:#define HAVE_SIGPROCMASK 1 + +So, include config.h to avoid to redefine sigset_t. + +Fixes: +http://autobuild.buildroot.net/results/9f1/9f1f1cb727b5c5407e69172280a3dee880e55cdf + +Signed-off-by: Romain Naour <[email protected]> +--- + include/sane/sanei_backend.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/sane/sanei_backend.h b/include/sane/sanei_backend.h +index 1b5afe2..2a96532 100644 +--- a/include/sane/sanei_backend.h ++++ b/include/sane/sanei_backend.h +@@ -8,6 +8,7 @@ + * @sa sanei.h sanei_thread.h + */ + ++#include "../include/sane/config.h" + + /* + * Compiler related options +-- +2.5.5 + --2.5.5
Signature · 4 lines
Frank Hunleth Troodon Software LLC Embedded Software Development http://troodon-software.com/
PATCH 1/1 package/sane-backends: fix musl build issue
Hi Frank,
Le 12/11/2016 ? 19:09, Frank Hunleth a ?crit :
Quoted 34 lines
Hi Romain,
Quoted 18 lines · Romain Naour
We should include
config.hfromsanei_backend.hin order to use the correct if/elseHAVE_FOO.For some reason with Glibc or uClibc there is no problem but with musl we have the following weird issue:
In file included from epsonds.h:41:0,
from epsonds-jpeg.c:18:
../include/sane/sanei_backend.h:99:33: error: expected ';', identifier or '(' before 'int'
../include/sane/sanei_backend.h:99:33: warning: useless type name in empty declarationThat's because
HAVE_SIGPROCMASKis not defined although it's correctly detected by the configure script.$ grep config.log config.log:#define HAVE_SIGPROCMASK 1Quoted 7 lines
So, include
config.hto avoid to redefinesigset_t.Fixes:
http://autobuild.buildroot.net/results/9f1/9f1f1cb727b5c5407e69172280a3dee880e55cdfSigned-off-by Romain Naour <[email protected]>Cc Frank Hunleth <[email protected]>Thanks for looking into this. For some reason, I had thought I saw a mention on the list that this was due to something else, but you're completely right that it's a sane-backends issue. I took a look upstream and found this patch:
Quoted 8 lines
It looks functionally the same as yours except that they added the #include to
epsonds-jpeg.cinstead. No other similar commits were made at the same time, so presumably that's the only file that breaks due to the missingconfig.hissue. Could you try the patch above? If it works, it will be more obvious that the patch can be dropped on the next sane-backends release.
Thanks for the feedback and review!
Indeed the upstream patch fix the issues.
I missed it while searching for an upstream patch to backport... It seems that "epsonds: fix compilation" is not really meaningful :p
Best regards,
Romain
Quoted 72 lines
Reviewed-by Frank Hunleth <[email protected]>Thanks,
FrankQuoted 63 lines
--- .../0003-sane_backend-add-missing-config.h.patch | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 package/sane-backends/0003-sane_backend-add-missing-config.h.patchpackage/sane-backends/0003-sane_backend-add-missing-config.h.patch new file +49
-1@@ -0,0 +1,49 @@ +From 13aadf79659dd238b618c8be7c1de44960bd5d50 Mon Sep 17 00:00:00 2001 +From: Romain Naour <[email protected]> +Date: Fri, 11 Nov 2016 22:20:03 +0100 +Subject: [PATCH] sane_backend: add missing config.h + +We should include config.h from sanei_backend.h in order to use the +correct if/else HAVE_FOO. + +For some reason with Glibc or uClibc there is no problem but with musl +we have the following weird issue: + +In file included from epsonds.h:41:0, + from epsonds-jpeg.c:18: +../include/sane/sanei_backend.h:99:33: error: expected ';', identifier or '(' before 'int' + # define sigset_t int + ^ +../include/sane/sanei_backend.h:99:33: warning: useless type name in empty declaration + +That's because HAVE_SIGPROCMASK is not defined although it's correctly +detected by the configure script. + +$ grep config.log +config.log:#define HAVE_SIGPROCMASK 1 + +So, include config.h to avoid to redefine sigset_t. + +Fixes: +http://autobuild.buildroot.net/results/9f1/9f1f1cb727b5c5407e69172280a3dee880e55cdf + +Signed-off-by: Romain Naour <[email protected]> +--- + include/sane/sanei_backend.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/sane/sanei_backend.h b/include/sane/sanei_backend.h +index 1b5afe2..2a96532 100644 +--- a/include/sane/sanei_backend.h ++++ b/include/sane/sanei_backend.h +@@ -8,6 +8,7 @@ + * @sa sanei.h sanei_thread.h + */ + ++#include "../include/sane/config.h" + + /* + * Compiler related options +-- +2.5.5 + --2.5.5
Thomas Petazzoni
AppliedPATCH 1/1 package/sane-backends: fix musl build issue
In reply to Romain NaourHello,
Quoted 23 lines · Romain Naour
We should include
config.hfromsanei_backend.hin order to use the correct if/elseHAVE_FOO.For some reason with Glibc or uClibc there is no problem but with musl we have the following weird issue:
In file included from epsonds.h:41:0,
from epsonds-jpeg.c:18:
../include/sane/sanei_backend.h:99:33: error: expected ';', identifier or '(' before 'int'
../include/sane/sanei_backend.h:99:33: warning: useless type name in empty declarationThat's because
HAVE_SIGPROCMASKis not defined although it's correctly detected by the configure script.$ grep config.log config.log:#define HAVE_SIGPROCMASK 1So, include
config.hto avoid to redefinesigset_t.Fixes:
http://autobuild.buildroot.net/results/9f1/9f1f1cb727b5c5407e69172280a3dee880e55cdf
Quoted 6 lines
Signed-off-by Romain Naour <[email protected]>Cc Frank Hunleth <[email protected]>--- .../0003-sane_backend-add-missing-config.h.patch | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 package/sane-backends/0003-sane_backend-add-missing-config.h.patch
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com