Re: OS checks with configuration time DLOPEN_NEEDS_LIBDL
Le 19/10/15 06:37, Norbert Thiebaud a écrit : On Sun, Oct 18, 2015 at 10:54 PM, Richard PALOwrote: I'd like to advance, one way or another on this topic. Sure, but the patch still need to not break Windows. The updated patchset seems to pass okay, in any event configure sets the correct value. It appears to be an unrelated problem causing the latest windows failure: # tarball names # does use some of the variables defined above include C:/cygwin/home/tdf/lode/jenkins/workspace/lo_gerrit_master/Gerrit/Gerrit/Platform/Windows/download.lst jenkins_build_client make /home/tdf/lode/bin/jenkins_build_client: connect: Connection refused /home/tdf/lode/bin/jenkins_build_client: line 2: /dev/tcp/localhost/2628: Connection refused Build step 'Execute shell' marked build as failure Finished: FAILURE ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: OS checks with configuration time DLOPEN_NEEDS_LIBDL
On Tue, Oct 20, 2015 at 1:11 AM, Richard PALOwrote: > Le 19/10/15 15:40, Norbert Thiebaud a écrit : >> On Mon, Oct 19, 2015 at 3:13 AM, Richard PALO wrote: >>> Le 19/10/15 06:37, Norbert Thiebaud a écrit : On Sun, Oct 18, 2015 at 10:54 PM, Richard PALO wrote: > > > I'd like to advance, one way or another on this topic. > > With the latest revision working on gerrit, I'm curious whether it would be > preferable > to pass directly the library, if needed. > > That is, instead of 'DLOPEN_NEEDS_LIBDL' being '' or 'TRUE', something like > 'DLOPEN_LIBS' being either '' or '-ldl'. > > Then the usages would look like: >> $(eval $(call gb_Library_add_libs,sofficeapp,\ >> -$(if $(filter $(OS),LINUX), \ >> --ldl \ >> +$(if $(filter LINUX %BSD SOLARIS, $(OS)), \ >> +$(DLOPEN_LIBS) \ yeah.. but then it does not need to be in a $(if does it ? Norbert ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: OS checks with configuration time DLOPEN_NEEDS_LIBDL
On Tue, Oct 20, 2015 at 1:39 AM, Richard PALOwrote: > Le 20/10/15 08:37, Norbert Thiebaud a écrit : >> On Tue, Oct 20, 2015 at 1:11 AM, Richard PALO wrote: >>> Le 19/10/15 15:40, Norbert Thiebaud a écrit : On Mon, Oct 19, 2015 at 3:13 AM, Richard PALO wrote: > Le 19/10/15 06:37, Norbert Thiebaud a écrit : >> >> On Sun, Oct 18, 2015 at 10:54 PM, Richard PALO >> wrote: >>> >>> >>> I'd like to advance, one way or another on this topic. >> >>> >>> With the latest revision working on gerrit, I'm curious whether it would be >>> preferable >>> to pass directly the library, if needed. >>> >>> That is, instead of 'DLOPEN_NEEDS_LIBDL' being '' or 'TRUE', something like >>> 'DLOPEN_LIBS' being either '' or '-ldl'. >>> >>> Then the usages would look like: $(eval $(call gb_Library_add_libs,sofficeapp,\ -$(if $(filter $(OS),LINUX), \ --ldl \ +$(if $(filter LINUX %BSD SOLARIS, $(OS)), \ +$(DLOPEN_LIBS) \ >> >> yeah.. but then it does not need to be in a $(if does it ? >> >> Norbert >> >> > > I believe, then, we would need to tackle '-lpthread' at the same time. > Perhaps it is worth it? not at the same time.. it is best to keep patch contained.. and no you do not have to.. you can just move DLOPEN_LIBS one line up, outside of the $(if$(filter for now... Norbert ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: OS checks with configuration time DLOPEN_NEEDS_LIBDL
Le 19/10/15 15:40, Norbert Thiebaud a écrit : > On Mon, Oct 19, 2015 at 3:13 AM, Richard PALOwrote: >> Le 19/10/15 06:37, Norbert Thiebaud a écrit : >>> >>> On Sun, Oct 18, 2015 at 10:54 PM, Richard PALO wrote: I'd like to advance, one way or another on this topic. >>> With the latest revision working on gerrit, I'm curious whether it would be preferable to pass directly the library, if needed. That is, instead of 'DLOPEN_NEEDS_LIBDL' being '' or 'TRUE', something like 'DLOPEN_LIBS' being either '' or '-ldl'. Then the usages would look like: > $(eval $(call gb_Library_add_libs,sofficeapp,\ > -$(if $(filter $(OS),LINUX), \ > --ldl \ > +$(if $(filter LINUX %BSD SOLARIS, $(OS)), \ > +$(DLOPEN_LIBS) \ > -lpthread \ > ) \ instead of > $(eval $(call gb_Library_add_libs,sofficeapp,\ > -$(if $(filter $(OS),LINUX), \ > --ldl \ > +$(if $(filter LINUX %BSD SOLARIS, $(OS)), \ > +$(if $(DLOPEN_NEEDS_LIBDL), -ldl) \ > -lpthread \ > ) \ much simpler and a bit more like some other prerequisite library needs. -- Richard PALO ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: OS checks with configuration time DLOPEN_NEEDS_LIBDL
> Change subject: Add DLOPEN_LIBS to configure for some cases where -ldl is > needed use std::sqrt in vcldemo.cxx > .. > > > Patch Set 9: Verified+1 > > Build Successful > > http://ci.libreoffice.org/job/lo_gerrit_master/7482/ : SUCCESS > -- Richard PALO ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: OS checks with configuration time DLOPEN_NEEDS_LIBDL
Le 20/10/15 08:37, Norbert Thiebaud a écrit : > On Tue, Oct 20, 2015 at 1:11 AM, Richard PALOwrote: >> Le 19/10/15 15:40, Norbert Thiebaud a écrit : >>> On Mon, Oct 19, 2015 at 3:13 AM, Richard PALO wrote: Le 19/10/15 06:37, Norbert Thiebaud a écrit : > > On Sun, Oct 18, 2015 at 10:54 PM, Richard PALO wrote: >> >> >> I'd like to advance, one way or another on this topic. > >> >> With the latest revision working on gerrit, I'm curious whether it would be >> preferable >> to pass directly the library, if needed. >> >> That is, instead of 'DLOPEN_NEEDS_LIBDL' being '' or 'TRUE', something like >> 'DLOPEN_LIBS' being either '' or '-ldl'. >> >> Then the usages would look like: >>> $(eval $(call gb_Library_add_libs,sofficeapp,\ >>> -$(if $(filter $(OS),LINUX), \ >>> --ldl \ >>> +$(if $(filter LINUX %BSD SOLARIS, $(OS)), \ >>> +$(DLOPEN_LIBS) \ > > yeah.. but then it does not need to be in a $(if does it ? > > Norbert > > I believe, then, we would need to tackle '-lpthread' at the same time. Perhaps it is worth it? -- Richard PALO ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: OS checks with configuration time DLOPEN_NEEDS_LIBDL
On Mon, Oct 19, 2015 at 3:13 AM, Richard PALOwrote: > Le 19/10/15 06:37, Norbert Thiebaud a écrit : >> >> On Sun, Oct 18, 2015 at 10:54 PM, Richard PALO wrote: >>> >>> >>> I'd like to advance, one way or another on this topic. >> >> >> Sure, but the patch still need to not break Windows. >> > > The updated patchset seems to pass okay, in any event configure sets the > correct value. > > It appears to be an unrelated problem causing the latest windows failure: >> >> # tarball names >> # does use some of the variables defined above >> include >> C:/cygwin/home/tdf/lode/jenkins/workspace/lo_gerrit_master/Gerrit/Gerrit/Platform/Windows/download.lst >> jenkins_build_client make >> /home/tdf/lode/bin/jenkins_build_client: connect: Connection refused >> /home/tdf/lode/bin/jenkins_build_client: line 2: /dev/tcp/localhost/2628: Yeah that is a infra problem.. I've kick the slave-box in question.. and I'll relauch the build. Norbert ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: OS checks with configuration time DLOPEN_NEEDS_LIBDL
Le 30/09/15 16:38, Richard PALO a écrit : > Le 22/09/15 18:51, Norbert Thiebaud a écrit : >> On Tue, Sep 22, 2015 at 6:31 AM, Richard PALOwrote: >>> Since GUIBASE was replaced with the equivalent OS checks, there seems >>> to be a bit of abandon in keeping multiple OSes up to snuff. >>> >>> in https://gerrit.libreoffice.org/#/c/18591/ I took our base in pkgsrc and >>> given the biggest difference in unix systems is the need for -ldl or not >>> for dlopen, >>> >>> I added a configuration check for DLOPEN_NEEDS_LIBDL and updated a number >>> of the existing >>> OS checks to check simultaneously for, among others, %BSD and SOLARIS in >>> addition to LINUX. >>> >>> It would be nice to get some review on this approach. >> >> Jenkins got us a first review. the patch break on windows because it seems >> that >> AC_SEARCH_LIBS([dlopen], >> trigger a search of gcc... >> >> is there any chance that is relevant for windows ? if not the 'if >> test' that out of configure ofr cygwin case (and prolly for macosx >> case as at bes it will work , but it can pick up accidentally some >> crap if the mac has some extra stuff installed) >> >> that being said couldn't this be done without putting all that logic >> in the 'client' makefile. >> >> and just have $(if $(DLOPEN_NEEDS_LIBDL), -ldl) logic in gbuild and >> define a gb_LIBDL defined to -ldl or empty (most likely in >> RepositoryExternal.mk or in platform/* not sure on top of my head >> which is the cleanest. >> >> and then have for example >> >> $(eval $(call gb_Executable_add_libs,gengal,\ >> $(gb_LIBDL) \ >> -lpthread \ >> >> (and yes that could be extended to the few place that do the same kind >> of exercise with lpthread... and there is maybe an even better way but >> one step at the time...) >> >> >> also you may want to split the part of the patch that touch >> Repositoty.mk as that seems somewhat orthogonal with the -ldl stuff >> >> Norbert > > Well, personally I'm of the opinion that configure is the typical place for > this type > of check, in order to leave more pertinent things in platform... > > I added an `if test $_OS != "WINNT"` guard, I believe that should be ok. > As far as -lpthread, I guess I agree... I can add that to this now as well, > or it could be a follow up patch. > > gerrit updated, if it's possible to launch a jenkins run. > I'd like to advance, one way or another on this topic. I can add an addition guard to avoid MACOSX if need be but I doubt the use of a non-configuration parameter buried in platform settings. It would be a pity to leave things as they are as most BSD and SunOS currently need to seriously patch things in their ports. -- Richard PALO ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: OS checks with configuration time DLOPEN_NEEDS_LIBDL
On Sun, Oct 18, 2015 at 10:54 PM, Richard PALOwrote: > > I'd like to advance, one way or another on this topic. Sure, but the patch still need to not break Windows. Norbert ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: OS checks with configuration time DLOPEN_NEEDS_LIBDL
Le 22/09/15 18:51, Norbert Thiebaud a écrit : > On Tue, Sep 22, 2015 at 6:31 AM, Richard PALOwrote: >> Since GUIBASE was replaced with the equivalent OS checks, there seems >> to be a bit of abandon in keeping multiple OSes up to snuff. >> >> in https://gerrit.libreoffice.org/#/c/18591/ I took our base in pkgsrc and >> given the biggest difference in unix systems is the need for -ldl or not for >> dlopen, >> >> I added a configuration check for DLOPEN_NEEDS_LIBDL and updated a number of >> the existing >> OS checks to check simultaneously for, among others, %BSD and SOLARIS in >> addition to LINUX. >> >> It would be nice to get some review on this approach. > > Jenkins got us a first review. the patch break on windows because it seems > that > AC_SEARCH_LIBS([dlopen], > trigger a search of gcc... > > is there any chance that is relevant for windows ? if not the 'if > test' that out of configure ofr cygwin case (and prolly for macosx > case as at bes it will work , but it can pick up accidentally some > crap if the mac has some extra stuff installed) > > that being said couldn't this be done without putting all that logic > in the 'client' makefile. > > and just have $(if $(DLOPEN_NEEDS_LIBDL), -ldl) logic in gbuild and > define a gb_LIBDL defined to -ldl or empty (most likely in > RepositoryExternal.mk or in platform/* not sure on top of my head > which is the cleanest. > > and then have for example > > $(eval $(call gb_Executable_add_libs,gengal,\ > $(gb_LIBDL) \ > -lpthread \ > > (and yes that could be extended to the few place that do the same kind > of exercise with lpthread... and there is maybe an even better way but > one step at the time...) > > > also you may want to split the part of the patch that touch > Repositoty.mk as that seems somewhat orthogonal with the -ldl stuff > > Norbert Well, personally I'm of the opinion that configure is the typical place for this type of check, in order to leave more pertinent things in platform... I added an `if test $_OS != "WINNT"` guard, I believe that should be ok. As far as -lpthread, I guess I agree... I can add that to this now as well, or it could be a follow up patch. gerrit updated, if it's possible to launch a jenkins run. Also, I wonder if it is worthwhile to already fix all (or most of) the cases : > richard@omnis:/home/richard/src/libreoffice$ git grep -w '\-ldl\>' -- '*.mk' > |grep -v DLOPEN_NEED > bridges/Library_cpp_uno.mk: -ldl \ > chart2/Library_chartcore.mk: -ldl \ > chart2/Library_chartopengl.mk:-ldl \ > clew/Library_clew.mk: -ldl \ > connectivity/Library_postgresql-sdbc-impl.mk: $(if $(filter-out > MACOSX,$(OS)),-ldl) \ > extensions/Executable_pluginapp.bin.mk: -ldl \ > extensions/Executable_pluginapp.bin.mk: -ldl \ > extensions/Library_scn.mk:-ldl \ > external/clucene/Library_clucene.mk: -ldl \ > external/libxslt/ExternalProject_xslt.mk: $(if > $(SYSBASE),$(if $(filter SOLARIS LINUX,$(OS)),-L$(SYSBASE)/lib > -L$(SYSBASE)/usr/lib -lpthread -ldl))" \ > external/mysqlcppconn/Library_mysqlcppconn.mk:$(if $(filter-out > MACOSX,$(OS)),-ldl) \ > external/neon/Library_neon.mk:-ldl \ > external/redland/ExternalProject_raptor.mk: $(if > $(SYSBASE),$(if $(filter LINUX SOLARIS,$(OS)),-L$(SYSBASE)/lib > -L$(SYSBASE)/usr/lib -lpthread -ldl))" \ > external/redland/ExternalProject_rasqal.mk: $(if > $(SYSBASE),$(if $(filter LINUX SOLARIS,$(OS)),-L$(SYSBASE)/lib > -L$(SYSBASE)/usr/lib -lpthread -ldl))" \ > external/redland/ExternalProject_redland.mk: $(if > $(SYSBASE),$(if $(filter LINUX SOLARIS,$(OS)),-L$(SYSBASE)/lib > -L$(SYSBASE)/usr/lib -lpthread -ldl))" \ > libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk:-ldl \ > odk/Executable_unoapploader.mk:$(if $(filter-out FREEBSD NETBSD > DRAGONFLY,$(OS)),-ldl) \ > pyuno/Library_pyuno_wrapper.mk: -ldl \ > sal/Library_sal.mk: -ldl \ > setup_native/Library_getuid.mk: -ldl \ > smoketest/Executable_libtest.mk: -ldl \ > ucb/Library_ucpdav1.mk: -ldl \ > vcl/Executable_xid_fullscreen_on_all_monitors.mk:-ldl \ > vcl/Library_vclplug_gen.mk: -ldl \ > vcl/Library_vclplug_gtk.mk: -ldl \ > vcl/Library_vclplug_gtk3.mk: -ldl \ > vcl/Library_vclplug_kde4.mk: -ldl \ > vcl/Library_vclplug_tde.mk: -ldl \ > vcl/StaticLibrary_glxtest.mk: -ldl \ > xmlsecurity/Library_xsec_xmlsec.mk: -ldl \ -- Richard PALO ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: OS checks with configuration time DLOPEN_NEEDS_LIBDL
On Tue, Sep 22, 2015 at 6:31 AM, Richard PALOwrote: > Since GUIBASE was replaced with the equivalent OS checks, there seems > to be a bit of abandon in keeping multiple OSes up to snuff. > > in https://gerrit.libreoffice.org/#/c/18591/ I took our base in pkgsrc and > given the biggest difference in unix systems is the need for -ldl or not for > dlopen, > > I added a configuration check for DLOPEN_NEEDS_LIBDL and updated a number of > the existing > OS checks to check simultaneously for, among others, %BSD and SOLARIS in > addition to LINUX. > > It would be nice to get some review on this approach. Jenkins got us a first review. the patch break on windows because it seems that AC_SEARCH_LIBS([dlopen], trigger a search of gcc... is there any chance that is relevant for windows ? if not the 'if test' that out of configure ofr cygwin case (and prolly for macosx case as at bes it will work , but it can pick up accidentally some crap if the mac has some extra stuff installed) that being said couldn't this be done without putting all that logic in the 'client' makefile. and just have $(if $(DLOPEN_NEEDS_LIBDL), -ldl) logic in gbuild and define a gb_LIBDL defined to -ldl or empty (most likely in RepositoryExternal.mk or in platform/* not sure on top of my head which is the cleanest. and then have for example $(eval $(call gb_Executable_add_libs,gengal,\ $(gb_LIBDL) \ -lpthread \ (and yes that could be extended to the few place that do the same kind of exercise with lpthread... and there is maybe an even better way but one step at the time...) also you may want to split the part of the patch that touch Repositoty.mk as that seems somewhat orthogonal with the -ldl stuff Norbert ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
OS checks with configuration time DLOPEN_NEEDS_LIBDL
Since GUIBASE was replaced with the equivalent OS checks, there seems to be a bit of abandon in keeping multiple OSes up to snuff. in https://gerrit.libreoffice.org/#/c/18591/ I took our base in pkgsrc and given the biggest difference in unix systems is the need for -ldl or not for dlopen, I added a configuration check for DLOPEN_NEEDS_LIBDL and updated a number of the existing OS checks to check simultaneously for, among others, %BSD and SOLARIS in addition to LINUX. It would be nice to get some review on this approach. -- Richard PALO ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice