It's not really nodejs related.

It's a C implementation.

Firstly, while building, it exits with error: "warning: linux/if_alg.h: No such file or directory". Then I run yum install kernel-devel-{version}, but it doesn't work.

Secondly when I copy the file from another PC, the error becomes "error: ‘AF_ALG’ undeclared (first use in this function)".

I have no idea to solve this issue. Please help me.

And here is my PC's info: CPU:Intel(R) Xeon(R) CPU E5335 @ 2.00GHz

OS: CentOS 6.5

Kernel-release: 2.6.32-431.5.1.el6.x86_64


You're trying to install the wrong package.

First, attempt to locate the correct package containing the file you need.

yum whatprovides */linux/if_alg.h

Then you will get the mysterious No Matches found error. This means, of course, that the file isn't provided by any package.

The reason for that is that the file is not in the kernel version shipped by CentOS 6; the kernel feature your program depends on only exists in newer kernels. You will need a newer kernel in order to use this software. The obvious options are to use CentOS 7, or if you won't upgrade for some reason, a third party kernel such as elrepo.

  • Thank you very much. Is there any difference between yum provides and yum whatprovides? – user239843 Aug 28 '14 at 13:42
  • No, they are the same command. – Michael Hampton Aug 28 '14 at 13:42
  • What is a third party kernel? Do you mean after installing it, I will be able to build crc32c? – user239843 Aug 28 '14 at 13:48
  • It's a kernel provided by a third party, of course. One commonly used example was given. Of course, you really should update to CentOS 7 if possible. – Michael Hampton Aug 28 '14 at 13:59
  • So it will replace the older kernel rather than extends it, right? – user239843 Aug 28 '14 at 14:05

Your Answer

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