Package: qtbase5-dev Version: 5.10.1+dfsg-7 Severity: normal
Dear Maintainer, did a fresh install of debian sid within docker and stumbled upon this bug in QFile: QFile's method exists() returns false even if that file exists. STEPS TO REPRODUCE: $ cat << 'EOF' >> /tmp/CMakeLists.txt cmake_minimum_required(VERSION 3.0) project(test) find_package(Qt5Core REQUIRED) add_executable(tgt main.cpp) target_link_libraries(tgt Qt5::Core) EOF $ cat << 'EOF' >> /tmp/main.cpp #include <QFile> #include <QString> #include <QFileInfo> #include <iostream> int main() { QString path{"/bin/sh"}; QFile qf{path}; QFileInfo qfi{path}; std::cout << "TRUE:=" << true << std::endl; std::cout << "QFile::exists() == " << qf.exists() << std::endl; std::cout << "QFileInfo::exists() == " << qfi.exists() << std::endl; return 0; } EOF $ cmake . -- The C compiler identification is GNU 7.3.0 -- The CXX compiler identification is GNU 7.3.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Configuring done -- Generating done -- Build files have been written to: /tmp/ $ make Scanning dependencies of target tgt [ 50%] Building CXX object CMakeFiles/tgt.dir/main.cpp.o [100%] Linking CXX executable tgt [100%] Built target tgt $ ./tgt TRUE:=1 QFile::exists() == 0 QFileInfo::exists() == 1 EXPECTED RESULT (same as in debian stretch): $ ./tgt TRUE:=1 QFile::exists() == 1 QFileInfo::exists() == 1 QFile is quite fundamental to Qt and KDE. For me it prevented compilation of kdevelop from git because kdevelop uses desktoptojson (from libkf5coreaddons-dev-bin) during build which fails due to this bug (QFile is used in line 312 in file kcoreaddons-5.46.0/src/lib/plugin/desktopfileparser.cpp).. So far I was unable to locate the bug. QFile's code (src/corelib/io/qfile.cpp) didn't change much from qtbase-opensource-src-5.7.1 (stretch) to qtbase-opensource-src-5.10.1 (sid), so my guess is its somewhere in /src/corelib/io/qabstractfileengine.cpp or even lower. BUT surprisingly KDE apps like akregator have successfully been build for debian sid but fail for me/my sid install. They should have suffered the same problems during build because they also use desktoptojson during build. Any ideas? Cheers Jakob -- System Information: Debian Release: buster/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 4.9.0-6-amd64 (SMP w/4 CPU cores) Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968), LANGUAGE=C (charmap=ANSI_X3.4-1968) Shell: /bin/sh linked to /bin/dash Init: unable to detect Versions of packages qtbase5-dev depends on: ii libgl1-mesa-dev [libgl-dev] 18.0.5-1 ii libglu1-mesa-dev [libglu-dev] 9.0.0-2.1 ii libqt5concurrent5 5.10.1+dfsg-7 ii libqt5core5a 5.10.1+dfsg-7 ii libqt5dbus5 5.10.1+dfsg-7 ii libqt5gui5 5.10.1+dfsg-7 ii libqt5network5 5.10.1+dfsg-7 ii libqt5printsupport5 5.10.1+dfsg-7 ii libqt5sql5 5.10.1+dfsg-7 ii libqt5test5 5.10.1+dfsg-7 ii libqt5widgets5 5.10.1+dfsg-7 ii libqt5xml5 5.10.1+dfsg-7 ii libxext-dev 2:1.3.3-1+b2 ii qt5-qmake 5.10.1+dfsg-7 ii qtbase5-dev-tools 5.10.1+dfsg-7 ii qtchooser 64-ga1b6736-5 Versions of packages qtbase5-dev recommends: ii libqt5opengl5-dev 5.10.1+dfsg-7 Versions of packages qtbase5-dev suggests: ii default-libmysqlclient-dev 1.0.4 pn firebird-dev <none> ii libegl1-mesa-dev 18.0.5-1 ii libgl1-mesa-dev 18.0.5-1 ii libpq-dev 10.4-2 ii libsqlite3-dev 3.23.1-1 ii unixodbc-dev 2.3.6-0.1 -- no debconf information