[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

UTIME_NOW constant on kFreeBSD

Dear Debian GNU/kFreeBSD developers,

Qt 5.9 fails to build with the following error [1]:

qmake/library/ioutils.cpp: In static member function 'static bool QMakeInternal::IoUtils::touchFile(const QString&, const QString&, QString*)':
qmake/library/ioutils.cpp:219:45: error: 'UTIME_NOW' was not declared in this scope
     const struct timespec times[2] = { { 0, UTIME_NOW }, st.st_mtim };

We first reported this bug to upstream [2], but upstream replied that it is
probably a bug in our kFreeBSD port, and UTIME_NOW should be defined in

The utimensat(2) manpage mentions the UTIME_NOW constant too.

The code in question is [3]:

#    if defined(_POSIX_VERSION) && _POSIX_VERSION >= 200809L
    const struct timespec times[2] = { { 0, UTIME_NOW }, st.st_mtim };
    const bool utimeError = utimensat(AT_FDCWD, targetFileName.toLocal8Bit().constData(), times, 0) < 0;
#    else

Can you please confirm whether this is a bug in kFreeBSD code that can be
fixed, or should we look for a workaround?

[1]: https://buildd.debian.org/status/package.php?p=qtbase-opensource-src&suite=experimental
[2]: https://bugreports.qt.io/browse/QTBUG-61344
[3]: https://code.qt.io/cgit/qt/qtbase.git/tree/qmake/library/ioutils.cpp?h=5.9#n218

Dmitry Shachnev

Attachment: signature.asc
Description: PGP signature

Reply to: