[sane-devel] error building using --enable-static
Could you submit the changes then? With that combo below, it should make it so only frontends/Makefile.am and frontsends/Makefile.in need to be submitted that have minor changes. With my installed tools, its closer to 10 or more files with large changes. Chris On Wed, Aug 8, 2012 at 2:45 PM, Stef stef.dev at free.fr wrote: Hello, on my test system (Slackware 13.37): - i cloned current git tree - did a static build that failed linking - applied the library order patch - done 'autoreconf' - rebuilt successfully and got a ~9.5 MB scanimage and saned The 'auto' packages used were: autoconf 2.68 automake 1.11.1 So I believe it would be fine to apply it to the git tree. Regards, Stef
[sane-devel] error building using --enable-static
I have committed these changes. allan On Thu, Aug 9, 2012 at 12:52 PM, Chris Bagwell chris at cnpbagwell.com wrote: Could you submit the changes then? With that combo below, it should make it so only frontends/Makefile.am and frontsends/Makefile.in need to be submitted that have minor changes. With my installed tools, its closer to 10 or more files with large changes. Chris On Wed, Aug 8, 2012 at 2:45 PM, Stef stef.dev at free.fr wrote: Hello, on my test system (Slackware 13.37): - i cloned current git tree - did a static build that failed linking - applied the library order patch - done 'autoreconf' - rebuilt successfully and got a ~9.5 MB scanimage and saned The 'auto' packages used were: autoconf 2.68 automake 1.11.1 So I believe it would be fine to apply it to the git tree. Regards, Stef -- sane-devel mailing list: sane-devel at 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-request at lists.alioth.debian.org -- The truth is an offense, but not a sin
[sane-devel] error building using --enable-static
Thank you much, Allan. Although its compiling for me on OS X now, Stef identified an additional patch needed for Linux. Can you commit it as well? diff --git a/frontend/Makefile.am b/frontend/Makefile.am index 4ceae3b..74e7425 100644 --- a/frontend/Makefile.am +++ b/frontend/Makefile.am @@ -17,7 +17,8 @@ endif AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include scanimage_SOURCES = scanimage.c stiff.c stiff.h -scanimage_LDADD = ../backend/libsane.la ../lib/liblib.la ../lib/libfelib.la +scanimage_LDADD = ../backend/libsane.la ../sanei/libsanei.la ../lib/liblib.la \ + ../lib/libfelib.la saned_SOURCES = saned.c saned_LDADD = ../backend/libsane.la ../sanei/libsanei.la ../lib/liblib.la \ Chris On Thu, Aug 9, 2012 at 8:04 PM, m. allan noah kitno455 at gmail.com wrote: I have committed these changes. allan On Thu, Aug 9, 2012 at 12:52 PM, Chris Bagwell chris at cnpbagwell.com wrote: Could you submit the changes then? With that combo below, it should make it so only frontends/Makefile.am and frontsends/Makefile.in need to be submitted that have minor changes. With my installed tools, its closer to 10 or more files with large changes. Chris On Wed, Aug 8, 2012 at 2:45 PM, Stef stef.dev at free.fr wrote: Hello, on my test system (Slackware 13.37): - i cloned current git tree - did a static build that failed linking - applied the library order patch - done 'autoreconf' - rebuilt successfully and got a ~9.5 MB scanimage and saned The 'auto' packages used were: autoconf 2.68 automake 1.11.1 So I believe it would be fine to apply it to the git tree. Regards, Stef -- sane-devel mailing list: sane-devel at 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-request at lists.alioth.debian.org -- The truth is an offense, but not a sin
[sane-devel] error building using --enable-static
On 08/08/2012 04:44, Chris Bagwell wrote: I fixed the kvs backend symbol issues and committed them. Also, I believe I have a fix for jpeg symbols. I think its just a linking ordering issue. At least I got it working by hand editing the frontend/Makefile and moving the libraries with missing symbols to later in line of saned_LDADD and scanimage_LDADD. I do not have the older versions of autofoo packages installed and I'll reluctant to submit large configure and Makefile.in file updates at this stage. If someone has older autofoo installed and can check in just frontend/Makefile.am and frontend/Makefile.in change, here is suggested patch (I notice that liblib.la is in two different orders. May need to move one of those to later as well): --- a/frontend/Makefile.am +++ b/frontend/Makefile.am @@ -17,11 +17,11 @@ endif AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include scanimage_SOURCES = scanimage.c stiff.c stiff.h -scanimage_LDADD = ../lib/liblib.la ../lib/libfelib.la ../backend/libsane.la +scanimage_LDADD = ../backend/libsane.la ../lib/liblib.la ../lib/libfelib.la saned_SOURCES = saned.c -saned_LDADD = ../sanei/libsanei.la ../lib/liblib.la ../lib/libfelib.la \ - ../backend/libsane.la @SYSLOG_LIBS@ +saned_LDADD = ../backend/libsane.la ../sanei/libsanei.la ../lib/liblib.la \ + ../lib/libfelib.la @SYSLOG_LIBS@ test_SOURCES = test.c test_LDADD = ../lib/liblib.la ../lib/libfelib.la ../backend/libsane.la Chris Hello, thanks for the patches. They work great here. For the linking problem, what should be the version number for old autoconf tools? The Makefile.in in git have a automake 1.11.1 tag, is it old enough? I may have a suitable test platform. To get scanimage compiling, I also had to specify libsanei in scanimage_LDADD: diff --git a/frontend/Makefile.am b/frontend/Makefile.am index a8b51f3..d4a709d 100644 --- a/frontend/Makefile.am +++ b/frontend/Makefile.am @@ -17,11 +17,11 @@ endif AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include scanimage_SOURCES = scanimage.c stiff.c stiff.h -scanimage_LDADD = ../lib/liblib.la ../lib/libfelib.la ../backend/libsane.la +scanimage_LDADD = ../backend/libsane.la ../sanei/libsanei.la ../lib/liblib.la ../lib/libfelib.la saned_SOURCES = saned.c -saned_LDADD = ../sanei/libsanei.la ../lib/liblib.la ../lib/libfelib.la \ - ../backend/libsane.la @SYSLOG_LIBS@ +saned_LDADD =../backend/libsane.la ../sanei/libsanei.la ../lib/liblib.la \ +../lib/libfelib.la @SYSLOG_LIBS@ test_SOURCES = test.c test_LDADD = ../lib/liblib.la ../lib/libfelib.la ../backend/libsane.la Regards, Stef
[sane-devel] error building using --enable-static
On Wed, Aug 8, 2012 at 12:49 AM, Stef stef.dev at free.fr wrote: Hello, thanks for the patches. They work great here. For the linking problem, what should be the version number for old autoconf tools? The Makefile.in in git have a automake 1.11.1 tag, is it old enough? I may have a suitable test platform. Yes, 1.11.1 is ideal. I believe the current configure/Makefile.in's were generated based on versions in Fedora 16 if that helps as well. I have automake 1.11.3 from Fedora 17 and the changes are quite large for a minor release. To get scanimage compiling, I also had to specify libsanei in scanimage_LDADD: Oh yes, I remember that now. The info got lost because I was hand editing Makefile originally. Thanks, Chris
[sane-devel] error building using --enable-static
Hello, on my test system (Slackware 13.37): - i cloned current git tree - did a static build that failed linking - applied the library order patch - done 'autoreconf' - rebuilt successfully and got a ~9.5 MB scanimage and saned The 'auto' packages used were: autoconf 2.68 automake 1.11.1 So I believe it would be fine to apply it to the git tree. Regards, Stef
[sane-devel] error building using --enable-static
I fixed the kvs backend symbol issues and committed them. Also, I believe I have a fix for jpeg symbols. I think its just a linking ordering issue. At least I got it working by hand editing the frontend/Makefile and moving the libraries with missing symbols to later in line of saned_LDADD and scanimage_LDADD. I do not have the older versions of autofoo packages installed and I'll reluctant to submit large configure and Makefile.in file updates at this stage. If someone has older autofoo installed and can check in just frontend/Makefile.am and frontend/Makefile.in change, here is suggested patch (I notice that liblib.la is in two different orders. May need to move one of those to later as well): --- a/frontend/Makefile.am +++ b/frontend/Makefile.am @@ -17,11 +17,11 @@ endif AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include scanimage_SOURCES = scanimage.c stiff.c stiff.h -scanimage_LDADD = ../lib/liblib.la ../lib/libfelib.la ../backend/libsane.la +scanimage_LDADD = ../backend/libsane.la ../lib/liblib.la ../lib/libfelib.la saned_SOURCES = saned.c -saned_LDADD = ../sanei/libsanei.la ../lib/liblib.la ../lib/libfelib.la \ - ../backend/libsane.la @SYSLOG_LIBS@ +saned_LDADD = ../backend/libsane.la ../sanei/libsanei.la ../lib/liblib.la \ + ../lib/libfelib.la @SYSLOG_LIBS@ test_SOURCES = test.c test_LDADD = ../lib/liblib.la ../lib/libfelib.la ../backend/libsane.la Chris On Sat, Aug 4, 2012 at 2:13 AM, stef stef.dev at free.fr wrote: Hello, while debugging saned/genesys backend I noted that a static build : ./configure 'CFLAGS=-ggdb' '--prefix=/usr' '--sysconfdir=/etc' '--enable-pnm-backend' '--enable-parport-directio' '--enable-locking' --enable-static --disable-shared fails with: /usr/lib/gcc/i486-slackware-linux/4.7.1/../../../../i486-slackware-linux/bin/ld: Warning: alignment 16 of symbol `scan' in ../backend/.libs/libsane.a(libkvs20xx_la-kvs20xx_cmd.o) is smaller than 32 in ../backend/.libs/libsane.a(libhp3900_la-hp3900.o) /usr/lib/gcc/i486-slackware-linux/4.7.1/../../../../i486-slackware-linux/bin/ld: Warning: size of symbol `scan' changed from 72 in ../backend/.libs/libsane.a(libhp3900_la-hp3900.o) to 86 in ../backend/.libs/libsane.a(libkvs20xx_la-kvs20xx_cmd.o) /usr/lib/gcc/i486-slackware-linux/4.7.1/../../../../i486-slackware-linux/bin/ld: Warning: type of symbol `scan' changed from 1 to 2 in ../backend/.libs/libsane.a(libkvs20xx_la-kvs20xx_cmd.o) ../backend/.libs/libsane.a(libgphoto2_i_la-gphoto2.o): In function `converter_init': /stefdev/git/sane-backends/backend/gphoto2.c:1982: undefined reference to `sanei_jpeg_jinit_write_ppm' ../backend/.libs/libsane.a(libdc210_la-dc210.o): In function `sane_dc210_start': /stefdev/git/sane-backends/backend/dc210.c:1264: undefined reference to `sanei_jpeg_jinit_write_ppm' ../backend/.libs/libsane.a(libdc240_la-dc240.o): In function `sane_dc240_start': /stefdev/git/sane-backends/backend/dc240.c:1477: undefined reference to `sanei_jpeg_jinit_write_ppm' collect2: error: ld returned 1 exit status make[1]: *** [scanimage] Erreur 1 make: *** [all-recursive] Erreur 1 All the ksv20xx_cmd.c functions should be renamed like explained in backend-writing.txt , so to avoid clashes like the one on the 'scan' function with the hp3900 (which maybe is lacking a 'static' somewhere). 'make libchek' lists all the symbols that may clash, and there is quite a number of them. And it seems some library is missing at link time for scanimage. I currently haven't the time to dig into it. So if anyone has time Regards, Stef -- sane-devel mailing list: sane-devel at 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-request at lists.alioth.debian.org
[sane-devel] error building using --enable-static
Hello, while debugging saned/genesys backend I noted that a static build : ./configure 'CFLAGS=-ggdb' '--prefix=/usr' '--sysconfdir=/etc' '--enable-pnm-backend' '--enable-parport-directio' '--enable-locking' --enable-static --disable-shared fails with: /usr/lib/gcc/i486-slackware-linux/4.7.1/../../../../i486-slackware-linux/bin/ld: Warning: alignment 16 of symbol `scan' in ../backend/.libs/libsane.a(libkvs20xx_la-kvs20xx_cmd.o) is smaller than 32 in ../backend/.libs/libsane.a(libhp3900_la-hp3900.o) /usr/lib/gcc/i486-slackware-linux/4.7.1/../../../../i486-slackware-linux/bin/ld: Warning: size of symbol `scan' changed from 72 in ../backend/.libs/libsane.a(libhp3900_la-hp3900.o) to 86 in ../backend/.libs/libsane.a(libkvs20xx_la-kvs20xx_cmd.o) /usr/lib/gcc/i486-slackware-linux/4.7.1/../../../../i486-slackware-linux/bin/ld: Warning: type of symbol `scan' changed from 1 to 2 in ../backend/.libs/libsane.a(libkvs20xx_la-kvs20xx_cmd.o) ../backend/.libs/libsane.a(libgphoto2_i_la-gphoto2.o): In function `converter_init': /stefdev/git/sane-backends/backend/gphoto2.c:1982: undefined reference to `sanei_jpeg_jinit_write_ppm' ../backend/.libs/libsane.a(libdc210_la-dc210.o): In function `sane_dc210_start': /stefdev/git/sane-backends/backend/dc210.c:1264: undefined reference to `sanei_jpeg_jinit_write_ppm' ../backend/.libs/libsane.a(libdc240_la-dc240.o): In function `sane_dc240_start': /stefdev/git/sane-backends/backend/dc240.c:1477: undefined reference to `sanei_jpeg_jinit_write_ppm' collect2: error: ld returned 1 exit status make[1]: *** [scanimage] Erreur 1 make: *** [all-recursive] Erreur 1 All the ksv20xx_cmd.c functions should be renamed like explained in backend-writing.txt , so to avoid clashes like the one on the 'scan' function with the hp3900 (which maybe is lacking a 'static' somewhere). 'make libchek' lists all the symbols that may clash, and there is quite a number of them. And it seems some library is missing at link time for scanimage. I currently haven't the time to dig into it. So if anyone has time Regards, Stef