Hi Eric,

thanks for the quick answer

When I started developing for debian this work was already almost done, I took 
it and I never looked too much :)
this is what I'm using:



  --enable-server \
  --enable-fcgi \
  --enable-boinczip \
  --enable-client \
  --enable-manager \
  --enable-dynamic-client-linkage \
  --prefix=/usr \
  --libdir=/usr/lib \
  --libexecdir=/usr/lib \
  --enable-libraries \
  --enable-install-headers \
  --enable-unicode \
  --enable-shared \
  --enable-xss \
  --disable-static \
  --with-ssl \
  --with-x \


this is what I get

/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  
-I.. -I../api -I../db -I../lib -I../lib/mac -I../sched -I../tools -I../vda 
-pthread -D_FORTIFY_SOURCE=2  -Wall -Wextra -Wshadow -Wredundant-decls 
-Wdisabled-optimization -Wpointer-arith -Wstrict-aliasing -Wcast-align -I.. 
-I../zip/zip -I../zip/unzip -I../lib -DUNIX -DDLL -DUSE_ZIPMAIN -DNO_OFF_T 
-DNO_CRYPT -DNO_LCHOWN -DNO_LCHMOD -DIZ_PWLEN=80 -Dinflate=inflate_boinc 
-Ddeflate=deflate_boinc -Dget_crc_table=get_crc_table_boinc 
-Dlongest_match=longest_match_boinc -Dinflate_codes=inflate_codes_boinc 
-Dcrc32=crc32_boinc  -g -O0 -Wall -fPIC -c -o z_unix.lo `test -f 
'./zip/unix/z_unix.c' || echo './'`./zip/unix/z_unix.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../api -I../db -I../lib 
-I../lib/mac -I../sched -I../tools -I../vda -pthread -D_FORTIFY_SOURCE=2 -Wall 
-Wextra -Wshadow -Wredundant-decls -Wdisabled-optimization -Wpointer-arith 
-Wstrict-aliasing -Wcast-align -I.. -I../zip/zip -I../zip/unzip -I../lib -DUNIX 
-DDLL -DUSE_ZIPMAIN -DNO_OFF_T -DNO_CRYPT -DNO_LCHOWN -DNO_LCHMOD -DIZ_PWLEN=80 
-Dinflate=inflate_boinc -Ddeflate=deflate_boinc 
-Dget_crc_table=get_crc_table_boinc -Dlongest_match=longest_match_boinc 
-Dinflate_codes=inflate_codes_boinc -Dcrc32=crc32_boinc -g -O0 -Wall -fPIC -c 
./zip/unix/z_unix.c  -fPIC -DPIC -o .libs/z_unix.o
./zip/unix/z_unix.c: In function 'set_extra_field':
./zip/unix/z_unix.c:567:12: warning: unused parameter 'z_utim' 
[-Wunused-parameter]
   iztimes *z_utim;
            ^
/bin/bash ../libtool  --tag=CXX   --mode=link /usr/bin/g++ -Wall -Wextra 
-Wshadow -Wredundant-decls -Wdisabled-optimization -Wpointer-arith 
-Wstrict-aliasing -Wcast-align -I.. -I../zip/zip -I../zip/unzip -I../lib -DUNIX 
-DDLL -DUSE_ZIPMAIN -DNO_OFF_T -DNO_CRYPT -DNO_LCHOWN -DNO_LCHMOD -DIZ_PWLEN=80 
-Dinflate=inflate_boinc -Ddeflate=deflate_boinc 
-Dget_crc_table=get_crc_table_boinc -Dlongest_match=longest_match_boinc 
-Dinflate_codes=inflate_codes_boinc -Dcrc32=crc32_boinc  -I.. -I../zip/zip 
-I../zip/unzip -I../lib -DUNIX -DDLL -DUSE_ZIPMAIN -DNO_OFF_T -DNO_CRYPT 
-DNO_LCHOWN -DNO_LCHMOD -DIZ_PWLEN=80 -Dinflate=inflate_boinc 
-Ddeflate=deflate_boinc -Dget_crc_table=get_crc_table_boinc 
-Dlongest_match=longest_match_boinc -Dinflate_codes=inflate_codes_boinc 
-Dcrc32=crc32_boinc  -g -O0 -Wall -fPIC -L/usr/lib -rpath /usr/lib 
-version-number 7:4:1 -fPIE -pie -Wl,-z,relro -Wl,-z,now -flto 
-Wl,--no-add-needed -o libboinc_zip.la -rpath /usr/lib boinc_zip.lo
 api.lo apihelp.lo crc32.lo explode.lo extract.lo fileio.lo globals.lo 
inflate.lo list.lo match.lo process.lo ttyio.lo unreduce.lo unshrink.lo 
unzip.lo zipinfo.lo deflate.lo trees.lo util.lo z_fileio.lo z_globals.lo zip.lo 
zipfile.lo zipup.lo  unix.lo z_unix.lo  
libtool: link: /usr/bin/g++  -fPIC -DPIC -shared -nostdlib 
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crti.o 
/usr/lib/gcc/x86_64-linux-gnu/4.9/crtbeginS.o  .libs/boinc_zip.o .libs/api.o 
.libs/apihelp.o .libs/crc32.o .libs/explode.o .libs/extract.o .libs/fileio.o 
.libs/globals.o .libs/inflate.o .libs/list.o .libs/match.o .libs/process.o 
.libs/ttyio.o .libs/unreduce.o .libs/unshrink.o .libs/unzip.o .libs/zipinfo.o 
.libs/deflate.o .libs/trees.o .libs/util.o .libs/z_fileio.o .libs/z_globals.o 
.libs/zip.o .libs/zipfile.o .libs/zipup.o .libs/unix.o .libs/z_unix.o   
-L/usr/lib -L/usr/lib/gcc/x86_64-linux-gnu/4.9 
-L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu 
-L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib -L/lib/x86_64-linux-gnu 
-L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib 
-L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../.. -lstdc++ -lm -lc -lgcc_s 
/usr/lib/gcc/x86_64-linux-gnu/4.9/crtfastmath.o
 /usr/lib/gcc/x86_64-linux-gnu/4.9/crtendS.o 
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crtn.o  -O0 -Wl,-z 
-Wl,relro -Wl,-z -Wl,now -flto -Wl,--no-add-needed   -Wl,-soname 
-Wl,libboinc_zip.so.7 -o .libs/libboinc_zip.so.7.4.1
libtool: link: (cd ".libs" && rm -f "libboinc_zip.so.7" && ln -s 
"libboinc_zip.so.7.4.1" "libboinc_zip.so.7")
libtool: link: (cd ".libs" && rm -f "libboinc_zip.so" && ln -s 
"libboinc_zip.so.7.4.1" "libboinc_zip.so")
libtool: link: ( cd ".libs" && rm -f "libboinc_zip.la" && ln -s 
"../libboinc_zip.la" "libboinc_zip.la" )
rm -f libboinc_zip.a
/bin/ln .libs/libboinc_zip.a .
/bin/ln: failed to access '.libs/libboinc_zip.a': No such file or directory


cheers,

Gianfranco

Il Martedì 17 Giugno 2014 17:26, Eric J Korpela <[email protected]> ha 
scritto:
>
>
>I'm not sure why this in necessary.  First, it's very linux specific, libtool 
>and gcc and ld version specific.
>
>
>Does the standard libtool "--enable-shared --disable-static" not work?   It's 
>been a while since I had time or need to backport to solaris, but that used to 
>be all that was necessary to get shared libraries without static libs.
>
>Does "--enable-pkg-libs" not build a set of installable shared libraries?  
>Does "make install" not install them properly?  Does "--enable-pkg-devel" not 
>provide for an installable development package?  Does 
>"--enable-dynamic-client-linkage" no longer build a dynamically linked client?
>
>If these mechanism aren't working, it's better to fix the existing mechanisms 
>than to add a new one that duplicates functionality.
>
>
>
>
>
>
>
>On Tue, Jun 17, 2014 at 6:11 AM, Gianfranco Costamagna 
><[email protected]> wrote:
>
>Hi Boinc development team,
>>
>>as you already know debian has a little patched boinc version that 
>>dynamically links almost everything and exports those libraries to 
>>applications that uses them (e.g. seti, milkyway)
>>
>> 
>>
>>This approach has never been merged upstream since you don't want to 
>>dynamically link almost anything in your source tree, however since in debian 
>>we have really nice results I decided to merge my patches and give you a 
>>single patch with a new autoconf swich, that permits distros who wants to 
>>automagically dynamically build the source code.
>>
>>This approach is disabled by default, so the current behaviour will still be 
>>the default
>>what do you think about?
>>
>>This will simplify a lot the debian maintaining of your package.
>>
>>Thanks,
>>
>>
>>
>>
>>Gianfranco
>>
>>--- /dev/null
>>+++ b/debian/patches/dynamic-libs.patch
>>@@ -0,0 +1,203 @@
>>+--- a/configure.ac
>>++++ b/configure.ac
>>+@@ -71,6 +71,11 @@
>>+     [dynamic_client=${enableval}],
>>+     [dynamic_client=no])
>>+
>>++AC_ARG_ENABLE(dynamic-libs,
>>++    AS_HELP_STRING([--enable-dynamic-libs],
>>++                   [build dynamic libraries]),
>>++    [dynamic_libs=yes])
>>++
>>+ AC_ARG_ENABLE(server,
>>+     AS_HELP_STRING([--disable-server],
>>+                    [disable building the scheduling server]),
>>+@@ -949,6 +954,7 @@
>>+
>>+ dnl tell automake about whether to build client and/or server
>>+ AM_CONDITIONAL(DYNAMIC_CLIENT, [test "${dynamic_client}" = yes])
>>++AM_CONDITIONAL(DYNAMIC_LIBS,   [test "x${dynamic_libs}" = xyes])
>>+ AM_CONDITIONAL(ENABLE_SERVER, [test "${enable_server}" = yes])
>>+ AM_CONDITIONAL(ENABLE_CLIENT, [test "${enable_client}" = yes])
>>+ AM_CONDITIONAL(ENABLE_MANAGER, [ test "x${ac_cv_have_wxwidgets}" = xyes -a 
>>"${enable_manager}" = yes ])
>>+--- a/Makefile.incl
>>++++ b/Makefile.incl
>>+@@ -41,26 +41,36 @@
>>+ # dependencies to make sure libs gets compiled before
>>+ # programs linking to them:
>>+
>>+-LIBSCHED = $(top_builddir)/sched/libsched.la
>>++if DYNAMIC_LIBS
>>++  LIBSCHED = -lsched
>>++  LIBSCHED_FCGI = -lsched_fcgi
>>++  LIBBOINC = -lboinc
>>++  LIBBOINC_CRYPT = -lboinc_crypt
>>++  LIBBOINC_FCGI = -lboinc_fcgi
>>++  LIBAPI = -lboinc_api
>>++else
>>++  LIBSCHED = $(top_builddir)/sched/libsched.la
>>++  LIBSCHED_FCGI = $(top_builddir)/sched/libsched_fcgi.la
>>++  LIBBOINC = $(top_builddir)/lib/libboinc.la
>>++  LIBBOINC_CRYPT = $(top_builddir)/lib/libboinc_crypt.la
>>++  LIBBOINC_FCGI = $(top_builddir)/lib/libboinc_fcgi.la
>>++  LIBAPI = $(top_builddir)/api/libboinc_api.la
>>++endif
>>++
>>+ $(LIBSCHED):
>>+       cd $(top_builddir)/sched; ${MAKE} libsched.la
>>+-LIBSCHED_FCGI = $(top_builddir)/sched/libsched_fcgi.la
>>+ $(LIBSCHED_FCGI):
>>+       cd $(top_builddir)/sched; ${MAKE} libsched_fcgi.la
>>+-LIBBOINC = $(top_builddir)/lib/libboinc.la
>>+ $(LIBBOINC):
>>+       cd $(top_builddir)/lib; ${MAKE} libboinc.la
>>+-LIBBOINC_CRYPT = $(top_builddir)/lib/libboinc_crypt.la
>>+ $(LIBBOINC_CRYPT):
>>+       cd $(top_builddir)/lib; ${MAKE} libboinc.la
>>+-LIBBOINC_FCGI = $(top_builddir)/lib/libboinc_fcgi.la
>>+ $(LIBBOINC_FCGI):
>>+       cd $(top_builddir)/lib; ${MAKE} libboinc_fcgi.la
>>+-LIBAPI = $(top_builddir)/api/libboinc_api.la
>>+ $(LIBAPI):
>>+       cd $(top_builddir)/api; ${MAKE} libboinc_api.la
>>+
>>+ SERVERLIBS = $(LIBSCHED) $(LIBBOINC_CRYPT) $(LIBBOINC) $(MYSQL_LIBS) 
>>$(PTHREAD_LIBS) $(RSA_LIBS) $(SSL_LIBS)
>>+ SERVERLIBS_FCGI = $(LIBSCHED_FCGI) $(LIBBOINC_CRYPT) $(LIBBOINC_FCGI) 
>>-lfcgi $(MYSQL_LIBS) $(PTHREAD_LIBS) $(RSA_LIBS) $(SSL_LIBS)
>>+ APPLIBS = $(LIBAPI) $(LIBBOINC)
>>+-
>>++.PHONY: $(LIBBOINC) $(LIBBOINC_CRYPT) $(LIBBOINC_FCGI) $(LIBAPI) 
>>$(LIBSCHED) $(LIBSCHED_FCGI)
>>+--- a/client/Makefile.am
>>++++ b/client/Makefile.am
>>+@@ -31,7 +31,11 @@
>>+ boinccmd_DEPENDENCIES = $(LIBBOINC)
>>+ boinccmd_CPPFLAGS = $(AM_CPPFLAGS)
>>+ boinccmd_LDFLAGS = $(AM_LDFLAGS) -L$(top_srcdir)/lib
>>++if DYNAMIC_LIBS
>>++boinccmd_LDADD = $(LIBBOINC) $(BOINC_EXTRA_LIBS) $(PTHREAD_LIBS) 
>>-L../lib/.libs
>>++else
>>+ boinccmd_LDADD = $(LIBBOINC) $(BOINC_EXTRA_LIBS) $(PTHREAD_LIBS)
>>++endif
>>+
>>+ boinc_client_SOURCES = \
>>+     acct_mgr.cpp \
>>+--- a/apps/Makefile.am
>>++++ b/apps/Makefile.am
>>+@@ -8,15 +8,27 @@
>>+
>>+ upper_case_SOURCES = upper_case.cpp
>>+ upper_case_CXXFLAGS = $(PTHREAD_CFLAGS)
>>++if DYNAMIC_LIBS
>>++upper_case_LDFLAGS = -static-libtool-libs $(PTHREAD_CFLAGS) -L../api/.libs 
>>-L../lib/.libs
>>++else
>>+ upper_case_LDFLAGS = -static-libtool-libs $(PTHREAD_CFLAGS)
>>++endif
>>+ upper_case_LDADD = $(APPLIBS)
>>+
>>+ concat_SOURCES = concat.cpp
>>+ concat_CXXFLAGS = $(PTHREAD_CFLAGS)
>>++if DYNAMIC_LIBS
>>++concat_LDFLAGS = -static-libtool-libs $(PTHREAD_CFLAGS) -L../api/.libs 
>>-L../lib/.libs
>>++else
>>+ concat_LDFLAGS = -static-libtool-libs $(PTHREAD_CFLAGS)
>>++endif
>>+ concat_LDADD = $(APPLIBS)
>>+
>>+ 1sec_SOURCES = 1sec.cpp
>>+ 1sec_CXXFLAGS = $(PTHREAD_CFLAGS)
>>++if DYNAMIC_LIBS
>>++1sec_LDFLAGS = -static-libtool-libs $(PTHREAD_CFLAGS) -L../api/.libs 
>>-L../lib/.libs
>>++else
>>+ 1sec_LDFLAGS = -static-libtool-libs $(PTHREAD_CFLAGS)
>>++endif
>>+ 1sec_LDADD = $(APPLIBS)
>>+--- a/lib/Makefile.am
>>++++ b/lib/Makefile.am
>>+@@ -175,13 +175,21 @@
>>+ libboinc_la_SOURCES = $(generic_sources) $(mac_sources) $(win_sources)
>>+ libboinc_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
>>+ libboinc_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
>>++if DYNAMIC_LIBS
>>++libboinc_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number 
>>$(LIBBOINC_VERSION)
>>++else
>>+ libboinc_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number 
>>$(LIBBOINC_VERSION)
>>++endif
>>+ libboinc_la_LIBADD =
>>+
>>+ libboinc_crypt_la_SOURCES = crypt.cpp
>>+ libboinc_crypt_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) 
>>$(SSL_CFLAGS)
>>+ libboinc_crypt_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) 
>>$(SSL_CXXFLAGS)
>>++if DYNAMIC_LIBS
>>++libboinc_crypt_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number 
>>$(LIBBOINC_VERSION)
>>++else
>>+ libboinc_crypt_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static 
>>-version-number $(LIBBOINC_VERSION)
>>++endif
>>+ libboinc_crypt_la_LIBADD =
>>+
>>+
>>+@@ -250,7 +258,11 @@
>>+ msg_test_LDADD = $(LIBBOINC)
>>+ crypt_prog_SOURCES = crypt_prog.cpp
>>+ crypt_prog_CXXFLAGS = $(PTHREAD_CFLAGS)
>>++if DYNAMIC_LIBS
>>++crypt_prog_LDADD = $(LIBBOINC_CRYPT_STATIC) $(LIBBOINC) $(SSL_LIBS) 
>>-L../lib/.libs
>>++else
>>+ crypt_prog_LDADD = $(LIBBOINC_CRYPT_STATIC) $(LIBBOINC) $(SSL_LIBS)
>>++endif
>>+ parse_test_SOURCES = parse_test.cpp
>>+ parse_test_CXXFLAGS = $(PTHREAD_CFLAGS)
>>+ parse_test_LDADD = $(LIBBOINC)
>>+--- a/vda/Makefile.am
>>++++ b/vda/Makefile.am
>>+@@ -4,7 +4,11 @@
>>+ vda_PROGRAMS = vda vdad ssim
>>+
>>+ AM_CXXFLAGS += $(MYSQL_CFLAGS)
>>++if DYNAMIC_LIBS
>>++AM_LDFLAGS += -L../sched -L../lib/.libs
>>++else
>>+ AM_LDFLAGS += -static
>>++endif
>>+
>>+ vda_SOURCES = vda.cpp vda_lib.cpp vda_lib2.cpp vda_policy.cpp stats.cpp
>>+ vda_LDADD = $(SERVERLIBS)
>>+--- a/sched/Makefile.am
>>++++ b/sched/Makefile.am
>>+@@ -4,7 +4,11 @@
>>+ include $(top_srcdir)/Makefile.incl
>>+
>>+ AM_CPPFLAGS += $(MYSQL_CFLAGS) $(PTHREAD_CFLAGS)
>>++if DYNAMIC_LIBS
>>++AM_LDFLAGS += -L../lib/.libs
>>++else
>>+ AM_LDFLAGS += -static
>>++endif
>>+
>>+ if ENABLE_LIBRARIES
>>+
>>+--- a/tools/Makefile.am
>>++++ b/tools/Makefile.am
>>+@@ -44,7 +44,11 @@
>>+     gui_urls.xml
>>+
>>+ AM_CXXFLAGS += $(MYSQL_CFLAGS)
>>++if DYNAMIC_LIBS
>>++AM_LDFLAGS += -L../sched -L../lib/.libs
>>++else
>>+ AM_LDFLAGS += -static
>>++endif
>>+
>>+ cancel_jobs_SOURCES = cancel_jobs.cpp
>>+ cancel_jobs_LDADD = $(SERVERLIBS)
>>+--- a/clientgui/Makefile.am
>>++++ b/clientgui/Makefile.am
>>+@@ -13,7 +13,9 @@ if ENABLE_CLIENT_RELEASE
>>+ ## so we'll use the safer "-static-libtool-libs" by default.
>>+ else
>>+ if DYNAMIC_CLIENT
>>+-## if libtool starts to need flags for dynamic linking, add them here
>>++if DYNAMIC_LIBS
>>++  AM_LDFLAGS +=  -L../lib/.libs
>>++endif
>>+ else
>>+   AM_LDFLAGS += -static
>>+ endif
>>_______________________________________________
>>boinc_dev mailing list
>>[email protected]
>>http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
>>To unsubscribe, visit the above URL and
>>(near bottom of page) enter your email address.
>>
>
>
> 
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to