Closed
Bug 1240313
Opened 10 years ago
Closed 8 years ago
building with linux64-cc on try results in a compiler error
Categories
(Testing :: Code Coverage, defect)
Testing
Code Coverage
Tracking
(Not tracked)
RESOLVED
WORKSFORME
People
(Reporter: jmaher, Unassigned)
Details
(Whiteboard: [ucosp_codecoverage])
https://treeherder.mozilla.org/#/jobs?repo=try&revision=7a815fe103a1&selectedJob=15542084:
-lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
12:42:56 INFO - Executing: python2.7 ../../../../sccache/sccache.py ../../../../gcc/bin/g++ -o screentopng -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wtype-limits -Wunreachable-code -Wcast-align -Wno-invalid-offsetof -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -fprofile-arcs -ftest-coverage -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -D_GLIBCXX_USE_CXX11_ABI=0 -pipe -g -freorder-blocks -Os -fno-omit-frame-pointer -Werror /builds/slave/try-l64-cc-0000000000000000000/build/src/obj-firefox/testing/tools/screenshot/tmpLT5xzZ.list -lpthread -fprofile-arcs -ftest-coverage -lgcov -Wl,-z,noexecstack -Wl,-z,text -Wl,--build-id -L/usr/lib64 -Wl,-rpath-link,/builds/slave/try-l64-cc-0000000000000000000/build/src/obj-firefox/dist/bin -Wl,-rpath-link,/usr/local/lib -ldl -L/builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/obj-firefox/testing/tools/screenshot/tmpLT5xzZ.list:
12:42:56 INFO - INPUT("gdk-screenshot.o")
12:42:56 INFO - INPUT("../../../build/unix/stdc++compat/stdc++compat.o")
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib/libgtk-3.so: undefined reference to `g_action_group_action_added'
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib/libgtk-3.so: undefined reference to `cairo_region_intersect'
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib/libgtk-3.so: undefined reference to `g_settings_get_boolean'
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib/libgtk-3.so: undefined reference to `g_source_get_time'
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib/libgtk-3.so: undefined reference to `g_bus_get_sync'
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib/libgtk-3.so: undefined reference to `g_dbus_proxy_new_finish'
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib/libgtk-3.so: undefined reference to `g_variant_type_string_is_valid'
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib/libgtk-3.so: undefined reference to `g_action_group_action_removed'
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib/libgtk-3.so: undefined reference to `cairo_region_translate'
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib/libgtk-3.so: undefined reference to `g_menu_model_iterate_item_links'
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib/libgtk-3.so: undefined reference to `g_private_set'
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib/libgtk-3.so: undefined reference to `g_resources_register'
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib/libgtk-3.so: undefined reference to `g_variant_iter_init'
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib/libgtk-3.so: undefined reference to `g_settings_set'
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib/libgtk-3.so: undefined reference to `g_app_info_get_recommended_for_type'
12:42:56 INFO - /builds/slave/try-l64-cc-0000000000000000000/build/src/gtk3/usr/local/lib/libgtk-3.so: undefined reference to `g_menu_model_get_item_link'
...
looks as though we have a link error with gtk libraries. I assume the only different from a regular linux64 build is the -ftest-coverage and -lgcov.
I would like to:
* confirm the exact compiler line which works for a regular linux64 opt build
* figure out if we need the screenshot tool for code coverage builds
* determine if there is another library to install
* this is probably relate to gtk3- that might be a hint
This may be relevant:
http://stackoverflow.com/questions/566472/where-are-the-gcov-symbols
| Reporter | ||
Comment 2•10 years ago
|
||
I am trying to figure out how to build with code coverage locally, and it isn't obvious.
:ahal, are there flags or build targets that |mach| could use to do a code coverage build?
Flags: needinfo?(ahalberstadt)
Comment 3•10 years ago
|
||
Yeah, you'll want these flags in your mozconfig:
https://dxr.mozilla.org/mozilla-central/source/browser/config/mozconfigs/linux64/code-coverage
I tried really hard to put that behind a convenient --enable-code-coverage flag in bug 1054275 but couldn't figure out how to get it working. Probably need a build system guru to look at it.
Flags: needinfo?(ahalberstadt)
| Reporter | ||
Comment 4•10 years ago
|
||
as a note, we need to have:
----------------------------------------------
cat mozconfig
MOZ_CODE_COVERAGE=1
export CFLAGS="-fprofile-arcs -ftest-coverage"
export CXXFLAGS="-fprofile-arcs -ftest-coverage"
export LDFLAGS="-fprofile-arcs -ftest-coverage -lgcov"
----------------------------------------------
then after a |mach build|
you can run the browser, but need:
export GCOV_PREFIX=<dir>
./objdir/dist/bin/firefox
<do stuff, close browser>
ls <dir>
and you will see a bunch of directories with .gcda files.
I am trying to figure out which mozconfig options are needed for reproducing the problem we see in try/automation.
| Reporter | ||
Comment 5•10 years ago
|
||
one thought I had here is that our compilers and toolchains are different locally vs in production. How could we determine that and figure out if it is the cause?
Comment 6•8 years ago
|
||
We now have a linux64-ccov build, scheduled to run for every mozilla-central push, which is also easy to build locally.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•