make: No rule to make target '/usr/include/x86_64-linux-gnu/unicode/ucnv.h' #782

Closed
opened 2026-10-05 04:44:03 +02:00 by adam · 3 comments
Owner

Ambiguous make error, probably means I am missing some sort of dependency.

[zarthus@starlight ~/dev/znc] $  make                                                  
make: *** No rule to make target '/usr/include/x86_64-linux-gnu/unicode/ucnv.h', needed by 'src/main.o'.  Stop.

Seems to be resolved after a make clean, but I have no idea what caused it.

Ambiguous make error, probably means I am missing some sort of dependency. ```bash [zarthus@starlight ~/dev/znc] $ make make: *** No rule to make target '/usr/include/x86_64-linux-gnu/unicode/ucnv.h', needed by 'src/main.o'. Stop. ``` Seems to be resolved after a `make clean`, but I have no idea what caused it. <!-- github-sync-id:242153351 -->
adam closed this issue 2026-10-05 04:44:03 +02:00
Author
Owner

During compilation, GCC is called in such a way to record which include files it used in a file inside .depend. This file is later used by make to figure out when it has to rebuild some other file because a header changed. This is mainly meant for modifications to ZNC's own headers, but the file also lists system headers.

In your case, one of these system headers was removed (during an update?). This case is not handled well, as you noticed.

During compilation, GCC is called in such a way to record which include files it used in a file inside `.depend`. This file is later used by `make` to figure out when it has to rebuild some other file because a header changed. This is mainly meant for modifications to ZNC's own headers, but the file also lists system headers. In your case, one of these system headers was removed (during an update?). This case is not handled well, as you noticed. <!-- github-comment-id:314665489 -->
Author
Owner

Yes, the upgrade to Debian 9 was one of the few things that changed (but I had kind of forgotten about) since my last compilation, I figured I'd make a report before the error gets lost in the abyss and clarify on it later.

Yes, the upgrade to Debian 9 was one of the few things that changed (but I had kind of forgotten about) since my last compilation, I figured I'd make a report before the error gets lost in the abyss and clarify on it later. <!-- github-comment-id:314859383 -->
Author
Owner
root@belonvps:/home/znc/znc-1.8.2# ./znc
./znc: error while loading shared libraries: libicuuc.so.66: cannot open shared object file: No such file or directory


root@belonvps:/home/znc/znc-1.8.2# make
make: *** No rule to make target '/usr/include/c++/9/map', needed by 'src/main.o'.  Stop.

this happened to me on ubuntu 22.04.3 after updating and upgrading from 22.04.2 it resolved after i use make clean and recompile back znc. i can't even start znc after the upgrade luckily i found this post, after make clean and after that make and make install, everything seems fix.

``` root@belonvps:/home/znc/znc-1.8.2# ./znc ./znc: error while loading shared libraries: libicuuc.so.66: cannot open shared object file: No such file or directory ``` ``` root@belonvps:/home/znc/znc-1.8.2# make make: *** No rule to make target '/usr/include/c++/9/map', needed by 'src/main.o'. Stop. ``` this happened to me on ubuntu 22.04.3 after updating and upgrading from 22.04.2 it resolved after i use `make clean` and recompile back znc. i can't even start znc after the upgrade luckily i found this post, after `make clean` and after that make and make install, everything seems fix. <!-- github-comment-id:1668773513 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/znc#782