./configure --with-wayland=no make
It compiles if I remove these lines:
diff --git i/src/Makefile w/src/Makefile index 0423cede7..084587a6e 100644 --- i/src/Makefile +++ w/src/Makefile @@ -3837,10 +3837,7 @@ objects/clipboard.o: auto/osdef.h clipboard.c vim.h protodef.h auto/config.h fea os_unix.h ascii.h keymap.h termdefs.h macros.h option.h beval.h \ structs.h regexp.h gui.h libvterm/include/vterm.h \ libvterm/include/vterm_keycodes.h xdiff/xdiff.h xdiff/../vim.h alloc.h \ - ex_cmds.h spell.h proto.h globals.h errors.h wayland.h \ - auto/wayland/wlr-data-control-unstable-v1.h \ - auto/wayland/ext-data-control-v1.h auto/wayland/xdg-shell.h \ - auto/wayland/primary-selection-unstable-v1.h + ex_cmds.h spell.h proto.h globals.h errors.h objects/cmdexpand.o: auto/osdef.h cmdexpand.c vim.h protodef.h auto/config.h feature.h \ os_unix.h ascii.h keymap.h termdefs.h macros.h option.h beval.h \ structs.h regexp.h gui.h libvterm/include/vterm.h \
Make compiles vim.
9.1.1845
Arch Linux
.... make[1]: Entering directory '/home/benyip/ghq/github.com/vim/vim/src' gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/alloc.o alloc.c gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/arabic.o arabic.c gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/arglist.o arglist.c gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/autocmd.o autocmd.c gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/beval.o beval.c gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/buffer.o buffer.c gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/change.o change.c gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/blob.o blob.c gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/blowfish.o blowfish.c gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/cindent.o cindent.c gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/clientserver.o clientserver.c make[1]: *** No rule to make target 'auto/wayland/wlr-data-control-unstable-v1.c', needed by 'auto/wayland/wlr-data-control-unstable-v1.h'. Stop. make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory '/home/benyip/ghq/github.com/vim/vim/src' make: *** [Makefile:29: first] Error 2
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.
I see the same problem after patchlevel 1844 when building Vim in Fedora.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.
I saw the comment in the src/Makefile
about the rule depend
requires wayland, but IMHO there are still valid use case for Vim not having hard requirement for Wayland. I'll see if I can come up with something which would not need to manual adjust of Makefile after every make depend
, but do not wait for me with a fix.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.
I seems the make depend
rule does not work very well. I have manually updated the Makefile dependencies now. Please check: #18538
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.
Below is a description of the issue—partly for my own reference:
When you run make depend
, it uses the settings from the current configure. If you do:
$ ./configure --with-wayland $ make depend
then src/Makefile
will include auto/wayland/*.h
as a dependency for objects/clipboard.o
. Later, if you switch to a build directory configured without Wayland:
$ ./configure --without-wayland $ make
the build fails. During the compilation of clipboard.c
, make
looks for the header files auto/wayland/*.h
(because they're listed as dependencies), can't find them, and then tries to generate them via the corresponding .c
files (auto/wayland/*.c
), which also don't exist—resulting in an error.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.
@h-east I confirm this - make depend
depends on current configuration, so I'm not sure whether its output should be put into shipped Makefile. Maybe force make depend
to run before normal compilation starts and configuration is done?
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.
@zdohnal Sorry. It was just that the AI didn’t translate it correctly. I believe I understand this issue.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.
yes, I think you need to build a full Vim with all dependencies and interpreters so that the dependencies for those interpreters are correctly caught. And it seemed this caused the additional dependencies for wayland to be added (which is fine, if you want to build a wayland enabled vim, but breaks horribly when this is not wanted). One more lesson learnt: do not run make depend
.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.
Closed #18537 as completed via 1201afb.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.