make install fails with "No rule to make target 'include/poser/core.h', needed by 'posercore_install_headers'."
Closed this issue ยท 3 comments
The make install phase crashes with the following error. This happens in both the git checkout and the 0.5 release tarball.
make[1]: *** No rule to make target 'include/poser/core.h', needed by 'posercore_install_headers'. Stop.
make: *** [zimk/lib/platform.mk:9: install] Error 2
- OS: Debian 12
- All dependencies in the Readme are installed.
- I am using GNU make and bash
kyle@didacus:~/src/xmoji-0.5$ make DESTDIR=/usr/local/stow/xmoji-0.5 -j12
[CFG] [release]
fatal: not a git repository (or any of the parent directories): .git
[MD] obj/x86_64-linux-gnu/release/src/bin/xmoji
[MD] obj/x86_64-linux-gnu/release/poser/src/lib/core
(Output elided)
[AR] lib/x86_64-linux-gnu/release/libposercore.a
[CCLD] bin/x86_64-linux-gnu/release/xmoji
[STRP] bin/x86_64-linux-gnu/release/xmoji
kyle@didacus:~/src/xmoji-0.5$ make DESTDIR=/usr/local/stow/xmoji-0.5 install
[CFG] [release]
[CC] obj/x86_64-linux-gnu/release/poser/src/lib/core/certinfo_s.o
[CC] obj/x86_64-linux-gnu/release/poser/src/lib/core/client_s.o
[CC] obj/x86_64-linux-gnu/release/poser/src/lib/core/connection_s.o
[CC] obj/x86_64-linux-gnu/release/poser/src/lib/core/daemon_s.o
[CC] obj/x86_64-linux-gnu/release/poser/src/lib/core/event_s.o
[CC] obj/x86_64-linux-gnu/release/poser/src/lib/core/hashtable_s.o
[CC] obj/x86_64-linux-gnu/release/poser/src/lib/core/list_s.o
[CC] obj/x86_64-linux-gnu/release/poser/src/lib/core/log_s.o
[CC] obj/x86_64-linux-gnu/release/poser/src/lib/core/queue_s.o
[CC] obj/x86_64-linux-gnu/release/poser/src/lib/core/runopts_s.o
[CC] obj/x86_64-linux-gnu/release/poser/src/lib/core/server_s.o
[CC] obj/x86_64-linux-gnu/release/poser/src/lib/core/service_s.o
[CC] obj/x86_64-linux-gnu/release/poser/src/lib/core/stringbuilder_s.o
[CC] obj/x86_64-linux-gnu/release/poser/src/lib/core/threadpool_s.o
[CC] obj/x86_64-linux-gnu/release/poser/src/lib/core/timer_s.o
[CC] obj/x86_64-linux-gnu/release/poser/src/lib/core/util_s.o
[CCLD] lib/x86_64-linux-gnu/release/libposercore.so.1.1.0
[INST] /usr/local/stow/xmoji-0.5/usr/local/lib/libposercore.so.1.1.0
make[1]: *** No rule to make target 'include/poser/core.h', needed by 'posercore_install_headers'. Stop.
make: *** [zimk/lib/platform.mk:9: install] Error 2
Removing the DESTDIR variable (which I use for GNU Stow) doesn't seem to help. Even a dry run exposes the same error message.
kyle@didacus:~/src/xmoji-0.5$ make install -n
if [ -t 1 ]; then make --no-print-directory ZIMK__ISTTY=1 install; \
else make --no-print-directory ZIMK__ISTTY=0 install; fi
[CFG] [release]
echo " [INST] /usr/local/lib/libposercore.so.1.1.0"
install -d /usr/local/lib ; install -m755 lib/x86_64-linux-gnu/release/libposercore.so.1.1.0 /usr/local/lib
ln -fs libposercore.so.1.1.0 /usr/local/lib/libposercore.so.1
ln -fs libposercore.so.1 /usr/local/lib/libposercore.so
make[1]: *** No rule to make target 'include/poser/core.h', needed by 'posercore_install_headers'. Stop.
make: *** [zimk/lib/platform.mk:9: install] Error 2
Please let me know if you need any more information. I just recently switched back to a lightweight desktop environment, and I'm looking forward to getting xmoji to run.
Side note: I guess I should be using PREFIX for GNU Stow, not DESTDIR. I always get the two mixed up and figure it out eventually.
Anyway, this missing rule error happens regardless of PREFIX/DESTDIR options.
Same issue, debian 12, gnu bash
[CFG] [release]
[INST] /usr/local/lib/libposercore.so.1.1.0
make[1]: *** No rule to make target 'include/poser/core.h', needed by 'posercore_install_headers'. Stop.
make: *** [zimk/lib/platform.mk:9: install] Error 2Confirmed bug, the issue is trying to install the bundled poser lib (from the git submodule) which it shouldn't do! My fault not testing installation ever since I bundled poser.
Quick fix: So far it's a single binary and nothing else, copy it manually! ๐๐
I'll look into it soon, probably an easy fix in the makefiles as well. (edit: even easier than I thought ...)