Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-46910

qmake goes into a recursive loop if /usr/lib/.libs is present

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: P3: Somewhat important P3: Somewhat important
    • 5.6.0 Beta
    • 5.5.0 RC
    • Build tools: qmake
    • None
    • Linux, 64bit , gcc 4.9.2
    • ba9f4942b0813f135d2c7208ea27a03cd5c1cae5

      On my system I've noticed that qt5 qmake goes into a recursive loop all the time.
      I've tracked this problem to code in
      void UnixMakefileGenerator::processPrlFiles().

      The following code causes the problem:

                          QString lib = opt.right(opt.length() - 2);
                          QString prl_ext = project->first(ProKey("QMAKE_" + lib.toUpper() + "_SUFFIX")).toQString();
                          for(int dep_i = 0; dep_i < libdirs.size(); ++dep_i) {
                              const QMakeLocalFileName &lfn = libdirs[dep_i];
                              if(!project->isActiveConfig("compile_libtool")) { //give them the .libs..
                                  QString la = lfn.local() + '/' + project->first("QMAKE_PREFIX_SHLIB") + lib + Option::libtool_ext;
                                  if (exists(la) && QFile::exists(lfn.local() + "/.libs")) {
                                      QString dot_libs = lfn.real() + Option::dir_sep + ".libs";
                                      l.append("-L" + dot_libs);
                                      libdirs.insert(libidx++, QMakeLocalFileName(dot_libs));
                                  }
                              }
      

      On my system I get the following:
      lib is GL so la becomes /usr/lib/libGL.la and when lfn which seems to be /url/lib for me + .libs exists it will add /usr/lib/.libs to libdirs. On the next loop the same will happen and /usr/lib/.libs will just be added recursively forever.

      I think the easiest fix for this would be for look if what's going to be added to libdirs wasn't already added before.

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

            buddenha Oswald Buddenhagen
            mcirsta Marius Cirsta
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes