Uploaded image for project: 'Qbs ("Cubes")'
  1. Qbs ("Cubes")
  2. QBS-731

Handling of gdbserver is broken with multiple Android products

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 1.4.0
    • 1.4.0
    • General
    • None
    • 9d886e297718c5636d13acae9529901f2a754154

    Description

      Zeus:tmp jakepetroules$ cat project.qbs 
      import qbs
      
      Project {
          references: ["foo.qbs", "bar.qbs"]
      }
      Zeus:tmp jakepetroules$ cat foo.qbs 
      import qbs
      
      DynamicLibrary {
          files: ["foo.c"]
      }
      Zeus:tmp jakepetroules$ cat bar.qbs 
      import qbs
      
      DynamicLibrary {
          files: ["foo.c"]
      }
      Zeus:tmp jakepetroules$ qbs -f project.qbs profile:qbs_autotests-android
      No build graph exists yet for this configuration.
      Resolving project for configuration qbs_autotests-android-debug
      Setting up build graph for configuration qbs_autotests-android-debug
      Building for configuration qbs_autotests-android-debug
      compiling foo.c
      compiling foo.c
      linking libbar.so
      linking libfoo.so
      Copying native library and depencencies
      Stripping unneeded symbols
      ERROR: BUG: already inserted in this project: /private/tmp/qbs_autotests-android-debug/lib/armeabi/gdbserver
        - foo.qbs_autotests-android_armeabi 
        - bar.qbs_autotests-android_armeabi 
      
      The following products could not be built for configuration qbs_autotests-android-debug:
      	foo (for profile 'qbs_autotests-android_armeabi')
      	bar (for profile 'qbs_autotests-android_armeabi')
      

      I've also seen "child artifact already exists for path" or something of the sort, without the "BUG" prefix. Not sure how to repro.

      The problem is that each Android product causes a gdbserver binary to be copied, but the path is constant across all products so they conflict.

      Maybe we can implement gdbserver as an internal Product named io.qt.qbs.Android.gdbserver and add a new property on Module named `additionalProducts` (which acts like `references`) to add it to the project?

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            kandeler Christian Kandeler
            jakepetroules Jake Petroules (DO NOT ASSIGN ISSUES)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes