Error when compiling libvibrant

I’m getting the following error when trying to make libvibrant. The error is this:

[ 14%] Building C object vibrant/CMakeFiles/vibrant.dir/src/vibrant.c.o
/home/zeno/vibrant/vibrant/src/vibrant.c:53:10: fatal error: NVCtrl/NVCtrlLib.h: No such file or directory
   53 | #include <NVCtrl/NVCtrlLib.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [vibrant/CMakeFiles/vibrant.dir/build.make:82: vibrant/CMakeFiles/vibrant.dir/src/vibrant.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:918: vibrant/CMakeFiles/vibrant.dir/all] Error 2
make: *** [Makefile:160: all] Error 2

I have all the required dependencies installed :confused:

1 Like
sudo dnf install libXNVCtrl-devel
sudo dnf provides \*/NVCtrlLib.h

https://dnf.readthedocs.io/en/latest/command_ref.html#provides-command-label

1 Like

Damn! Thanks :smiley:

How do you find out what you need, if you don’t mind me asking?

1 Like

Just read the error message carefully:

Then search the packages providing the missing file.

2 Likes

I see. But I did install libXNVCtrl (not the development files, though)… that’s why I wonder how you know what I need :slight_smile:

As he said, use dnf to find what provides the file reported missing in your error. He posted the commands in the reverse order but “dnf provides file.name” will tell you the package that is needed to install that file.

2 Likes

Ah, so that’s what that command is for. Do I use it like dnf provides \*/ and then append what I am looking for?

Building libvibrant worked but now vibrantlinux won’t make…

HEAD is now at 1dc6b43 fixed getDisplaySaturation not properly scaling the value returned from vibrbant_controller_get_saturation
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:

  git config pull.rebase false  # merge (the default strategy)
  git config pull.rebase true   # rebase
  git config pull.ff only       # fast-forward only

You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.

Already up to date.
./update.sh: line 15: qmake: command not found
make: *** No targets specified and no makefile found.  Stop.
rm: cannot remove '*.o': No such file or directory
rm: cannot remove '*.h': No such file or directory
rm: cannot remove '*.cpp': No such file or directory
rm: cannot remove 'Makefile': No such file or directory

I’m following their instructions to the point?

it did not find qmake

2 Likes

Yeah, I used the command I just learned to search for packages containing qmake but now I get another error up with this message:

HEAD is now at 1dc6b43 fixed getDisplaySaturation not properly scaling the value returned from vibrbant_controller_get_saturation
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:

  git config pull.rebase false  # merge (the default strategy)
  git config pull.rebase true   # rebase
  git config pull.ff only       # fast-forward only

You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.

Already up to date.
vibrantLinux.pro:9: Unknown test function: greaterThan
WARNING: Found potential symbol conflict of entryeditor.cpp (src/entryeditor.cpp) in SOURCES
WARNING: Found potential symbol conflict of entryeditor.h (include/entryeditor.h) in HEADERS
WARNING: Found potential symbol conflict of mainwindow.cpp (src/mainwindow.cpp) in SOURCES
WARNING: Found potential symbol conflict of mainwindow.h (include/mainwindow.h) in HEADERS
Makefile:203: warning: overriding recipe for target 'entryeditor.o'
Makefile:170: warning: ignoring old recipe for target 'entryeditor.o'
Makefile:206: warning: overriding recipe for target 'mainwindow.o'
Makefile:182: warning: ignoring old recipe for target 'mainwindow.o'
Makefile:225: warning: overriding recipe for target 'moc_entryeditor.o'
Makefile:213: warning: ignoring old recipe for target 'moc_entryeditor.o'
Makefile:233: warning: overriding recipe for target 'moc_mainwindow.o'
Makefile:221: warning: ignoring old recipe for target 'moc_mainwindow.o'
/usr/lib64/qt-3.3/bin/uic forms/entryeditor.ui -o forms/entryeditor.h
/usr/lib64/qt-3.3/bin/uic forms/mainwindow.ui -o forms/mainwindow.h
g++ -c -pipe -Wall -W -O2 -flto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-strict-aliasing  -DQT_DEPRECATED_WARNINGS -DVIBRANT_LINUX_VERSION=\\\"2.1.2\\\" -DQT_NO_DEBUG -DQT_SHARED -DQT_TABLET_SUPPORT -DQT_THREAD_SUPPORT -I/usr/lib64/qt-3.3/mkspecs/default -I. -I"include/" -I/usr/lib64/qt-3.3/include -o autostart.o src/autostart.cpp
<command-line>: warning: missing terminating " character
In file included from src/autostart.cpp:1:
include/autostart.h:4:10: fatal error: QDir: No such file or directory
    4 | #include <QDir>
      |          ^~~~~~
compilation terminated.
make: *** [Makefile:158: autostart.o] Error 1
rm: cannot remove '*.o': No such file or directory
rm: cannot remove '*.h': No such file or directory
rm: cannot remove '*.cpp': No such file or directory

One of the packages I installed should contain this, so I’m kinda confused…

Hi,

Please ignore, just realized, qmake is part of q-devel.

Have your installed qt-devel?

dnf provides \*/QDir
Last metadata expiration check: 13 days, 4:07:51 ago on Mon 16 Nov 2020 17:00:16 GMT.
mingw32-qt5-qtbase-5.14.2-5.fc33.noarch : Qt5 for Windows - QtBase component
Repo        : fedora
Matched from:
Filename    : /usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtCore/QDir

mingw64-qt5-qtbase-5.14.2-5.fc33.noarch : Qt5 for Windows - QtBase component
Repo        : fedora
Matched from:
Filename    : /usr/x86_64-w64-mingw32/sys-root/mingw/include/qt5/QtCore/QDir

qt-devel-1:4.8.7-57.fc33.i686 : Development files for the Qt toolkit
Repo        : fedora
Matched from:
Filename    : /usr/include/QtCore/QDir

qt-devel-1:4.8.7-57.fc33.x86_64 : Development files for the Qt toolkit
Repo        : fedora
Matched from:
Filename    : /usr/include/QtCore/QDir

qt5-qtbase-devel-5.15.1-5.fc33.i686 : Development files for qt5-qtbase
Repo        : fedora
Matched from:
Filename    : /usr/include/qt5/QtCore/QDir

qt5-qtbase-devel-5.15.1-5.fc33.x86_64 : Development files for qt5-qtbase
Repo        : fedora
Matched from:
Filename    : /usr/include/qt5/QtCore/QDir

qt5-qtbase-devel-5.15.1-7.fc33.i686 : Development files for qt5-qtbase
Repo        : updates
Matched from:
Filename    : /usr/include/qt5/QtCore/QDir

qt5-qtbase-devel-5.15.1-7.fc33.x86_64 : Development files for qt5-qtbase
Repo        : updates
Matched from:
Filename    : /usr/include/qt5/QtCore/QDir

Thanks Tom.

1 Like

That appears to be an error within the source code that your compiler fails on. It is beyond my expertise since I don’t work with that package and code.

<command-line>: warning: missing terminating " character In file included from src/autostart.cpp:1: include/autostart.h:4:10: fatal error: QDir: No such file or directory 4 | #include <QDir> | ^~~~~~ compilation terminated .
Maybe you should contact the maintainer of libvibrant at this point.

1 Like

I took your advice and he told me that I should modify the script in order to make it work, so it looks like I am going to have to make a thread asking for how I do that :expressionless:

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.