[lttng-dev] sessiond and consumerd for 32 and 64 bit apps

Anand Neeli anand.neeli at gmail.com
Wed Oct 8 16:19:02 EDT 2014


Daniel,
Thanks for your reply.

Cant the consumerd32-libdiror or consumerd32-bindir be given at run time by
using onsumerd32-path, consumerd32-libdir or by setting env variables
LTTNG_CONSUMERD32_LIBDIR and LTTNG_CONSUMERD32_BIN (similarly for 64-bit)

Can it be changed at compile time?

Thanks,
Anand Neeli

On Wed, Oct 8, 2014 at 8:36 PM, Thibault, Daniel <
Daniel.Thibault at drdc-rddc.gc.ca> wrote:

>   > Yes the problem looks to be with relay daemon. Tracing for 32-bit and
> 64-bit works fine when written to local storage.
>
> > Is there any known issue for this? or is there any work around for this.
>
> > I will update this thread with logs of relayd with -vvv option.
>
> >
>
> > Anand Neeli
>
>
>
>    I’ve just tested my 32+64-bit LTTng 2.3.0 installation with the relay
> daemon and it works fine:
>
>
>
> $ sudo lttng create testing -U net://localhost
>
> $ sudo lttng enable-channel mychannel --userspace --buffers-pid
> --tracefile-size 8388608 --tracefile-count 8
>
> $ sudo lttng enable-event --channel mychannel --userspace --all
>
> $ sudo lttng start
>
> $ cd
> ~/Documents/lttng-ust-2.3.0-1-32bits/usr/src/lttng-ust-2.3.0/doc/examples/drdc
>
> $ ./sample_static
>
> $ LD_PRELOAD=/usr/local/lib32/liblttng-ust.so ./sample_static32
>
> $ sudo lttng destroy
>
> $ sudo ls ~/lttng-traces/$HOSTNAME
>
> testing-20141008-095516
>
>
>
>    (The LD_PRELOAD can be omitted if the sample_static32 is compiled with
> the ‘-Wl,-rpath,'/usr/local/lib32',--enable-new-dtags’ linker flags)
>
>
>
>    The trace consists of the two folder sets
> ust/pid/sample_static32-13703-20141008-102156 and
> ust/pid/sample_static-13676-20141008-101417.
>
>
>
>    Here’s how this was built (I chose to put my 32-bit libraries in
> /usr/local/lib32):
>
>
>
> userspace-rcu-0.8.0-1.deb was deployed to
> ~/Documents/userspace-rcu-0.8.0-1-32bits
>
>
>
> In the usr/src/userspace-rcu-0.8.0 subdirectory:
>
>
>
> $ ./bootstrap
>
> $ ./configure --libdir=/usr/local/lib32 CFLAGS=-m32
>
> $ make
>
> $ sudo make install
>
> $ sudo ldconfig
>
>
>
> lttng-ust-2.3.0-1.deb was deployed to ~/Documents/lttng-ust-2.3.0-1-32bits
>
>
>
> In the usr/src/lttng-ust-2.3.0 subdirectory:
>
>
>
> $ ./bootstrap
>
> $ ./configure --libdir=/usr/local/lib32 CFLAGS=-m32 \
>
>    LDFLAGS=-L/usr/local/lib32
>
> $ make
>
> $ sudo make install
>
> $ sudo ldconfig
>
>
>
> LDFLAGS allows the build to find the 32-bit userspace-rcu libraries it
> requires.
>
>
>
> lttng-tools-2.3.0-1.deb was deployed to
> ~/Documents/lttng-tools-2.3.0-1-32bits
>
>
>
> In the usr/src/lttng-tools-2.3.0 subdirectory:
>
>
>
> $ ./bootstrap
>
> $ ./configure --libdir=/usr/local/lib32 CFLAGS=-m32 \
>
>    LDFLAGS=-L/usr/local/lib32 --bindir=/usr/local/bin32 \
>
>    --with-consumerd-only \
>
>    --with-consumerd64-libdir=/usr/local/lib \
>
>    --with-consumerd64-bin=/usr/local/lib/lttng/libexec/lttng-consumerd
>
> $ make
>
> $ sudo make install
>
> $ sudo ldconfig
>
>
>
> The bindir option isn’t actually used by the compilation and is indicated
> here just for completeness.  The with-consumerd64-bin and
> with-consumerd64-libdir options ensure the 32-bit lttng-tools components
> find the 64-bit consumer daemon.  Normally, the with-consumerd-only make
> fails because it tries to make too many tests; this was fixed by editing
> the Makefile and removing the tests sub-directory from the SUBDIRS variable
> (line 305) before running configure.  The suppressed tests are not required
> in order to have a functioning 32-bit LTTng toolchain.
>
>
>
> Finally, the 64-bit lttng-tools are redone to hook in the 32-bit
> lttng-consumerd.
>
>
>
> lttng-tools-2.3.0-1.deb was deployed to
> ~/Documents/lttng-tools-2.3.0-1-64bits
>
>
>
> In the usr/src/lttng-tools-2.3.0 subdirectory:
>
>
>
> $ ./bootstrap
>
> $ ./configure LDFLAGS=-L/usr/local/lib \
>
>    --with-consumerd32-libdir=/usr/local/lib32 \
>
>    --with-consumerd32-bin=/usr/local/lib32/lttng/libexec/lttng-consumerd
>
> $ make
>
> $ sudo make install
>
> $ sudo ldconfig
>
>
>
> This way, the lttng-sessiond and lttng-relayd daemons will automatically
> find and use the 32-bit lttng-consumerd if required.  No special flags need
> to be added when controlling the daemons.
>
>
> Daniel U. Thibault
> Protection des systèmes et contremesures (PSC) | Systems Protection &
> Countermeasures (SPC)
> Cyber sécurité pour les missions essentielles (CME) | Mission Critical
> Cyber Security (MCCS)
> RDDC - Centre de recherches de Valcartier | DRDC - Valcartier Research
> Centre
> 2459 route de la Bravoure
> Québec QC  G3J 1X5
> CANADA
> Vox : (418) 844-4000 x4245
> Fax : (418) 844-4538
> NAC : 918V QSDJ <http://www.travelgis.com/map.asp?addr=918V%20QSDJ
> <http://--ESFSECEV-TY3011-------------------------------->>
> Gouvernement du Canada | Government of Canada <
> http://www.valcartier.drdc-rddc.gc.ca/
> <http://--ESFSECEV-TY3011--------------------->>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lttng.org/pipermail/lttng-dev/attachments/20141009/f45dc2d0/attachment-0001.html>


More information about the lttng-dev mailing list