How Do I Install NewBreeze Filemanager 😓

Hi everyone,

I’m Trying to install newbreeze-git from the aur and even from git
but no luck
it gives me this error

==> Proceed with install? [Y/n] y
:: (1/1) Parsing SRCINFO: newbreeze-git
==> Making package: newbreeze-git v3.0.0.rc7.r10.a617c93-1 (27 ينا, 2022 09:48:34 م)
==> Retrieving sources...
  -> Updating NewBreeze git repo...
Fetching origin
==> Validating source files with sha256sums...
    NewBreeze ... Skipped
==> Making package: newbreeze-git v3.0.0.rc7.r10.a617c93-1 (27 ينا, 2022 09:48:37 م)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating NewBreeze git repo...
Fetching origin
==> Validating source files with sha256sums...
    NewBreeze ... Skipped
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of NewBreeze git repo...
Cloning into 'NewBreeze'...
done.
==> Starting pkgver()...
==> Updated version: newbreeze-git v3.0.0.rc8.r23.9db0694-1
==> Sources are ready.
==> Making package: newbreeze-git v3.0.0.rc8.r23.9db0694-1 (27 ينا, 2022 09:48:43 م)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
Info: creating stash file /home/darkeye/.cache/yay/newbreeze-git/src/NewBreeze/.qmake.stash
cd common/ && ( test -e Makefile || /usr/bin/qmake-qt5 -o Makefile /home/darkeye/.cache/yay/newbreeze-git/src/NewBreeze/common/common.pro ) && make -f Makefile 
WARNING: Failure to find: Archive/lz4dec.c
WARNING: Failure to find: Archive/NBArchive.cpp
WARNING: Failure to find: Archive/NBBZip2.cpp
WARNING: Failure to find: Archive/NBGZip.cpp
WARNING: Failure to find: Archive/NBLZip.cpp
WARNING: Failure to find: Archive/NBLzma2.cpp
WARNING: Failure to find: Archive/NBLzma.cpp
WARNING: Failure to find: include/common.hpp
WARNING: Failure to find: include/NBArchive.hpp
WARNING: Failure to find: include/NBBZip2.hpp
WARNING: Failure to find: include/NBDeviceInfo.hpp
WARNING: Failure to find: include/NBGZip.hpp
WARNING: Failure to find: include/NBLZip.hpp
WARNING: Failure to find: include/NBLzma2.hpp
WARNING: Failure to find: include/NBLzma.hpp
WARNING: Failure to find: include/NBSystemInfo.hpp
WARNING: Failure to find: include/NBTools.hpp
WARNING: Failure to find: include/NBXdg.hpp
WARNING: Failure to find: include/newbreeze.hpp
WARNING: Failure to find: include/SimpleCrypt.hpp
make[1]: Entering directory '/home/darkeye/.cache/yay/newbreeze-git/src/NewBreeze/common'
make[1]: *** No rule to make target 'Archive/lz4dec.c', needed by 'build/obj-common5/lz4dec.o'.  Stop.
make[1]: Leaving directory '/home/darkeye/.cache/yay/newbreeze-git/src/NewBreeze/common'
make: *** [Makefile:49: sub-common-make_first-ordered] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: newbreeze-git
Press any key to continue...

NewBreeze Git repo

here is my system info

Generated on 2022-01-27 21:47:1643309260

#################### inxi -Fxzc0 ########################

System:
  Kernel: 5.15.16-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0 Desktop: i3 4.20.1
    Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Desktop Mobo: HC . model: HCAR4000-MI serial: <superuser required>
    UEFI: American Megatrends v: 5.16 date: 06/08/2021
CPU:
  Info: 6-core model: AMD Ryzen 5 4500U with Radeon Graphics bits: 64 type: MCP arch: Zen 2 rev: 1
    cache: L1: 384 KiB L2: 3 MiB L3: 8 MiB
  Speed (MHz): avg: 1416 high: 1511 min/max: 1400/2375 boost: enabled cores: 1: 1511 2: 1399
    3: 1397 4: 1397 5: 1397 6: 1397 bogomips: 28453
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: AMD Renoir driver: amdgpu v: kernel bus-ID: 05:00.0
  Display: x11 server: X.Org 1.21.1.3 driver: loaded: amdgpu,ati unloaded: modesetting,radeon
    resolution: 1920x1080~60Hz
  OpenGL: renderer: AMD RENOIR (DRM 3.42.0 5.15.16-1-MANJARO LLVM 13.0.0) v: 4.6 Mesa 21.3.4
    direct render: Yes
Audio:
  Device-1: AMD Renoir Radeon High Definition Audio driver: snd_hda_intel v: kernel
    bus-ID: 05:00.1
  Device-2: AMD Raven/Raven2/FireFlight/Renoir Audio Processor driver: N/A bus-ID: 05:00.5
  Device-3: AMD Family 17h HD Audio vendor: Realtek driver: snd_hda_intel v: kernel
    bus-ID: 05:00.6
  Sound Server-1: ALSA v: k5.15.16-1-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.20 running: no
  Sound Server-3: PulseAudio v: 15.0 running: yes
  Sound Server-4: PipeWire v: 0.3.43 running: yes
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169 v: kernel
    port: f000 bus-ID: 02:00.0
  IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-2: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel bus-ID: 03:00.0
  IF: wlp3s0 state: down mac: <filter>
  Device-3: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169 v: kernel
    port: e000 bus-ID: 04:00.0
  IF: enp4s0 state: down mac: <filter>
Bluetooth:
  Device-1: Intel AX200 Bluetooth type: USB driver: btusb v: 0.8 bus-ID: 3-4:3
  Report: rfkill ID: hci0 rfk-id: 1 state: up address: see --recommends
Drives:
  Local Storage: total: 462.05 GiB used: 172.55 GiB (37.3%)
  ID-1: /dev/nvme0n1 model: S2000 size: 238.47 GiB temp: 30.9 C
  ID-2: /dev/sda type: USB vendor: SanDisk model: ATA SSD PLUS size: 223.57 GiB
Partition:
  ID-1: / size: 238.17 GiB used: 29.73 GiB (12.5%) fs: btrfs dev: /dev/nvme0n1p2
  ID-2: /boot/efi size: 299.4 MiB used: 568 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1
  ID-3: /home size: 238.17 GiB used: 29.73 GiB (12.5%) fs: btrfs dev: /dev/nvme0n1p2
  ID-4: /var/log size: 238.17 GiB used: 29.73 GiB (12.5%) fs: btrfs dev: /dev/nvme0n1p2
Swap:
  ID-1: swap-1 type: file size: 512 MiB used: 67.8 MiB (13.2%) file: /swap/swapfile
Sensors:
  System Temperatures: cpu: N/A mobo: N/A gpu: amdgpu temp: 35.0 C
  Fan Speeds (RPM): N/A
Info:
  Processes: 266 Uptime: 1d 5h 14m Memory: 7.25 GiB used: 2.24 GiB (30.9%) Init: systemd
  Compilers: gcc: 11.1.0 clang: 13.0.0 Packages: 1620 Client: shell wrapper v: 5.1.16-release
  inxi: 3.3.12


Could you help me please?
thanks in advance

The PKGBUILD hasn’t been touched in over two years. It apparently needs to be updated to adapt to upstream changes.


Tip: When pasting terminal output on Discourse forums, one can either…

  • Use the Preformatted text </> toolbar button–NOT the Quote " button.

  • Add three backticks ` above and below the text (Markdown):

    ```
    type or paste code here
    ```

  • Use HTML:

    <pre><code>
    type or paste code here
    </pre></code>

I’ve done it for you this time. :wink:

thanks man :relaxed::+1:t2:

Upon closer examination, the developer had started a Qmake > Meson migration, but hasn’t finished yet. It currently cannot be built with either build system.

1 Like

Looks like this project is dead, anyway. Last entries on GitHub are dated 2020.
One hint for the compile problems could be Update build dependencies (#43) · Issues · Marcus Britanicus / NewBreeze · GitLab

Plus, this project is also on SF: NewBreeze download | SourceForge.net - but it looks like this version is even older.

UPDATE:
Meanwhile, I got this mess to compile but the linker fails, and I don’t understand why:

/usr/bin/ld: build/obj-qt5/NBArchiveTreeModel.o: in function `NBArchiveTreeModel::rowCount(QModelIndex const&) const [clone .localalias]':
NBArchiveTreeModel.cpp:(.text+0x32): undefined reference to `NBArchiveBranch::branchCount()'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0x46): undefined reference to `NBArchiveBranch::branchCount()'
/usr/bin/ld: build/obj-qt5/NBArchiveTreeModel.o: in function `NBArchiveTreeModel::parent(QModelIndex const&) const [clone .localalias]':
NBArchiveTreeModel.cpp:(.text+0x88): undefined reference to `NBArchiveBranch::parent()'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0x9a): undefined reference to `NBArchiveBranch::row()'
/usr/bin/ld: build/obj-qt5/NBArchiveTreeModel.o: in function `NBArchiveTreeModel::data(QModelIndex const&, int) const [clone .localalias]':
NBArchiveTreeModel.cpp:(.text+0x19d): undefined reference to `NBArchiveBranch::data(int) const'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0x1c3): undefined reference to `NBArchiveBranch::name()'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0x26b): undefined reference to `NBArchiveBranch::icon()'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0x2a3): undefined reference to `NBArchiveBranch::name()'
/usr/bin/ld: build/obj-qt5/NBArchiveTreeModel.o: in function `NBArchiveTreeModel::index(int, int, QModelIndex const&) const':
NBArchiveTreeModel.cpp:(.text+0x42d): undefined reference to `NBArchiveBranch::branchCount()'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0x4b8): undefined reference to `NBArchiveBranch::branch(int)'
/usr/bin/ld: build/obj-qt5/NBArchiveTreeModel.o: in function `NBArchiveTreeModel::index(QString, QModelIndex const&) const':
NBArchiveTreeModel.cpp:(.text+0x571): undefined reference to `NBArchiveBranch::branch(QString)'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0x59b): undefined reference to `NBArchiveBranch::row()'
/usr/bin/ld: build/obj-qt5/NBArchiveTreeModel.o: in function `NBArchiveTreeModel::hasBranches(QModelIndex const&) const':
NBArchiveTreeModel.cpp:(.text+0x657): undefined reference to `NBArchiveBranch::branchCount()'
/usr/bin/ld: build/obj-qt5/NBArchiveTreeModel.o: in function `NBArchiveTreeModel::nodeName(QModelIndex) const':
NBArchiveTreeModel.cpp:(.text+0x807): undefined reference to `NBArchiveBranch::name()'
/usr/bin/ld: build/obj-qt5/NBArchiveTreeModel.o: in function `NBArchiveTreeModel::nodePath(QModelIndex) const':
NBArchiveTreeModel.cpp:(.text+0x96b): undefined reference to `NBArchiveBranch::parent()'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0x981): undefined reference to `NBArchiveBranch::row()'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0xb60): undefined reference to `NBArchiveBranch::parent()'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0xb76): undefined reference to `NBArchiveBranch::row()'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0xd57): undefined reference to `NBArchiveBranch::name()'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0xdd8): undefined reference to `NBArchiveBranch::name()'
/usr/bin/ld: build/obj-qt5/NBArchiveTreeModel.o: in function `NBArchiveTreeModel::nodeInfo(QModelIndex) const':
NBArchiveTreeModel.cpp:(.text+0xed4): undefined reference to `NBArchiveBranch::data(int) const'
/usr/bin/ld: build/obj-qt5/NBArchiveTreeModel.o: in function `NBArchiveTreeModel::extract(QString) const':
NBArchiveTreeModel.cpp:(.text+0xfdc): undefined reference to `LibArchiveQt::extractMember(QString)'
/usr/bin/ld: build/obj-qt5/NBArchiveTreeModel.o: in function `NBArchiveTreeModel::extractAll() const':
NBArchiveTreeModel.cpp:(.text+0x107e): undefined reference to `LibArchiveQt::extractArchive()'
/usr/bin/ld: build/obj-qt5/NBArchiveTreeModel.o: in function `NBArchiveTreeModel::growTree()':
NBArchiveTreeModel.cpp:(.text+0x1372): undefined reference to `NBArchiveBranch::NBArchiveBranch(QString, QIcon, NBArchiveBranch*)'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0x14c2): undefined reference to `LibArchiveQt::listArchive()'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0x16d8): undefined reference to `NBArchiveBranch::NBArchiveBranch(QString, QIcon, NBArchiveBranch*)'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0x16e4): undefined reference to `NBArchiveBranch::addBranch(NBArchiveBranch*)'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0x17b4): undefined reference to `NBArchiveBranch::NBArchiveBranch(QString, QIcon, NBArchiveBranch*)'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0x17c0): undefined reference to `NBArchiveBranch::addBranch(NBArchiveBranch*)'
/usr/bin/ld: NBArchiveTreeModel.cpp:(.text+0x184c): undefined reference to `NBArchiveBranch::branch(QString)'
/usr/bin/ld: build/obj-qt5/NBArchiveTreeModel.o: in function `NBArchiveTreeModel::NBArchiveTreeModel(QString)':
NBArchiveTreeModel.cpp:(.text+0x1e02): undefined reference to `LibArchiveQt::LibArchiveQt(QString)'
/usr/bin/ld: build/obj-qt5/NBThumbnailer.o: in function `NBThumbnailer::run()':
NBThumbnailer.cpp:(.text+0x2bdb): undefined reference to `LibArchiveQt::LibArchiveQt(QString)'
/usr/bin/ld: NBThumbnailer.cpp:(.text+0x2c2a): undefined reference to `LibArchiveQt::setDestination(QString)'
/usr/bin/ld: NBThumbnailer.cpp:(.text+0x2c79): undefined reference to `LibArchiveQt::extractMember(QString)'
/usr/bin/ld: build/obj-qt5/NBFolderView.o: in function `NBFolderView::extract(QString)':
NBFolderView.cpp:(.text+0x292e): undefined reference to `LibArchiveQt::LibArchiveQt(QString)'
/usr/bin/ld: NBFolderView.cpp:(.text+0x29bd): undefined reference to `LibArchiveQt::setDestination(QString)'
/usr/bin/ld: NBFolderView.cpp:(.text+0x2a21): undefined reference to `LibArchiveQt::extractArchive()'
/usr/bin/ld: build/obj-qt5/NBFolderView.o: in function `NBFolderView::compress(QStringList)':
NBFolderView.cpp:(.text+0x33c4): undefined reference to `LibArchiveQt::LibArchiveQt(QString)'
/usr/bin/ld: NBFolderView.cpp:(.text+0x3403): undefined reference to `LibArchiveQt::setWorkingDir(QString)'
/usr/bin/ld: NBFolderView.cpp:(.text+0x343f): undefined reference to `LibArchiveQt::updateInputFiles(QStringList)'
/usr/bin/ld: NBFolderView.cpp:(.text+0x34a3): undefined reference to `LibArchiveQt::createArchive()'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:922: newbreeze3] Error 1
make[1]: Leaving directory '/home/gerd/Downloads/newbreeze/src/NewBreeze/app'
make: *** [Makefile:92: sub-app-make_first-ordered] Error 2

UPDATE:
(Starting a separate post for the sake of readability)

These undefined reference errors indeed come from the attempt to change the build system from CMake to Meson. I am not a C++ or Meson genius but as far as I can interpret that, Meson seems to not like anything defined via the class directive. It expects namespace instead.
But converting all the classes in that code to namespaces appears to be equal to rewriting the majority of the code, and that’s apparently why Marcus Britanicus · GitLab gave up on that midway.

/usr/bin/ld: build/obj-qt5/NBArchiveTreeModel.o: in function `NBArchiveTreeModel::rowCount(QModelIndex const&) const [clone .localalias]':
NBArchiveTreeModel.cpp:(.text+0x32): undefined reference to `NBArchiveBranch::branchCount()'

So what can you do instead? Get the latest release prior to this failed transition attempt which appears to be v3.0.0-rc7 and use that one.
Indeed, this version compiles after having adapted it to some recent changes in libvlc.

So, here are the steps I performed to get NewBreeze running:

  1. Edited PKGBUILD to hard wire it to v3.0.0-rc7 and to include the patch needed for libvlc:
# Maintainer: Solomon Choina <shlomochoina@gmail.com>
# updated by DAC324 <dac324@yahoo.de>
pkgname=NewBreeze-git
pkgver=r372.9db0694
_commit=dc0f42b052f3740037c3503495a3839658b58826
pkgrel=1
pkgdesc="A fast and light-weight file manager based on Qt"
arch=('x86_64')
url="https://gitlab.com/marcusbritanicus/NewBreeze"
license=('GPL')
depends=(
         'qt5-base'
         'qtermwidget'
         'qscintilla-qt5'
         'jbig2dec'
         'qt5-webengine'
         'poppler'
         'mpv'
         'djvulibre'
         'poppler-qt5'
         'ffmpegthumbnailer'
         'libmediainfo'
         'libarchive'
         'encfs'
         )
makedepends=('git' 'qt5-base' 'qscintilla-qt5' 'qtermwidget') # 'bzr', 'git', 'mercurial' or 'subversion'
provides=("${pkgname%-VCS}")
conflicts=("${pkgname%-VCS}")
options=()
replaces=()
source=("https://gitlab.com/marcusbritanicus/NewBreeze/-/archive/$_commit/NewBreeze-$_commit.zip"
        'libvlc.patch')
sha256sums=('SKIP'
            'd6720a71e48dd24b2669c2ad6871b154d71e491256eb7a42b9df6f7625dd88bd')


build() {
	cd "$srcdir/NewBreeze-$_commit"
        patch -p1 -i ../../libvlc.patch
	qmake-qt5 PREFIX=/usr DEFINES+=USE_MEDIAINFO
	make
}

package() {
	cd "$srcdir/NewBreeze-$_commit"
	make INSTALL_ROOT="$pkgdir/" install
}
  1. Created libvlc.patch with the following contents and placed it in the same folder as PKGBUILD:
diff --git a/plugins/AVPlugin/NBAVPlayer.cpp b/plugins/AVPlugin/NBAVPlayer.cpp
index 8655727..12063a1 100644
--- a/plugins/AVPlugin/NBAVPlayer.cpp
+++ b/plugins/AVPlugin/NBAVPlayer.cpp
@@ -127,7 +127,7 @@ void NBAVPlayer::stop() {
 
 	if ( mIsPlaying ) {
 		/* Stop playing */
-		libvlc_media_player_stop( mp );
+		libvlc_media_player_stop_async( mp );
 
 		/* Is video playing */
 		mIsPlaying = false;
@@ -142,16 +142,16 @@ void NBAVPlayer::seek( int ms, bool forward ) {
 
 	if ( forward ) {
 		int newtime = curtime + ms;
-		libvlc_media_player_set_time( mp, newtime );
+		libvlc_media_player_set_time( mp, newtime, true );
 	}
 
 	else {
 		int newtime = curtime - ms;
 		if ( newtime < 0 )
-			libvlc_media_player_set_time( mp, 0 );
+			libvlc_media_player_set_time( mp, 0, true );
 
 		else
-			libvlc_media_player_set_time( mp, newtime );
+			libvlc_media_player_set_time( mp, newtime, true );
 	}
 
 	libvlc_media_player_play( mp );
  1. Run makepkg -i.
  2. Start NewBreeze from the start menu :slight_smile:

Maybe submit this patch upstream as an MR at

That appears to be a great idea at the first glance but there is one problem: The patch is against v3.0.0-rc7. It might apply to the latest version v3.0.0-rc8 as well but there, it is currently useless as the transition to Meson has not been finished.
As a consequence, v3.0.0-rc8 cannot be compiled anyway.

Okay. Maybe just add it as an issue then, explaining that you could not “port” the patch to -rc8 as it does not compile at all.

Things are even more interesting here. It looks like in v3.0.0-rc8, libvlc was dropped in favor of using mpv instead. So, it looks like that patch does not make any sense for v3.0.0-rc8 whatsoever.

Unfortunately, there is no activity from maintainer’s side to this project since a few months (according to GitHub) so I doubt that filing an additional issue there will be of any help.

The maintainer is also working on lots of other stuff, including a DE, so give him time.

But yeah. NewBreeze does not look like a project that’s actively maintained and it might just be less headache to pick a different file manager.

I could not agree more. For me, it was just curiosity that made me try this package.

But I must admit that I am a bit disappointed, in particular, after having read several reviews for NewBreeze on the net which rated it among the Top 5 file managers for Linux.

Here, the program looks rather ugly, mostly due to column width not being adjustable (see screenshot). Plus, I was not yet able to identify any advantages compared to Thunar or Dolphin or even Double Commander (which is the one I mostly use, because there’s no Total Commander for Linux, unfortunately).