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