0

EDITED: (After solved): so guy's, It's seems like the base-devel pkg. Which one have include header on it. Now working properly :)

Thanks to you guy's (i get this help from a FaceBook Linux-user Group )

I am installing a package at the moment on to my Void Linux x86_64 version 5.4.21_1 and I have run into a problem with the 'make' command. I have installed the package command and I am now at the stage where I have to use the 'make' command followed by the 'make install' command. According to the instructions for the package you just type 'make' and 'make install' and it should compile. When I use the 'make' command I get the following error :

Does anyone have any suggestions? Thanks .

This is the full error. GCC is definitely installed. I am running the 'make' command from the directory with the makefile in it. And this is not only for st pkg. I have faced this problem with any git installation packages. :(

$ git clone https://github.com/LukeSmithxyz/st
$ cd st 

$ make
st build options:
CFLAGS  = -I/usr/X11R6/include  -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16  -I/usr/include/freetype2 -I/usr/include/libpng16 -DVERSION="0.8.2" -D_XOPEN_SOURCE=600  -O1
LDFLAGS = -L/usr/X11R6/lib -lm -lX11 -lutil -lXft -lXrender  -lfontconfig -lfreetype  -lfreetype
CC      = ”/usr/bin/cc”
”/usr/bin/cc” -I/usr/X11R6/include  `pkg-config --cflags fontconfig`  `pkg-config --cflags freetype2` -DVERSION=\"0.8.2\" -D_XOPEN_SOURCE=600  -O1 -c x.c
/bin/sh: 1: ”/usr/bin/cc”: not found
make: *** [Makefile:22: x.o] Error 127

$ sudo make install
Password:
c99 -I/usr/X11R6/include  `pkg-config --cflags fontconfig`  `pkg-config --cflags freetype2` -DVERSION=\"0.8.2\" -D_XOPEN_SOURCE=600  -O1 -c x.c
x.c:11:10: fatal error: X11/Xatom.h: No such file or directory
   11 | #include <X11/Xatom.h>
      |          ^~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:22: x.o] Error 1
6
  • 1
    Do you have X11 headers installed on your system at all? I don't know what the package may be called that has these on your Void Linux system, but on Ubuntu it's called x11proto-dev. Also note that you typed sudo make install without make first (there is no reason run the compile itself as root). – Kusalananda Feb 23 '20 at 12:51
  • @Kusalananda No i don't have x11proto-dev on my repo. all i have is x11perf and x11vnc . it's a new installed OS. But i used it before and didn't have anykind of problem like this. – Likhon BaRoy Feb 23 '20 at 13:00
  • 1
    According to the instructions you need fontconfig, libX11 and libXft, so it's probably libxft-dev (search voidlinux.org/packages). On Debian the x11proto-core-dev is an indirect dependency of libxft-dev, so that would make sense. – Freddy Feb 23 '20 at 13:11
  • 1
    Using the Void package search there are fontconfig-devel, libX11-devel and libXft-devel packages... – Freddy Feb 23 '20 at 15:30
  • 1
    If you have solved your issue, then you should write that as an answer. It's totally ok to self-answer questions. After you have accepted your own answer (or anybody else's, if there is a better one), the issue will be marked as resolved. – Kusalananda Feb 23 '20 at 17:41
1

The issue is that you don't have the C language headers available for the X11 libraries. On Linux, the header files are usually not packaged with the actual libraries as they are never needed to run the programs that uses the libraries. Instead, they are provided in separate packages.

The software that you are trying to compile depends on the fontconfig tool, as well as the libX11 and libXft libraries and the associated header files. This is according to the software's README.md file.

The fontconfig tool is available as the fontconfig package on Void Linux (you may also need fontconfig-devel), while the two libraries would be available as the four packages libX11, libX11-devel, libXft and libXft-devel. It's the -devel packages that you need for the header files. Once the software has been compiled, these may be uninstalled again (they will at least not be used for this particular task again). The other packages are needed to run whatever software you compile.

You also don't seem to have cc (the C compiler) installed. This (as well as many other tools used to build software) is provided by the base-devel meta package on Void Linux.

As I'm not a Linux user, I can't test these things.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.