Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Converting from debian to ubuntu for development
Forum Updated to NodeBB v4.3 + New Features

Converting from debian to ubuntu for development

Scheduled Pinned Locked Moved Solved General and Desktop
9 Posts 5 Posters 1.2k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    Daniel Williams
    wrote on 26 Feb 2019, 16:54 last edited by Daniel Williams
    #1

    I have a subdirs project that compiles and runs perfectly under debian 9.5. Because some of the libraries I use don't support debian (only ubuntu), I'm working to change to a ubuntu development environment. I have 2 VMWare virtual machines (debuan 9.5 and ubuntu 16.04). I have my code checked into a git repo on debian and it works great.

    On the ubuntu vm, I clone the same repo and install all of the sdk libraries. However, the exact same project fails to link properly. I get messages like:

    undefined reference to PvString::PvString(char const*)' which is a link error.

    The .pro file is exactly the same and the libraries are installed in the same locations on both systems. Is there anything else I can look at to try to see why it won't link on ubuntu but will on debian?

    A 1 Reply Last reply 26 Feb 2019, 17:08
    0
    • D Offline
      D Offline
      Daniel Williams
      wrote on 27 Feb 2019, 14:34 last edited by Daniel Williams
      #6

      In case anyone runs across a similar issue. I was able to resolve it by re-writing my project files. I didn't "change" what was included, but how it was included. I had lines like:

      LIBS +=  -lPvDevice \
                       -lPvBuffer \ #etc
      

      I changed it to

      LIBS += -lPvDevice
      LIBS += -lPvBuffer
      

      I made a number of other similar changes and it suddenly started working.

      P 1 Reply Last reply 27 Feb 2019, 15:32
      0
      • D Daniel Williams
        26 Feb 2019, 16:54

        I have a subdirs project that compiles and runs perfectly under debian 9.5. Because some of the libraries I use don't support debian (only ubuntu), I'm working to change to a ubuntu development environment. I have 2 VMWare virtual machines (debuan 9.5 and ubuntu 16.04). I have my code checked into a git repo on debian and it works great.

        On the ubuntu vm, I clone the same repo and install all of the sdk libraries. However, the exact same project fails to link properly. I get messages like:

        undefined reference to PvString::PvString(char const*)' which is a link error.

        The .pro file is exactly the same and the libraries are installed in the same locations on both systems. Is there anything else I can look at to try to see why it won't link on ubuntu but will on debian?

        A Offline
        A Offline
        aha_1980
        Lifetime Qt Champion
        wrote on 26 Feb 2019, 17:08 last edited by
        #2

        @Daniel-Williams without further information that's hard to tell.

        You should check the linker command lines on both systems. do they differ?

        Also, make sure the lib containing that symbol already exists at the point of linking (dependency order)

        Regards

        Qt has to stay free or it will die.

        D 1 Reply Last reply 26 Feb 2019, 18:28
        0
        • H Online
          H Online
          hskoglund
          wrote on 26 Feb 2019, 17:16 last edited by
          #3

          Hi, also note that for Ubuntu 16.04 you need to have eBUS SDK 5.0 or 5.1 installed (older SDKs are not supported)

          D 1 Reply Last reply 26 Feb 2019, 17:18
          0
          • H hskoglund
            26 Feb 2019, 17:16

            Hi, also note that for Ubuntu 16.04 you need to have eBUS SDK 5.0 or 5.1 installed (older SDKs are not supported)

            D Offline
            D Offline
            Daniel Williams
            wrote on 26 Feb 2019, 17:18 last edited by
            #4

            @hskoglund Thank you. I verified that I have version 5.1 installed.

            1 Reply Last reply
            0
            • A aha_1980
              26 Feb 2019, 17:08

              @Daniel-Williams without further information that's hard to tell.

              You should check the linker command lines on both systems. do they differ?

              Also, make sure the lib containing that symbol already exists at the point of linking (dependency order)

              Regards

              D Offline
              D Offline
              Daniel Williams
              wrote on 26 Feb 2019, 18:28 last edited by
              #5

              @aha_1980 Thank you, I hadn't thought of checking the linker command. I have compared them character-by-character and they are exactly the same. That'll lead me to my next check of the environment settings and additional validation that the user can see the library files.

              1 Reply Last reply
              2
              • D Offline
                D Offline
                Daniel Williams
                wrote on 27 Feb 2019, 14:34 last edited by Daniel Williams
                #6

                In case anyone runs across a similar issue. I was able to resolve it by re-writing my project files. I didn't "change" what was included, but how it was included. I had lines like:

                LIBS +=  -lPvDevice \
                                 -lPvBuffer \ #etc
                

                I changed it to

                LIBS += -lPvDevice
                LIBS += -lPvBuffer
                

                I made a number of other similar changes and it suddenly started working.

                P 1 Reply Last reply 27 Feb 2019, 15:32
                0
                • D Daniel Williams
                  27 Feb 2019, 14:34

                  In case anyone runs across a similar issue. I was able to resolve it by re-writing my project files. I didn't "change" what was included, but how it was included. I had lines like:

                  LIBS +=  -lPvDevice \
                                   -lPvBuffer \ #etc
                  

                  I changed it to

                  LIBS += -lPvDevice
                  LIBS += -lPvBuffer
                  

                  I made a number of other similar changes and it suddenly started working.

                  P Offline
                  P Offline
                  Pablo J. Rogina
                  wrote on 27 Feb 2019, 15:32 last edited by
                  #7

                  @Daniel-Williams glad you find a workaround. If your issue is solved, please don't forget to mark your post as such

                  Upvote the answer(s) that helped you solve the issue
                  Use "Topic Tools" button to mark your post as Solved
                  Add screenshots via postimage.org
                  Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

                  1 Reply Last reply
                  0
                  • X Offline
                    X Offline
                    X-Krys
                    wrote on 27 Feb 2019, 15:39 last edited by
                    #8

                    @Daniel-Williams It's weird since the semantic is the same here, maybe the comment #etc breaks any following append to LIBS, did you try without the comment ?

                    D 1 Reply Last reply 28 Feb 2019, 18:31
                    1
                    • X X-Krys
                      27 Feb 2019, 15:39

                      @Daniel-Williams It's weird since the semantic is the same here, maybe the comment #etc breaks any following append to LIBS, did you try without the comment ?

                      D Offline
                      D Offline
                      Daniel Williams
                      wrote on 28 Feb 2019, 18:31 last edited by Daniel Williams
                      #9

                      @X-Krys I didn't try what you suggested. I had worked through so many potential causes that I just went into a "re-write the whole file and take out anything that might cause an issue" mode and it started working.

                      1 Reply Last reply
                      0

                      1/9

                      26 Feb 2019, 16:54

                      • Login

                      • Login or register to search.
                      1 out of 9
                      • First post
                        1/9
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved