Wondering if I could get a little help.  I'd like to checkout and work with
the latest for the UB, but it's not a branch on git.linuxcnc.org.  Could
someone tell me how to access the latest source to test?


On Wed, Jan 22, 2014 at 10:24 AM, Sebastian Kuzminsky <s...@highlab.com>wrote:

> On 01/22/2014 12:14 AM, Michael Haberler wrote:
> >
> > Am 20.01.2014 um 15:53 schrieb Sebastian Kuzminsky <s...@highlab.com>:
> >
> >> On 01/20/2014 07:47 AM, Michael Haberler wrote:
> >>>
> >>> Am 20.01.2014 um 09:47 schrieb Sebastian Kuzminsky <s...@highlab.com>:
> >>>
> >>>> On 01/20/2014 01:23 AM, Michael Haberler wrote:
> >>>>>
> >>>>> Seb: can you see what chrpath -l says? this should give a clue:
> >>>>>
> >>>>> $ chrpath -l bin/halcmd
> >>>>> bin/halcmd: RPATH=/bighome/mah/emc2-rtos/lib
> >>>>
> >>>> Here's what i get on the rip build and the packaged version:
> >>>>
> >>>>> 1 02:45:52 seb@precise-rtai-x86 /home/seb/linuxcnc.git> chrpath
> /usr/bin/halcmd
> >>>>> /usr/bin/halcmd: no rpath or runpath tag found.
> >>>>> 2 02:45:55 seb@precise-rtai-x86 /home/seb/linuxcnc.git> chrpath -l
> bin/halcmd
> >>>>> bin/halcmd: RPATH=/home/seb/linuxcnc.git/lib
> >
> > The RIP runpaths are ok, the non-RIP ones are off insofar as none are
> set.
> >
> > looks like the cause is your commit 4b75c00e in src/Makefile:
> >
> > 6a0031c6      320     ifeq ($(RUN_IN_PLACE),yes)
> > ac9c1f70      321     LDFLAGS := -L$(LIB_DIR) -Wl,-rpath,$(LIB_DIR)
> > 7c64e012      322     else
> > 4b75c00e      323     LDFLAGS := -Wl,-rpath-link,../lib
> > 6a0031c6      324     endif
> >
> > The non-RIP LDFLAGS evidently need another -Wl,-rpath,$(<wherever
> linuxcnc libs eventually go>), in which case the rpath is set accordingly.
> Otherwise this will work only if the LD_LIBRARY_PATH happens to hit the
> right directories by accident, which might be why this worked so far.
>
> Before ubc, all .so files were installed in directories that are
> included in the standard search path:
>
> > 0 08:48:30 seb@precise-rtai-x86 /home/seb> dpkg -L linuxcnc | egrep
> '\.so'
> > /usr/lib/libcanterp.so.0
> > /usr/lib/libnml.so.0
> > /usr/lib/libposemath.so.0
> > /usr/lib/libpyplugin.so.0
> > /usr/lib/liblinuxcnchal.so.0
> > /usr/lib/liblinuxcncini.so.0
> > /usr/lib/tcltk/linuxcnc/linuxcnc.so
> > /usr/lib/tcltk/linuxcnc/hal.so
> > /usr/lib/pyshared/python2.7/_hal.so
> > /usr/lib/pyshared/python2.7/linuxcnc.so
> > /usr/lib/pyshared/python2.7/minigl.so
> > /usr/lib/pyshared/python2.7/_togl.so
> > /usr/lib/pyshared/python2.7/gcode.so
> > /usr/lib/librs274.so.0
> > 0 08:48:33 seb@precise-rtai-x86 /home/seb> dpkg -s linuxcnc | grep Vers
> > Version: 1:2.6.0~pre0.5134.g60f248b
>
> So I stand by that commit in our main line.
>
> However, in ubc new .so files get installed in application-specific
> places, so we need to deal with that somehow.  Either by setting the
> rpath, or by passing a path to dlopen, as appropriate.
>
> The posix flavor's rtapi_app_posix uses rpath to find the components:
>
> > 0 09:16:13 seb@precise-rtai-x86 /home/seb> dpkg -s linuxcnc-posix |
> grep Vers
> > Version: 1:2.6.0~pre~seb.ubc3.deb~07e9d60
> > 0 09:17:05 seb@precise-rtai-x86 /home/seb> dpkg -L linuxcnc-posix |
> grep rtapi_app
> > /usr/libexec/linuxcnc/rtapi_app_posix
> > 0 09:17:15 seb@precise-rtai-x86 /home/seb> chrpath
> /usr/libexec/linuxcnc/rtapi_app_posix
> > /usr/libexec/linuxcnc/rtapi_app_posix: RPATH=/usr/lib/linuxcnc/posix
> > 0 09:17:23 seb@precise-rtai-x86 /home/seb>
>
> I think either method is fine, i don't have a strong preference either way.
>
> I slightly prefer giving dlopen() a full path because it makes it clear
> when reading the code what's happening, whereas with the rpath method
> you have to decode our buildsystem to learn what's going on.
>
> I'm fine with dropping my commit "give dlopen the path to the ulapi
> library", and using rpath for that binary instead.
>
> Whatever is deemed more appropriate by y'all.
>
>
> > debian/configure -r still breaks with xenomai running, works with
> rt-preempt:
>
> Yeah, i have not made the xenomai flavor packages yet, because the
> xenomai kernel & dev packages are not available in the linuxcnc.org deb
> archive yet.  I've been using John Morris's excellent xenomai kernel
> builder system to recompile all the packages we need, i'll put them up
> when they're ready and add the xenomai flavor debs.
>
>
> --
> Sebastian Kuzminsky
>
>
> ------------------------------------------------------------------------------
> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> Learn Why More Businesses Are Choosing CenturyLink Cloud For
> Critical Workloads, Development Environments & Everything In Between.
> Get a Quote or Start a Free Trial Today.
>
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
> _______________________________________________
> Emc-developers mailing list
> Emc-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-developers
>
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to