Bug 7058 - ERROR: QA Issue: File xxx in package contained reference to tmpdir [buildpaths]
Summary: ERROR: QA Issue: File xxx in package contained reference to tmpdir [buildpaths]
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 1.8
Hardware: x86 Multiple
: Medium enhancement
Target Milestone: 2.2 M1
Assignee: Hongxu Jia
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks: 8446 8458 9169
  Show dependency tree
 
Reported: 2014-12-11 03:11 UTC by Wenzong.Fan
Modified: 2016-04-19 08:43 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Don't know


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wenzong.Fan 2014-12-11 03:11:58 UTC
echo 'ERROR_QA += "buildpaths"' >> conf/local.conf

bitbake -k world

We got lots errors about:

......
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-rdate/1.5-r0/packages-split/lib32-rdate/usr/bin/rdate in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/fetchmail/6.3.26-r0/packages-split/fetchmail/usr/bin/fetchmailconf in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/zeromq/4.0.4-r0/packages-split/zeromq-staticdev/usr/lib64/libzmq.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/zeromq/4.0.4-r0/packages-split/zeromq/usr/lib64/libzmq.so.3.1.0 in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/tokyocabinet/1.4.48-r0/packages-split/tokyocabinet-staticdev/usr/lib64/libtokyocabinet.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/eventlog/0.2.13-r0/packages-split/eventlog-staticdev/usr/lib64/libevtlog.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/eventlog/0.2.13-r0/packages-split/eventlog/usr/lib64/libevtlog.so.0.0.0 in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-sato-screenshot/0.1+gitAUTOINC+3a9688e8a0-r2/packages-split/lib32-sato-screenshot/usr/bin/screenshot in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-gtk+3/3.12.2-r0/packages-split/lib32-gtk+3-demo/usr/bin/gtk3-demo in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/python-gitdb/0.5.4-r0/packages-split/python-gitdb/usr/lib64/python2.7/site-packages/gitdb/db/git.pyc in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/harfbuzz/0.9.35-r0/packages-split/harfbuzz-bin/usr/bin/hb-view in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/harfbuzz/0.9.35-r0/packages-split/harfbuzz/usr/lib64/libharfbuzz.so.0.935.0 in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/lvm2/2.02.97-r4.0/packages-split/lvm2/usr/sbin/lvm in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-gtk+3/3.12.2-r0/packages-split/lib32-gtk+3/usr/bin/gtk-update-icon-cache-3.0 in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/sbc/1.2-r0/packages-split/sbc-staticdev/usr/lib64/libsbc.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/gconf/3.2.6-r0/packages-split/gconf-dbg/usr/src/debug/gconf/3.2.6-r0/build/gconf/gconfmarshal.c in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/gconf/3.2.6-r0/packages-split/gconf/usr/bin/gconf-merge-tree in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-gtk+3/3.12.2-r0/packages-split/lib32-gtk3-immodule-multipress/usr/lib/gtk-3.0/3.0.0/immodules/im-multipress.so in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-gtk+3/3.12.2-r0/packages-split/lib32-gtk3-immodule-xim/usr/lib/gtk-3.0/3.0.0/immodules/im-xim.so in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-gtk+3/3.12.2-r0/packages-split/lib32-gtk3-printbackend-file/usr/lib/gtk-3.0/3.0.0/printbackends/libprintbackend-file.so in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-libxxf86vm/1_1.1.3-r0/packages-split/lib32-libxxf86vm-staticdev/usr/lib/libXxf86vm.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-ssiapi/1.0.1-r0/packages-split/lib32-ssiapi-staticdev/usr/lib/libssi.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-cfengine/3.6.0-r0/packages-split/lib32-cfengine/usr/bin/cf-agent in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-collectd/5.4.1-r0/packages-split/lib32-collectd-staticdev/usr/lib/collectd/syslog.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-collectd/5.4.1-r0/packages-split/lib32-collectd/usr/sbin/collectd in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/enscript/1.6.6-r0/packages-split/enscript/usr/bin/enscript in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-python-pycurl/7.19.3.1-r0/packages-split/lib32-python-pycurl/usr/lib/python2.7/site-packages/curl/__init__.pyc in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/tcpreplay/3.4.4-r0/packages-split/tcpreplay-dbg/usr/src/debug/tcpreplay/3.4.4-r0/tcpreplay-3.4.4/src/defines.h in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-fcgi/2.4.0-r0/packages-split/lib32-fcgi-staticdev/usr/lib/libfcgi.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-fcgi/2.4.0-r0/packages-split/lib32-fcgi/usr/bin/cgi-fcgi in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-grub/2.00-r1/packages-split/lib32-grub-dbg/usr/src/debug/lib32-grub/2.00-r1/build/grub-core/symlist.c in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-libxext/1_1.3.2-r0/packages-split/lib32-libxext-staticdev/usr/lib/libXext.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-libnet/1.2-rc3-r0/packages-split/lib32-libnet-staticdev/usr/lib/libnet.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-libnet/1.2-rc3-r0/packages-split/lib32-libnet/usr/lib/libnet.so.9.0.0 in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-libidn/1.29-r0/packages-split/lib32-libidn-staticdev/usr/lib/libidn.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-ruby/1.9.3-p547-r1.0/packages-split/lib32-ruby-staticdev/usr/lib/libruby-static.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/nc6/1.0-r1/packages-split/nc6/usr/bin/nc6 in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-grub/2.00-r1/packages-split/lib32-grub/usr/sbin/grub-probe in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-libdaemon/0.14-r0/packages-split/lib32-libdaemon-staticdev/usr/lib/libdaemon.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-libdaemon/0.14-r0/packages-split/lib32-libdaemon/usr/lib/libdaemon.so.0.5.0 in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/inotify-tools/3.14-r0/packages-split/inotify-tools-staticdev/usr/lib64/libinotifytools.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-libxmu/1_1.1.2-r0/packages-split/lib32-libxmu-staticdev/usr/lib/libXmuu.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-ruby/1.9.3-p547-r1.0/packages-split/lib32-ruby-doc/usr/share/doc/ruby/html/d4/d53/-test-_2wait__for__single__fd_2extconf_8h.html in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/libidn/1.29-r0/packages-split/libidn-staticdev/usr/lib64/libidn.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-fetchmail/6.3.26-r0/packages-split/lib32-fetchmail/usr/bin/fetchmailconf in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-libtool/2.4.2-r6.0/packages-split/lib32-libltdl/usr/lib/libltdl.so.7.3.0 in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-libtool/2.4.2-r6.0/packages-split/lib32-libltdl-staticdev/usr/lib/libltdl.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-libtool/2.4.2-r6.0/packages-split/lib32-libtool/usr/bin/libtool in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-gzip/1.6-r0/packages-split/lib32-gzip/bin/gzip.gzip in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/systemd/1_216+gitAUTOINC+5d0ae62c66-r0/packages-split/udev/bin/udevadm in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/systemd/1_216+gitAUTOINC+5d0ae62c66-r0/packages-split/systemd-vconsole-setup/lib/systemd/systemd-vconsole-setup in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/systemd/1_216+gitAUTOINC+5d0ae62c66-r0/packages-split/systemd-analyze/usr/bin/systemd-analyze in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-gstreamer/0.10.36-r2/packages-split/lib32-gstreamer-dbg/usr/src/debug/lib32-gstreamer/0.10.36-r2/build/gst/parse/lex.priv_gst_parse_yy.c in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/systemd/1_216+gitAUTOINC+5d0ae62c66-r0/packages-split/systemd-binfmt/lib/systemd/systemd-binfmt in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/systemd/1_216+gitAUTOINC+5d0ae62c66-r0/packages-split/libgudev/usr/lib64/libgudev-1.0.so.0.2.0 in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-gstreamer/0.10.36-r2/packages-split/lib32-gstreamer-staticdev/usr/lib/libgstdataprotocol-0.10.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-gstreamer/0.10.36-r2/packages-split/lib32-gstreamer-dev/usr/include/gstreamer-0.10/gst/gstenumtypes.h in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-libhugetlbfs/1_2.18-r0/packages-split/lib32-libhugetlbfs-tests/usr/lib/libhugetlbfs/tests/obj32/heap-overflow in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-gstreamer/0.10.36-r2/packages-split/lib32-gstreamer/usr/bin/gst-typefind-0.10 in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/systemd/1_216+gitAUTOINC+5d0ae62c66-r0/packages-split/systemd-dev/usr/include/gudev-1.0/gudev/gudevenumtypes.h in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/systemd/1_216+gitAUTOINC+5d0ae62c66-r0/packages-split/systemd/bin/systemd-ask-password in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/systemd/1_216+gitAUTOINC+5d0ae62c66-r0/packages-split/libsystemd/lib64/libsystemd.so.0.4.0 in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/systemd/1_216+gitAUTOINC+5d0ae62c66-r0/packages-split/libudev/lib64/libudev.so.1.6.0 in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-ruby/1.9.3-p547-r1.0/packages-split/lib32-ruby/usr/bin/ruby in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-gd/2.1.0-r0/packages-split/lib32-gd-staticdev/usr/lib/libgd.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/powertop/2.6.1-r0/packages-split/powertop/usr/sbin/powertop.powertop in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-libmpc/1.0.2-r0/packages-split/lib32-libmpc-staticdev/usr/lib/libmpc.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-libmpc/1.0.2-r0/packages-split/lib32-libmpc/usr/lib/libmpc.so.3.0.0 in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/lowpan-tools/0.3.1+gitAUTOINC+38f42dbfce-r0/packages-split/lowpan-tools-dbg/usr/src/debug/lowpan-tools/0.3.1+gitAUTOINC+38f42dbfce-r0/build/addrdb/coord-config-parse.h in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-lmbench/3.0-a9-r2/packages-split/lib32-lmbench-staticdev/usr/lib/lmbench.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-texi2html/5.0-r2/packages-split/lib32-texi2html/usr/bin/texi2html in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-xcb-util-wm/0.4.1-r0/packages-split/lib32-xcb-util-wm-staticdev/usr/lib/libxcb-ewmh.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/postfix/2.11.1-r0/packages-split/postfix/etc/postfix/makedefs.out in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-libpng/1.6.13-r0/packages-split/lib32-libpng-tools/usr/bin/pngfix in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-libpng/1.6.13-r0/packages-split/lib32-libpng-staticdev/usr/lib/libpng16.a in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/x86-wrsmllib32-linux/lib32-settings-daemon/0.0+gitAUTOINC+9a99528b02-r0/packages-split/lib32-settings-daemon/usr/bin/settings-daemon in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/gtk-engines/2.20.2-r3/packages-split/gtk-engine-clearlooks/usr/lib64/gtk-2.0/2.10.0/engines/libclearlooks.so in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/gtk-engines/2.20.2-r3/packages-split/gtk-engine-crux-engine/usr/lib64/gtk-2.0/2.10.0/engines/libcrux-engine.so in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/gtk-engines/2.20.2-r3/packages-split/gtk-engine-glide/usr/lib64/gtk-2.0/2.10.0/engines/libglide.so in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/gtk-engines/2.20.2-r3/packages-split/gtk-engine-hcengine/usr/lib64/gtk-2.0/2.10.0/engines/libhcengine.so in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/gtk-engines/2.20.2-r3/packages-split/gtk-engine-industrial/usr/lib64/gtk-2.0/2.10.0/engines/libindustrial.so in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/gtk-engines/2.20.2-r3/packages-split/gtk-engine-mist/usr/lib64/gtk-2.0/2.10.0/engines/libmist.so in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/gtk-engines/2.20.2-r3/packages-split/gtk-engine-redmond95/usr/lib64/gtk-2.0/2.10.0/engines/libredmond95.so in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/gtk-engines/2.20.2-r3/packages-split/gtk-engine-thinice/usr/lib64/gtk-2.0/2.10.0/engines/libthinice.so in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/mariadb/5.5.40-r0/packages-split/mariadb-dbg/usr/src/debug/mariadb/5.5.40-r0/build/sql/sql_yacc.cc in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/mariadb/5.5.40-r0/packages-split/libmysqlclient/usr/lib64/libmysqlclient.so.18..0 in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/alsa-lib/1.0.28-r0/packages-split/alsa-server/usr/bin/aserver in package contained reference to tmpdir [buildpaths]
ERROR: QA Issue: File /work/core2-64-wrs-linux/alsa-lib/1.0.28-r0/packages-split/libasound/usr/lib64/libasound.so.2.0.0 in package contained reference to tmpdir [buildpaths]
......
Comment 1 Paul Eggleton 2014-12-11 16:11:13 UTC
FWIW, this check has never really been practically usable, and most of these aren't actually causing any problems right now. However, Richard pointed out we shouldn't really have target paths going into output files, and this will become more of a concern in the context of bug 6992 and bug 5866. 

So, if we can fix some of these that would be ideal if isn't too difficult, however fixing them all isn't high priority.
Comment 2 Hongxu Jia 2016-03-10 06:31:49 UTC
Introduce buildpaths issue

1. Exist in ELF fiels DWARF (debugging information)
   gcc compiled with '-g' option.

   Solutions:
   Add option '-fdebug-prefix-map' to traslate build path to target path.
   Make sure use option ${DEBUG_FLAGS} to compile

2. Exist in ELF files section .rodata ( Read-only data)
   '__FILE__' is used in C/C++ source/hearder files.

   1) If '__FILE__' exists in source file, use relative path to compile.
      gcc /absolute_dir/test.c -o test --> gcc ../relative_dir/test.c -o test

      Solutions:
      - Use relative path to run configure.

      - Improve python distutils module to use relative path to compile
        C/C++ source file

      - Improve cmake-native which generate Makefile to use relative path
        to compile C/C++ source file

   2) TODO: If '__FILE__' exists in hearder file. No way?(Need to improve gcc?)

3. Exist in ANSII Text fiels (Makefile/Configure)
   Solution:
   - Process the text files to translate build path to target path

   - Directly remove build path without side effect.
     Such as removing --sysroot and -fdebug-prefix-map in Makefile is no harm.

4. Exist in python compiled file (Python bytecode, .pyc/.pyo)
   Invoke python with absolute dir.
   python -m py_compile  /absolute_dir/test.py

   Solution: - Improve distutils, get the "--root" directory supplied to the "install"
               command, and use it as a prefix to strip off the purported filename
               encoded in bytecode files.

             - Manually update specific bytecode file by invoking py_compile module.
               py_compile.compile(file, cfile=None, dfile=None, doraise=False), use
               target path for 'dfile'
Comment 3 Hongxu Jia 2016-03-10 06:33:00 UTC
Introduce buildpaths QA issue

1. Exist in ELF files DWARF (debugging information)
   gcc compiled with '-g' option.

   Solutions:
   Add option '-fdebug-prefix-map' to translate build path to target path.
   Make sure use option ${DEBUG_FLAGS} to compile

2. Exist in ELF files section .rodata ( Read-only data)
   '__FILE__' is used in C/C++ source/header files.

   1) If '__FILE__' exists in source file, use relative path to compile.
      gcc /absolute_dir/test.c -o test --> gcc ../relative_dir/test.c -o test

      Solutions:
      - Use relative path to run configure.

      - Improve python distutils module to use relative path to compile
        C/C++ source file

      - Improve cmake-native which generate Makefile to use relative path
        to compile C/C++ source file

   2) TODO: If '__FILE__' exists in header file. No way?(Need to improve gcc?)

3. Exist in ANSII Text files (Makefile/Configure)
   Solution:
   - Process the text files to translate build path to target path

   - Directly remove build path without side effect.
     Such as removing --sysroot and -fdebug-prefix-map in Makefile is no harm.

4. Exist in python compiled file (Python bytecode, .pyc/.pyo)
   Invoke python with absolute dir.
   python -m py_compile  /absolute_dir/test.py

   Solution: - Improve distutils, get the "--root" directory supplied to the "install"
               command, and use it as a prefix to strip off the purported filename
               encoded in bytecode files.

             - Manually update specific bytecode file by invoking py_compile module.
               py_compile.compile(file, cfile=None, dfile=None, doraise=False), use
               target path for 'dfile'
Comment 4 Ross Burton 2016-04-14 20:10:17 UTC
There have been many patches towards fixing this. Hongxu Jia, would you consider this resolved now?
Comment 5 Hongxu Jia 2016-04-19 08:43:59 UTC
(In reply to comment #4)
> There have been many patches towards fixing this. Hongxu Jia, would you
> consider this resolved now?

Agree

//Hongxu