[lttng-dev] Debian specific userspace RCU configure override (ARMv7 Beagle Bone Black)

Thibault, Daniel Daniel.Thibault at drdc-rddc.gc.ca
Thu Jun 12 12:46:20 EDT 2014


----------------------------------------------------------------------
> Date: Thu, 12 Jun 2014 13:51:06 +0000
>   Progress on this front.  I did one thing: I edited userspace-rcu/urcu/arch/arm.h to comment 
>out the #ifdef CONFIG_RCU_ARM_HAVE_DMB defines so that userspace-rcu builds "dmb-less".  
>Once rebuilt and re-installed, I can then move on to try lttng-tools again, and this time it passes 
>the rculfhash.lo step.  It dies much later for a completely unrelated reason which I expect to fix 
>shortly.  At this point I also expect a rebuild of lttng-ust would succeed.

   Turns out this new make error is obscure (only 8 hits in Google, 3 of which are in Chinese).

make[5]: Entering directory '/usr/src/lttng-tools-2.3.0/src/lib/lttng-ctl/filter'
  LEX      filter-lexer.c
flex: fatal internal error, exec failed
make[5]: *** [filter-lexer.c] Error 141

   It turns out /usr/bin/flex is unusable on the BBB's Angstrom distribution!  It is only runnable in calls like 'flex --help' or 'flex --version'.  As soon as you try to process any .l file, it will choke with an error 141.  This is because /usr/bin/flex uses a hard-wired reference to the m4 executable where it lay on the machine where the Angstrom image was cross-compiled!  (Thanks to Rob Clark for finding this out, http://gstreamer-devel.966125.n4.nabble.com/Installation-error-td969071.html)  The ugly but simple fix is to create a symbolic link at the place flex looks for m4:

# mkdir -p /build/v2012.12/build/tmp-angstrom_v2012_12-eglibc/sysroots/x86_64-linux/usr/bin
# ln -s /usr/bin/m4 /build/v2012.12/build/tmp-angstrom_v2012_12-eglibc/sysroots/x86_64-linux/usr/bin/m4

   Equivalently, invocations of flex must be preceded by setting the environment variable M4 = /usr/bin/m4.  Which is what userspace-rcu must somehow do to actually install without tripping over this bug.

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>
Gouvernement du Canada | Government of Canada <http://www.valcartier.drdc-rddc.gc.ca/>



More information about the lttng-dev mailing list