From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4F314FBE.1090209@domain.hid> Date: Tue, 07 Feb 2012 17:22:22 +0100 From: Jan Kiszka MIME-Version: 1.0 References: <4F294E43.7060102@domain.hid> <4F2957A0.6040806@domain.hid> <4F29597F.8050500@domain.hid> <4F295C71.6090503@domain.hid> <4F295F39.7080003@domain.hid> <4F299EB7.604@domain.hid> <4F314F18.6020908@domain.hid> In-Reply-To: <4F314F18.6020908@domain.hid> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Xenomai-core] Built-in libxenomai dependency List-Id: Xenomai life and development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gilles Chanteperdrix Cc: xenomai-core On 2012-02-07 17:19, Gilles Chanteperdrix wrote: > On 02/01/2012 09:21 PM, Gilles Chanteperdrix wrote: >> On 02/01/2012 04:50 PM, Jan Kiszka wrote: >>> On 2012-02-01 16:38, Gilles Chanteperdrix wrote: >>>> On 02/01/2012 04:25 PM, Jan Kiszka wrote: >>>>> On 2012-02-01 16:17, Gilles Chanteperdrix wrote: >>>>>> On 02/01/2012 03:37 PM, Jan Kiszka wrote: >>>>>>> Hi, >>>>>>> >>>>>>> don't remember anymore: Is there any subtle reason that prevent a >>>>>>> change like >>>>>>> >>>>>>> diff --git a/src/skins/native/Makefile.am b/src/skins/native/Makefile.am >>>>>>> index 39eaaed..4cc8859 100644 >>>>>>> --- a/src/skins/native/Makefile.am >>>>>>> +++ b/src/skins/native/Makefile.am >>>>>>> @@ -22,6 +22,9 @@ libnative_la_SOURCES = \ >>>>>>> wrappers.c \ >>>>>>> wrappers.h >>>>>>> >>>>>>> +libnative_la_LIBADD = \ >>>>>>> + ../common/libxenomai.la >>>>>>> + >>>>>>> libnative_la_CPPFLAGS = \ >>>>>>> @XENO_USER_CFLAGS@ \ >>>>>>> -I$(top_srcdir)/include >>>>>>> diff --git a/src/skins/rtdm/Makefile.am b/src/skins/rtdm/Makefile.am >>>>>>> index 8ad74be..2dc0a90 100644 >>>>>>> --- a/src/skins/rtdm/Makefile.am >>>>>>> +++ b/src/skins/rtdm/Makefile.am >>>>>>> @@ -8,6 +8,9 @@ librtdm_la_SOURCES = \ >>>>>>> core.c \ >>>>>>> init.c >>>>>>> >>>>>>> +librtdm_la_LIBADD = \ >>>>>>> + ../common/libxenomai.la >>>>>>> + >>>>>>> librtdm_la_CPPFLAGS = \ >>>>>>> @XENO_USER_CFLAGS@ \ >>>>>>> -I$(top_srcdir)/include >>>>>>> diff --git a/src/testsuite/latency/Makefile.am b/src/testsuite/latency/Makefile.am >>>>>>> index c772c26..6534df5 100644 >>>>>>> --- a/src/testsuite/latency/Makefile.am >>>>>>> +++ b/src/testsuite/latency/Makefile.am >>>>>>> @@ -14,5 +14,4 @@ latency_LDFLAGS = @XENO_USER_LDFLAGS@ >>>>>>> latency_LDADD = \ >>>>>>> ../../skins/native/libnative.la \ >>>>>>> ../../skins/rtdm/librtdm.la \ >>>>>>> - ../../skins/common/libxenomai.la \ >>>>>>> -lpthread -lm >>>>>>> >>>>>>> i.e. that we let the skin libraries depend on libxenomai and then remove >>>>>>> the explicit dependency from our binaries and the xeno-config output? >>>>>>> Is there some ordering issue again (we have -l before -lxenomai >>>>>>> in the ldflags). >>>>>>> >>>>>>> If possible, this would allow for things like dlopen("libnative.so"). >>>>>> >>>>>> It allows xeno-config result to work both with dynamic and static >>>>>> libraries. Static libraries have no dependency system, so, when linking >>>>>> a program whith libnative.a for instance, without libtool, you still >>>>>> have to link it with libxenomai.a. >>>>> >>>>> OK, part two could stay, but the dependencies should still be added to >>>>> the skin libs - if possible. >>>>> >>>>>> >>>>>> How come you can not dlopen libnative.so, dlopening libxenomai.so before >>>>>> does not work? >>>>> >>>>> Dependencies of libnative on libxenomai are not resolved when you open >>>>> the former even if the latter is already loaded. Maybe you can do this >>>>> by pulling in all required symbols one by one manually, haven't tried >>>>> yet. But that would at least be unhandy. >>>> >>>> What about RTLD_GLOBAL ? >>>> >>> >>> Was possibly the reason, need to check back. >>> >>> Still, what prevents stating the existing dependency of lib on >>> libxenomai? The dance above would than be obsolete. >> >> The change is merged. I took the chance to check that static build still >> built. >> > > Unfortunately this change also causes a build failure when > cross-compiling for ARM, so, change reverted, too. > Indeed unfortunate. Any pointers to logs? Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux