Using “tar -Jxvf *.tar.xz
” command can decompress “*.tar.xz
” file. E.g.:
[root@localhost ~]# wget https://www.kernel.org/pub/linux/kernel/v4.x/testing/linux-4.2-rc3.tar.xz
[root@localhost ~]# tar -Jxvf linux-4.2-rc3.tar.xz
Using “tar -Jxvf *.tar.xz
” command can decompress “*.tar.xz
” file. E.g.:
[root@localhost ~]# wget https://www.kernel.org/pub/linux/kernel/v4.x/testing/linux-4.2-rc3.tar.xz
[root@localhost ~]# tar -Jxvf linux-4.2-rc3.tar.xz
When uploading Luajit
(for example, v2.0.4
) from Windows
to Linux
, you may get the following compile error:
In file included from lj_ffrecord.c:859:0:
lj_recdef.h:224:1: error: ‘recff_rawlen’ undeclared here (not in a function)
recff_rawlen,
^
Makefile:645: recipe for target 'lj_ffrecord.o' failed
The root cause is in src/host/buildvm_lib.c
:
void emit_lib(BuildCtx *ctx)
{
......
int ok = 1;
if (!strcmp(buf, "#if LJ_52\n"))
ok = LJ_52;
else if (!strcmp(buf, "#if LJ_HASJIT\n"))
ok = LJ_HASJIT;
else if (!strcmp(buf, "#if LJ_HASFFI\n"))
ok = LJ_HASFFI;
......
}
Because in Windows
, the EOL(End-of-Line
) should be “\r\n
“, so the !strcmp(buf, "#if LJ_52\n")
will return false (!strcmp(buf, "#if LJ_52\r\n")
will return true). The modify method is using the dos2unix
tool to convert the whole folder:
# cd LuaJIT-2.0.4
# find . -type f -print0 | xargs -0 dos2unix
Then compile will be OK.
Reference:
(1) The EOL difference in Windows and UNIX may generate compile error;
(2) How can I run dos2unix on an entire directory?.
Recently, when I try to build an open source project, I meet the following compile error:
fatal error: 'libelf.h' file not found
#include <libelf.h>
^
1 error generated.
The solution is installing elfutils-libelf-devel
package:
sudo yum install elfutils-libelf-devel
Or:
sudo dnf install elfutils-libelf-devel
(You can also read this post on itechlounge.net)
The EPEL repository provides clang
RPM package. So to install clang
on CentOS 7
, You need to installEPEL
first:
sudo yum install epel-release
Then you can install clang
:
sudo yum install clang
After this, you can use clang
to compile your program.
(You can also read this post on itechlounge.net)