[ltt-dev] building ust for android/arm

Mathieu Desnoyers compudj at krystal.dyndns.org
Wed Apr 20 16:39:50 EDT 2011


* Xing Fan (xing.fan0302 at googlemail.com) wrote:
> Thanks Mathieu for your quick answer.
> 
> I choose ust-0.6 to match my kernel version, according to the guide on
> lttng website.

That's my mistake. I forgot to update the "LTTng userspace tracer"
column in the compability list. I just updated it to add UST 0.7 to
0.12 as compatible with current kernels. Thanks for pointing it out. You
should really upgrade to 0.12 (and even 0.13 when it comes out in a few
days).

> I still think there is something wrong in my Android.mk file. If we read
> Makefile.am, it indicates to build a shared library called libust based on
> libust-initializer (I have treated this in my Android.mk). However, it seems
> Makefile does more than this. it builds/uses libust-initializer.o, I do not
> know how to put this in Android.mk file.
> 
> Anyone has any hint?

Sorry, I'm not familiar with the Android build infrastructure. Maybe
Karim might have some info here ? (see problem description below)

Thanks,

Mathieu

> 
> Thanks!
> 
> On Wed, Apr 20, 2011 at 8:12 PM, Mathieu Desnoyers <
> compudj at krystal.dyndns.org> wrote:
> 
> > * Xing Fan (xing.fan0302 at googlemail.com) wrote:
> > > I am building lttng ust-0.6 for android/Arm platform.
> > >
> > > However, I have problems to build libust.so. The error msg is:  make: ***
> > No
> > > rule to make target `build/core/libust-initializer.c', needed by
> > >
> > `out/target/product/u8500/obj/SHARED_LIBRARIES/libust_intermediates/libust-initializer.o'.
> > > Stop.
> > >
> > > It is very strange that the compiler tries to pick up
> > libust-initializer.c
> > > from build/core folder, even though I have specified that the source file
> > is
> > > in my LOCAL_PATH;
> > >
> > > Anyone has clue how to write a Android.mk for this?
> >
> > ARM support only came with UST 0.12 (see Changelog file in UST tree). I
> > recommend you try the new version and see if the problem is still there.
> >
> > Thanks,
> >
> > Mathieu
> >
> > >
> > > /Stella
> > >
> > >
> > >
> > > My Android.mk file looks like this:
> > > ===========================================================
> > > include $(call all-subdir-makefiles)
> > >
> > > LOCAL_PATH := $(call my-dir)
> > >
> > > include $(CLEAR_VARS)
> > > LOCAL_MODULE := libust
> > > LOCAL_SRC_FILES := libust-initializer.c
> > > LOCAL_C_INCLUDES += \
> > >         $(LOCAL_PATH) \
> > >         $(LOCAL_PATH)/include \
> > >         external/userspace-rcu-0.4.6
> > > include $(BUILD_SHARED_LIBRARY)
> > > ===============================================================
> > >
> > >
> > > The Makefile.am looks like this
> > > =========================================================================
> > >
> > > ACLOCAL_AMFLAGS = -I config
> > >
> > > # The order here is tricky. SUBDIRS applies both to compilation and
> > > # installation. Programs depending on the libs must be built after
> > > # libust and '.' (that contains the linker script). However, '.'
> > > # must be installed after libust so it can overwrite libust.so with
> > > # the linker script.
> > > SUBDIRS = snprintf libustcomm libust . tests libustinstr-malloc libustd
> > ustd
> > > ustctl libustfork include doc
> > >
> > > EXTRA_DIST = libust.ldscript.in libust-initializer.c
> > > dist_bin_SCRIPTS = usttrace
> > >
> > > ldscriptsdir = $(libdir)
> > > ldscripts_DATA = libust.so libust-initializer.o
> > >
> > > CLEANFILES = $(ldscripts_DATA) ./tests/libust-initializer.Po
> > >
> > > libust.so: libust.ldscript.in
> > >     $(SED) -e "s@\@FORMAT\@@$(LIBFORMAT)@" < $< > $@
> > >
> > > # It is very important to compile the initializer with PIC otherwise we
> > > # may get obscure errors when linking to shared libraries.
> > > libust-initializer.o: libust-initializer.c
> > >     $(CC) $(CFLAGS) -fno-strict-aliasing -fPIC -c -I$(top_srcdir)/include
> > -o
> > > $@ $<
> > > ===========================================================
> >
> > > _______________________________________________
> > > ltt-dev mailing list
> > > ltt-dev at lists.casi.polymtl.ca
> > > http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
> >
> >
> > --
> > Mathieu Desnoyers
> > Operating System Efficiency R&D Consultant
> > EfficiOS Inc.
> > http://www.efficios.com
> >
> > _______________________________________________
> > ltt-dev mailing list
> > ltt-dev at lists.casi.polymtl.ca
> > http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
> >

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com




More information about the lttng-dev mailing list