Project

General

Profile

Bug #24827

Prof distribution of root v6_20_06 is actually debug

Added by Rob Kutschke 3 months ago. Updated 3 months ago.

Status:
Closed
Priority:
Normal
Target version:
-
Start date:
08/20/2020
Due date:
% Done:

100%

Estimated time:
Spent time:
Duration:

Description

Based on file sizes, the output of nm and measured execution speed we believe that:

root v6_20_06 -f Linux64bit+3.10-2.17 -q e19:p383b:prof -z /cvmfs/mu2e.opensciencegrid.org/artexternals

is actually built with debug although it is labelled prof. This build was downloaded from scisoft. This is the version of root that comes with art v3_06_02.

Please rebuild that version of root with prof flags and advise when it is available for download.

Please also audit the packages in the mu distribution of art v3_06_02 to see if the error occurs elsewhere.

We have seen this error occur before - I think last time it was Geant4. Please consider ways to prevent this from happening in the future or, if that proves too difficult, to catch it prior to publishing the distribution; this request applies to all packages in the distribution, not just root and G4.

History

#1 Updated by Kyle Knoepfel 3 months ago

Chris, do we use the -frecord-gcc-switches flag (and its Clang equivalent) when building? Doing so would allow us to trivially inspect how a binary was built:

$ readelf -p .GCC.command.line art/lib/libart_Framework_Principal.so | grep '\-O'
  [   a66]  -O0

It increases each library size by ~10K.

#2 Updated by Kyle Knoepfel 3 months ago

  • Assignee set to Christopher Green
  • Status changed from New to Assigned

#3 Updated by Christopher Green 3 months ago

  • Category set to Third Party

A script error introduced into the build script resulted in CMAKE_BUILD_TYPE not being set on any of the builds of ROOT v6_20_06. The problem has been found and fixed, and a new version of ROOT will be built for art 3.06.02.

Per Kyle's question: we do not compile with -frecord-gcc-switches, but it is worth noting that -grecord-gcc-switches is on by default if -g is used at all, whose output may be read on Linux with (e.g.):

readelf -wi libCore.so | sed -Ene 's&^.*\bDW_AT_producer.*: &&p' | sort -u
One can refine the text manipulation if one needs to isolate particular options such as -O. In the case at hand, the lack of output of the above command when applied to our builds of ROOT v6_20_06 are proof enough that something is wrong with them.

#4 Updated by Kyle Knoepfel 3 months ago

  • % Done changed from 0 to 100
  • Status changed from Assigned to Resolved
  • Category deleted (Third Party)
  • Project changed from art to art_root_io

#5 Updated by Kyle Knoepfel 3 months ago

  • Scope deleted (Internal)
  • Project changed from art_root_io to canvas_root_io
  • Experiment deleted (Mu2e)

#6 Updated by Christopher Green 3 months ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF