You are not logged in.

#1 2025-07-14 15:51:19

teckk
Member
Registered: 2013-02-21
Posts: 564

Rox-filer

I don't have an AUR registration. Maybe the maintainer will see this. Or someone else has figured it out already.

https://aur.archlinux.org/packages/rox

Rox-filer does not compile.

~/cpp/rox/src/rox-filer-2.11/ROX-Filer/src/dnd.c: In function ‘uri_list_to_utf8’:
/usr/include/glib-2.0/glib/gstring.h:76:5: warning: ignoring return value of ‘g_string_free_and_steal’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   72 |   (__builtin_constant_p (free_segment) ?        \
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   73 |     ((free_segment) ?                           \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   74 |       (g_string_free) ((str), (free_segment)) : \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   75 |       g_string_free_and_steal (str))            \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   76 |     :                                           \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   77 |     (g_string_free) ((str), (free_segment)))
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~/cpp/rox/src/rox-filer-2.11/ROX-Filer/src/dnd.c:372:9: note: in expansion of macro ‘g_string_free’
  372 |         g_string_free(new, FALSE);
      |         ^~~~~~~~~~~~~
make: *** [<builtin>: dnd.o] Error 1
Compile failed
Press Return...

An old package of rox, /var/cache/pacman/pkg/rox-2.11-6-x86_64.pkg.tar.zst, that I have been keeping going, will run with extra/libxml2-legacy installed. For anyone else that has an old version in your pacman cache.

This is the PKGBUILD I used, from the failed AUR compile

pkgname=rox
pkgver=2.11
pkgrel=7
pkgdesc="A small and fast file manager which can optionally manage the desktop background and panels"
arch=('x86_64')
license=('GPL')
url="http://rox.sourceforge.net/desktop/"
depends=('sh' 'libsm' 'gtk2')
makedepends=('librsvg' 'python')
source=("https://downloads.sourceforge.net/${pkgname}/rox-filer-${pkgver}.tar.bz2"
        'rox.desktop' 'rox.svg' 'rox.sh')
sha256sums=('a929bd32ee18ef7a2ed48b971574574592c42e34ae09f36604bf663d7c101ba8'
            '183ba9abb8ab84e36b59287977a79e45b5530c8026b3f0b8d3f6ff3f3e311320'
            '6d48e937bec9027aacc9e2828467161ed1488c1e8587eb37a5681d3852b824ea'
            '5b2f007e304220551cfecdca28333f5421ecfb3f084c4b44bd0cb2321dc51c40')

prepare() {
  cd "$srcdir/rox-filer-$pkgver"
  # python3 compatibility
  sed -i 's/print \("Extracting translatable bits from Options.xml..."\)/print(\1)/' ROX-Filer/src/po/tips.py
  sed -i 's/if attrs.has_key(x)/x in attrs/' ROX-Filer/src/po/tips.py
  sed -i 's/get_gtk_builder(/get_gtk_builder((gchar**)/' ROX-Filer/src/log.c
  sed -i 's/dialog = \(gtk_builder_get_object.*\);/dialog = GTK_WIDGET(\1);/' ROX-Filer/src/log.c
}

build() {
  cd "$srcdir/rox-filer-$pkgver"
  ./ROX-Filer/AppRun --compile CFLAGS="$CFLAGS -fcommon" LIBS="-ldl -lm"
  # finally we render a png as fallback for svg unaware menu applications
  # Attention: always make sure you check the dimensions of the source-svg,
  # you can read the dimensions via inkscape's export function
  rsvg-convert -w 125 -h 100 -f png -o "$srcdir/rox.png" "$srcdir/rox.svg"
}

package() {
  cd "$srcdir/rox-filer-$pkgver"
  install -d "$pkgdir/usr/share/Choices/MIME-types"
  install -m755 Choices/MIME-types/* "$pkgdir/usr/share/Choices/MIME-types/"
  cp -rp ROX-Filer "$pkgdir/usr/share/"
  rm -fr "$pkgdir"/usr/share/ROX-Filer/{src,build}
 
  install -Dm755 "$srcdir/rox.sh" "$pkgdir/usr/bin/rox"
  install -Dm644 rox.1 "$pkgdir/usr/share/man/man1/rox.1"
  ln -sf rox.1 "$pkgdir/usr/share/man/man1/ROX-Filer.1"

  install -Dm644 "$srcdir/rox.desktop" "$pkgdir/usr/share/applications/rox.desktop"
  install -Dm644 "$srcdir/rox.svg" "$pkgdir/usr/share/pixmaps/rox.svg"
  install -Dm644 "$srcdir/rox.png" "$pkgdir/usr/share/pixmaps/rox.png"
}

Offline

#2 2025-07-14 16:13:31

loqs
Member
Registered: 2014-03-06
Posts: 18,729

Re: Rox-filer

The error was earlier in the build than the end shown in your output snippet:

/build/rox/src/rox-filer-2.11/ROX-Filer/src/icon.c:145:39: error: initialization of ‘void (*)(void)’ from incompatible pointer type ‘void (*)(void *, guint,  GtkWidget *)’ {aka ‘void (*)(void *, unsigned int,  struct _GtkWidget *)’} [-Wincompatible-pointer-types]
  145 | {N_("Remove Item(s)"),          NULL, remove_items, 0, "<StockItem>", GTK_STOCK_REMOVE},
      |                                       ^~~~~~~~~~~~
/build/rox/src/rox-filer-2.11/ROX-Filer/src/icon.c:145:39: note: (near initialization for ‘menu_def[14].callback’)
/build/rox/src/rox-filer-2.11/ROX-Filer/src/icon.c:104:13: note: ‘remove_items’ declared here
  104 | static void remove_items(gpointer data, guint action, GtkWidget *widget);
      |             ^~~~~~~~~~~~

Quickest work around is to add `-Wno-error=incompatible-pointer-types` to CFLAGS on line 32:

  ./ROX-Filer/AppRun --compile CFLAGS="$CFLAGS -fcommon -Wno-error=incompatible-pointer-types" LIBS="-ldl -lm"

Offline

#3 2025-07-14 16:13:45

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 71,575

Re: Rox-filer

Edit: moot and apparently irrelevant.

Last edited by seth (2025-07-14 16:14:32)

Offline

#4 2025-07-14 16:31:06

teckk
Member
Registered: 2013-02-21
Posts: 564

Re: Rox-filer

Yup, that compiles with:

./ROX-Filer/AppRun --compile CFLAGS="$CFLAGS -fcommon -Wno-error=incompatible-pointer-types" LIBS="-ldl -lm"

Thank you.
https://0x0.st/8kNG.png

Offline

Board footer

Powered by FluxBB