The executable looks for its data file in the temporary staging directory and not in the final installation directory. This happens because in the program's Makefile, the PREFIX variable (set to STAGEDIR+PREFIX) is both embedded in the executable and used as the install target. How to reproduce: # make -C /usr/ports/games/einstein install $ einstein ... works ... # make -C /usr/ports/games/einstein clean $ einstein 0x4a0004Resource 'cursor.bmp' not found The attached patch changes the path that is embedded in the executable to just the PREFIX without STAGEDIR. The install target still includes STAGEDIR.
Created attachment 144552 [details] Fix
Created attachment 144786 [details] Alternative fix Discovered DESTDIR. It all makes sense now. Alternative fix attached.
A commit references this bug: Author: wg Date: Sun Jul 27 19:20:07 UTC 2014 New revision: 363095 URL: http://svnweb.freebsd.org/changeset/ports/363095 Log: games/einstein: fix staging PR: 191779 Submitted by: Andrey Zholos Approved by: maintainer (timeout) Changes: head/games/einstein/files/patch-Makefile