Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

cannot find C:/Qwt-6.1.6/lib: Permission denied



  • Hello, I'm completely new to qt. I'm trying to run a project I found on github. I have come pretty far, but got stuck on couple of errors on build:

    error: cannot find C:/Qwt-6.1.6/lib: Permission denied
    error: collect2.exe: error: ld returned 1 exit status
    

    I'm not sure what information I should provide, so please be patient with me. My system is Windows 10 x64. Qwt version is 6.1.6. The folder mentioned in error is there. Qt version is 5.15.2 probably.

    Thank you


  • Lifetime Qt Champion

    @ldislav Please show the pro file from that project.



  • QT += core gui widgets
    
    TARGET = diffimg
    TEMPLATE = app
    
    include(3rdparty/perceptualdiff/perceptualdiff.pri)
    include(3rdparty/qtpropertybrowser/qtpropertybrowser.pri)
    
    # directories setup
    isEmpty( INSTALL_MANDIR )  : INSTALL_MANDIR  = $$[QT_INSTALL_PREFIX]/share/man
    isEmpty( INSTALL_DATADIR ) : INSTALL_DATADIR = $$[QT_INSTALL_PREFIX]/share
    
    isEmpty( MYAPP_INSTALL_DESKTOP ) : MYAPP_INSTALL_DESKTOP = $$INSTALL_DATADIR/applications
    isEmpty( MYAPP_INSTALL_PIXMAPS ) : MYAPP_INSTALL_PIXMAPS = $$INSTALL_DATADIR/pixmaps
    isEmpty( MYAPP_INSTALL_DATA )    : MYAPP_INSTALL_DATA    = $$INSTALL_DATADIR/$$TARGET
    isEmpty( MYAPP_INSTALL_DIR )     : MYAPP_INSTALL_DIR     = $$INSTALL_LIBDIR/$$TARGET
    isEmpty( MYAPP_INSTALL_BINDIR )  : MYAPP_INSTALL_BINDIR   = $$[QT_INSTALL_BINS]
    isEmpty( MYAPP_INSTALL_MAN )     : MYAPP_INSTALL_MAN     = $$INSTALL_MANDIR/man1
    isEmpty( MYAPP_INSTALL_TRANS )   : MYAPP_INSTALL_TRANS   = $$INSTALL_DATADIR/$$TARGET/locale
    
    HEADERS += \
        $$PWD/src/AboutDialog.h \
        $$PWD/src/AppSettings.h \
        $$PWD/src/DiffImgWindow.h \
        $$PWD/src/FilesDialog.h \
        $$PWD/src/FilesManager.h \
        $$PWD/src/ImageNavigator.h \
        $$PWD/src/ImageView.h \
        $$PWD/src/LogHandler.h \
        $$PWD/src/WipeItem.h \
        $$PWD/src/WipeMethod.h \
        $$PWD/src/metrics/BaseMetric.h \
        $$PWD/src/metrics/MetricsManager.h \
        $$PWD/src/metrics/MetricsRegistering.h \
        $$PWD/src/metrics/PerceptualMetric.h \
        $$PWD/src/metrics/PerChannelMeanMetric.h \
        $$PWD/src/metrics/PerChannelMetric.h \
        $$PWD/src/metrics/PerLuminanceMetric.h \
        $$PWD/src/MiscFunctions.h \
        $$PWD/src/PropertyWidget.h \
        $$PWD/src/ChannelCurve.h
    
        #$$PWD/src/formats/BaseFormat.h \
        #$$PWD/src/formats/FormatsManager.h \
        #$$PWD/src/formats/FormatsRegistering.h \
        #$$PWD/src/formats/YUVFormat.h \
    
    SOURCES +=  \
        $$PWD/src/AboutDialog.cpp \
        $$PWD/src/AppSettings.cpp \
        $$PWD/src/DiffImgWindow.cpp \
        $$PWD/src/FilesDialog.cpp \
        $$PWD/src/FilesManager.cpp \
        $$PWD/src/ImageNavigator.cpp \
        $$PWD/src/ImageView.cpp \
        $$PWD/src/LogHandler.cpp \
        $$PWD/src/WipeItem.cpp \
        $$PWD/src/main.cpp \
        $$PWD/src/metrics/BaseMetric.cpp \
        $$PWD/src/metrics/MetricsManager.cpp \
        $$PWD/src/metrics/MetricsRegistering.cpp \
        $$PWD/src/metrics/PerceptualMetric.cpp \
        $$PWD/src/metrics/PerChannelMeanMetric.cpp \
        $$PWD/src/metrics/PerChannelMetric.cpp \
        $$PWD/src/metrics/PerLuminanceMetric.cpp \
        $$PWD/src/MiscFunctions.cpp \
        $$PWD/src/PropertyWidget.cpp \
        $$PWD/src/ChannelCurve.cpp
    
        #$$PWD/src/formats/BaseFormat.cpp \
        #$$PWD/src/formats/FormatsManager.cpp \
        #$$PWD/src/formats/FormatsRegistering.cpp \
        #$$PWD/src/formats/YUVFormat.cpp \
    
    FORMS += \
        $$PWD/ui/AboutDialog.ui \
        $$PWD/ui/DiffImgWindow.ui \
        $$PWD/ui/FilesDialog.ui
    
    INCLUDEPATH += \
        $${DESTDIR} \
        $$PWD/src \
        $$PWD/src/metrics \
        $$PWD/src/formats
    
    INCLUDEPATH += /usr/include/qwt
    LIBS += -lqwt
    
    RESOURCES += $$PWD/res/$${TARGET}.qrc
    
    TRANSLATIONS +=  $$PWD/lang/$${TARGET}_fr.ts # french 
    TRANSLATIONS += $$PWD/lang/$${TARGET}_cs.ts # Czech
    TRANSLATIONS += $$PWD/lang/$${TARGET}_it.ts # Italian
    TRANSLATIONS += $$PWD/lang/$${TARGET}_vi.ts # Vietnamese
    TRANSLATIONS += $$PWD/lang/$${TARGET}_pt.ts # Portuguese
    TRANSLATIONS += $$PWD/lang/$${TARGET}_sv.ts # Swedish
    TRANSLATIONS += $$PWD/lang/$${TARGET}_zh.ts # Chinese
    TRANSLATIONS += $$PWD/lang/$${TARGET}_ro.ts # Romanian
    TRANSLATIONS += $$PWD/lang/$${TARGET}_de.ts # German
    TRANSLATIONS += $$PWD/lang/$${TARGET}_ru.ts # Russian
    
    macx:ICON = res/$${TARGET}.icns
    macx:QMAKE_INFO_PLIST =  build/Info.plist
    macx:QMAKE_POST_LINK += ./postbuild-macx.sh
    
    win32:RC_FILE = $$PWD/res/$${TARGET}.rc
    
    win32-msvc*:DEFINES += _CRT_NONSTDC_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS
    
    macx {
        # add auto creation of info.plist file
        VERSION = $$system(grep VERSION $$PWD/src/AppSettings.h | awk \' { print $NF }\' | sed   \'s/\"//g\')
        createplist.commands = $$PWD/misc/Info.plist.sh $$VERSION > $$PWD/misc/Info.plist
        createplist.target = Info.plist1
        createplist.depends = FORCE
        PRE_TARGETDEPS += Info.plist1
        QMAKE_EXTRA_TARGETS += createplist
    }
    
    # .qm file for mingw and before setup.nsi
    win32-g++ {
        # add auto compilation of .ts files
        QMAKE_EXTRA_COMPILERS += copyQtTrans
        for(TRANS,TRANSLATIONS){
        lang = $$replace(TRANS, .*_([^/]*)\\.ts, \\1)
        GLOBALTRANSLATIONS += $$[QT_INSTALL_TRANSLATIONS]/qt_$${lang}.qm
        }
        copyQtTrans.input         =  GLOBALTRANSLATIONS
        copyQtTrans.output        = ${QMAKE_FILE_BASE}.qm
        copyQtTrans.commands      = cp ${QMAKE_FILE_IN} $$PWDlang/
        copyQtTrans.CONFIG       += no_link target_predeps
        
        # add auto compilation of .ts files
        QMAKE_EXTRA_COMPILERS += lrelease 
        lrelease.input         = TRANSLATIONS
        lrelease.output        = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.qm
        lrelease.commands      = $$[QT_INSTALL_BINS]/lrelease ${QMAKE_FILE_IN} -qm $$PWD/lang/${QMAKE_FILE_BASE}.qm
        lrelease.CONFIG       += no_link target_predeps
    }
    
    
    unix:!macx {
        # add auto compilation of .ts files
        QMAKE_EXTRA_COMPILERS += lrelease
        lrelease.input         = TRANSLATIONS
        lrelease.output        = ${QMAKE_FILE_BASE}.qm
        lrelease.commands      = $$[QT_INSTALL_BINS]/lrelease ${QMAKE_FILE_IN} -qm $$PWD/lang/${QMAKE_FILE_BASE}.qm
        lrelease.CONFIG       += no_link target_predeps
    
        target.path = $$MYAPP_INSTALL_BINDIR
    
        transl.files = $$PWD/lang/*.qm
        transl.path = $$MYAPP_INSTALL_TRANS
        
        data.files += $$PWD/CREDITS.txt $$PWD/README.txt $$PWD/AUTHORS.txt $$PWD/Changelog.txt
        data.path = $$MYAPP_INSTALL_DATA
    
        # generate desktop file  
        VERSION = $$system(grep VERSION $$PWD/src/AppSettings.h | awk \' { print $NF }\' | sed   \'s/\"//g\')
        system( sh  $$PWD/misc/diffimg-desktop.sh  $$[QT_INSTALL_PREFIX] $$VERSION > diffimg.desktop )
        desktop.files += $${TARGET}.desktop
        desktop.path = $$MYAPP_INSTALL_DESKTOP
    
        icons.files += $$PWD/res/$${TARGET}.png
        icons.path = $$MYAPP_INSTALL_PIXMAPS
    
        # generate manpage
        system( sh  $$PWD/misc/diffimg-manpage.sh > diffimg.1 )
        system( gzip -9 -f diffimg.1  )
        manual.files += diffimg.1.gz
        manual.path = $$MYAPP_INSTALL_MAN
    
        INSTALLS += target transl data desktop icons manual
    }
    

  • Lifetime Qt Champion

    @ldislav Can you also provide the build log (a fresh rebuild)? And the description of the steps you're executing? I don't see how C:/Qwt-6.1.6/lib comes into play here.



  • @ldislav said in cannot find C:/Qwt-6.1.6/lib: Permission denied:

    diffimg

    Do you try to build this project ==> https://github.com/lingo/diffimg-xbee ?

    AFAIK, it is design for Qt 4.



  • @KroMignon it's a fork of that project: https://github.com/sandsmark/diffimg

    @jsulm My bad. I'm not using .pro for building. The project includes a CMakeLists.txt the output is :

    14:28:45: Running steps for project diffimg...
    14:28:45: Starting: "C:\Qt\Tools\CMake_64\bin\cmake.exe" --build . --target all
    [1/1 0.5/sec] Linking CXX executable diffimg.exe
    FAILED: diffimg.exe 
    cmd.exe /C "cd . && C:\Qt\Tools\mingw810_64\bin\g++.exe -g  CMakeFiles/diffimg.dir/diffimg_autogen/mocs_compilation.cpp.obj CMakeFiles/diffimg.dir/src/AboutDialog.cpp.obj CMakeFiles/diffimg.dir/src/AppSettings.cpp.obj CMakeFiles/diffimg.dir/src/ChannelCurve.cpp.obj CMakeFiles/diffimg.dir/src/DiffImgWindow.cpp.obj CMakeFiles/diffimg.dir/src/FilesDialog.cpp.obj CMakeFiles/diffimg.dir/src/FilesManager.cpp.obj CMakeFiles/diffimg.dir/src/ImageNavigator.cpp.obj CMakeFiles/diffimg.dir/src/ImageView.cpp.obj CMakeFiles/diffimg.dir/src/LogHandler.cpp.obj CMakeFiles/diffimg.dir/src/main.cpp.obj CMakeFiles/diffimg.dir/src/MiscFunctions.cpp.obj CMakeFiles/diffimg.dir/src/PropertyWidget.cpp.obj CMakeFiles/diffimg.dir/src/WipeItem.cpp.obj CMakeFiles/diffimg.dir/src/metrics/BaseMetric.cpp.obj CMakeFiles/diffimg.dir/src/metrics/MetricsManager.cpp.obj CMakeFiles/diffimg.dir/src/metrics/MetricsRegistering.cpp.obj CMakeFiles/diffimg.dir/src/metrics/PerceptualMetric.cpp.obj CMakeFiles/diffimg.dir/src/metrics/PerChannelMeanMetric.cpp.obj CMakeFiles/diffimg.dir/src/metrics/PerChannelMetric.cpp.obj CMakeFiles/diffimg.dir/src/metrics/PerLuminanceMetric.cpp.obj CMakeFiles/diffimg.dir/3rdparty/perceptualdiff/LPyramid.cpp.obj CMakeFiles/diffimg.dir/3rdparty/perceptualdiff/Metric.cpp.obj CMakeFiles/diffimg.dir/3rdparty/perceptualdiff/CompareArgs.cpp.obj CMakeFiles/diffimg.dir/3rdparty/perceptualdiff/RGBAImage.cpp.obj CMakeFiles/diffimg.dir/3rdparty/qtpropertybrowser/qteditorfactory.cpp.obj CMakeFiles/diffimg.dir/3rdparty/qtpropertybrowser/qtpropertybrowser.cpp.obj CMakeFiles/diffimg.dir/3rdparty/qtpropertybrowser/qtpropertybrowserutils.cpp.obj CMakeFiles/diffimg.dir/3rdparty/qtpropertybrowser/qtpropertymanager.cpp.obj CMakeFiles/diffimg.dir/3rdparty/qtpropertybrowser/qttreepropertybrowser.cpp.obj CMakeFiles/diffimg.dir/3rdparty/qtpropertybrowser/qtvariantproperty.cpp.obj CMakeFiles/diffimg.dir/diffimg_autogen/PNK5WDWK6L/qrc_diffimg.cpp.obj -o diffimg.exe -Wl,--out-implib,libdiffimg.dll.a -Wl,--major-image-version,0,--minor-image-version,0  C:/Qwt-6.1.6/lib  C:/Qt/5.15.2/mingw81_64/lib/libQt5Widgets.a  C:/Qt/5.15.2/mingw81_64/lib/libQt5Gui.a  C:/Qt/5.15.2/mingw81_64/lib/libQt5Core.a  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
    C:/Qt/Tools/mingw810_64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:/Qwt-6.1.6/lib: Permission denied
    collect2.exe: error: ld returned 1 exit status
    ninja: build stopped: subcommand failed.
    14:28:47: The process "C:\Qt\Tools\CMake_64\bin\cmake.exe" exited with code 1.
    Error while building/deploying project diffimg (kit: Desktop Qt 5.15.2 MinGW 64-bit)
    When executing step "Build"
    14:28:47: Elapsed time: 00:02.
    
    


  • @ldislav said in cannot find C:/Qwt-6.1.6/lib: Permission denied:

    it's a fork of that project: https://github.com/sandsmark/diffimg

    From GitHub:
    616a6c3f-82c1-4d8a-8e56-ed694aa349b0-image.png

    1. Are you sure this fork is working?
    2. It seems that is also based on Qt 4.x


  • @KroMignon

    1. I'm not sure, but the creator seems competent.
    2. The readme that references Qt 4.x is from the original version, but the code seems to be adapted to version 5.

  • Lifetime Qt Champion

    @ldislav

    -Wl,--major-image-version,0,--minor-image-version,0  C:/Qwt-6.1.6/lib
    

    I think this is the problem in the linker call. You will need to check the CMakeLists.txt files to find out how to fix.



  • @ldislav said in cannot find C:/Qwt-6.1.6/lib: Permission denied:

    The readme that references Qt 4.x is from the original version, but the code seems to be adapted to version 5.

    Yes there are changes done, at least the main CMakeList.txt seems to be for Qt5 (but don't know which version is required).

    And the devlopper don't seems to give any garanties about project quality:
    b3f653f3-5a41-4a11-b286-812bea783050-image.png



  • @jsulm Thank you. It seems I figured it out. I just added

    set ( QT_INCLUDE_DIR "C:/Qwt-6.1.6/include" )
    set ( QT_LIBRARY_DIR "C:/Qwt-6.1.6/lib" )
    

    to the FindQwt.cmake and disabled antivirus.

    @KroMignon I can confirm now that it works. The original program had issues with .png files. This seems to be solved in the fork.


Log in to reply