Package Details: powder 118-1

Git Clone URL: https://aur.archlinux.org/powder.git (read-only, click to copy)
Package Base: powder
Description: A graphical roguelike, originally designed for the Game Boy Advance
Upstream URL: http://www.zincland.com/powder/
Keywords: game roguelike sdl
Licenses: custom
Submitter: KillaB
Maintainer: pika
Last Packager: gim
Votes: 33
Popularity: 0.25
First Submitted: 2008-12-09 04:43 (UTC)
Last Updated: 2018-03-28 09:49 (UTC)

Required by (0)

Sources (1)

Latest Comments

1 2 Next › Last »

pika commented on 2026-08-08 20:34 (UTC) (edited on 2026-08-08 20:34 (UTC) by pika)

Got back on my Arch laptop and it builds okay, sdl provided by the same compat layer:

$ pacman -Qi sdl12-compat
Name            : sdl12-compat
Version         : 1.2.68-2
[ ... ]
Provides        : sdl=1:1.2.15+r406+gf1caf909-1

I get the same warnings but they don't break the build.

irb commented on 2026-08-05 20:15 (UTC)

Ah, I've got sdl12-compat installed as a dependency for a few things.

Name : sdl12-compat Version : 1.2.68-2

In my env though, and having tried "sdl12-compat-git", "sdl", and back to sdl12-compat, I still get a linking failure at gfx/all_bitmaps.o with the "sdl" package.

I do get some compiler warnings though.


$ rm -rf powder && auracle download powder && cd powder && makepkg -cf 2>&1 > powder-output.txt
clone complete: /usr/local/src/aur/powder
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed
100  1.85M 100  1.85M   0      0  2.14M      0                              0
    powder-118.tar.gz ... Passed
map2c.cpp:43:19: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
   43 | char *glb_quest = "-1";
      |                   ^~~~
map2c.cpp:43:19: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
   43 | char *glb_quest = "-1";
      |                   ^~~~
../../gfxengine.cpp: In function ‘void vblFunc()’:
../../gfxengine.cpp:573:5: warning: ‘++’ expression of ‘volatile’-qualified type is deprecated [-Wvolatile]
  573 |     glb_framecount++;
      |     ^~~~~~~~~~~~~~
../../piety.cpp: In member function ‘void MOB::pietyGainLevel()’:
../../piety.cpp:1369:15: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
 1369 |     menu[0] = "Select a god";
      |               ^~~~~~~~~~~~~~
../../action.cpp: In member function ‘bool MOB::actionRead(int, int)’:
../../action.cpp:3647:32: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
 3647 |                 options[i++] = "cancel";
      |                                ^~~~~~~~
In file included from linuxmain.cpp:8:
../../main.cpp: In function ‘bool processAction(ACTION_NAMES, SPELL_NAMES, MOB*)’:
../../main.cpp:5231:25: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
 5231 |             menu[i++] = "All Pets";
      |                         ^~~~~~~~~~
../../main.cpp: In function ‘int gba_main()’:
../../main.cpp:6575:40: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
 6575 |                 char            *msg = "Hit [Enter] to play again.  ";
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: cannot find ../../gfx/all_bitmaps.o: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Makefile:63: powder-static] Error 1
cp: cannot stat 'powder': No such file or directory
install: cannot stat 'powder': No such file or directory
==> ERROR: A failure occurred in package().
    Aborting...

I'm going to keep looking at it, as time allows, and maybe you see something here that'd help.

pika commented on 2026-08-05 05:45 (UTC) (edited on 2026-08-05 05:46 (UTC) by pika)

@irb: At a slightly different set-up than I have normally (WSL2 instead of my dedicated laptop) and AUR sdl:

$ pacman -Qi sdl
Name            : sdl
Version         : 1:1.2.15+r588+ge1c0d799-1
[ ... ]

$ pacman -Qi gcc
Name            : gcc
Version         : 16.1.1+r595+g171d15ac6959-1
[ ... ]

$ gcc --version
gcc (GCC) 16.1.1 20260728

It builds fine:

$ makepkg -f
[ ... ]
rm -f libstdc++.a
ln -s `g++ -print-file-name=libstdc++.a`
g++ -static-libgcc -L. -o powder linuxmain.o ../sdl/hamfake.o ../../action.o ../../assert.o ../../ai.o ../../artifact.o ../../bmp.o ../../build.o ../../buf.o ../../control.o ../../creature.o ../../dpdf_table.o ../../encyc_support.o ../../gfxengine.o ../../grammar.o ../../hiscore.o ../../input.o ../../intrinsic.o ../../item.o ../../map.o ../../mobref.o ../../msg.o ../../name.o ../../piety.o ../../rand.o ../../signpost.o ../../smokestack.o ../../speed.o ../../sramstream.o ../../stylus.o ../../victory.o ../../encyclopedia.o ../../glbdef.o ../../credits.o ../../license.o ../../gfx/all_bitmaps.o ../../rooms/allrooms.o `sdl-config --libs` -O3 -Wno-narrowing -DCHANGE_WORK_DIRECTORY -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now          -Wl,-z,pack-relative-relocs -flto=auto
Run powder to play

and it runs normally. The object you're missing is part of my build output:

g++ -DLINUX -I ../../port/sdl `sdl-config --cflags` -c ../../gfx/all_bitmaps.cpp -o ../../gfx/all_bitmaps.o -O3 -Wno-narrowing -DCHANGE_WORK_DIRECTORY                                                                                          

Was there a failed build for that object in particular?

pika commented on 2026-08-03 22:27 (UTC)

Will take a look!

irb commented on 2026-08-03 22:24 (UTC) (edited on 2026-08-03 22:25 (UTC) by irb)

Unfortunately, the build fails trying to link "all_bitmaps.o".


rm -f libstdc++.a
ln -s `g++ -print-file-name=libstdc++.a`
g++ -static-libgcc -L. -o powder linuxmain.o ../sdl/hamfake.o ../../action.o ../../assert.o ../../ai.o ../../artifact.o ../../bmp.o ../../build.o ../../buf.o ../../control.o ../../creature.o ../../dpdf_table.o ../../encyc_support.o ../../gfxengine.o ../../grammar.o ../../hiscore.o ../../input.o ../../intrinsic.o ../../item.o ../../map.o ../../mobref.o ../../msg.o ../../name.o ../../piety.o ../../rand.o ../../signpost.o ../../smokestack.o ../../speed.o ../../sramstream.o ../../stylus.o ../../victory.o ../../encyclopedia.o ../../glbdef.o ../../credits.o ../../license.o ../../gfx/all_bitmaps.o ../../rooms/allrooms.o `sdl-config --libs` -O3 -Wno-narrowing -DCHANGE_WORK_DIRECTORY -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now          -Wl,-z,pack-relative-relocs
/usr/bin/ld: cannot find ../../gfx/all_bitmaps.o: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Makefile:63: powder-static] Error 1
cp: cannot stat 'powder': No such file or directory

g++ (GCC) 16.1.1 20260728 (building with GCC 15 fails similarly)

Theredbaron1834 commented on 2018-03-15 07:27 (UTC) (edited on 2018-03-15 07:45 (UTC) by Theredbaron1834)

It was updated. However, changing version to 118, as well as Jseamon's fix, and it will update/install/run just fine. For those who want a "working" pkgbuild, I added one to github. All I did is change to 118, add said fix, and add a desktop file for menu support, and of course the 118 sha256sum.

https://github.com/theredbaron1834/pkgbuilds/blob/master/Powder.PKGBUILD

jseamon commented on 2016-10-21 02:50 (UTC)

fix the narrowing error by adding the following line to build(): export CXXFLAGS='-O3 -Wno-narrowing'

<deleted-account> commented on 2015-08-30 13:47 (UTC)

I've recently moved to Gentoo full-time, so I'm disowning all my packages. Farewell!

<deleted-account> commented on 2013-07-25 12:17 (UTC)

Gladly readopting!

<deleted-account> commented on 2013-07-24 10:55 (UTC)

I am not using Arch anymore, so feel free to adopt my packages.