/usr/src/linux/include 是空的

本文详细介绍了在RHEL5系统中解决安装VM-wareTools时遇到的内核头文件匹配问题的方法,包括如何查找并安装正确的内核源代码包、手动配置内核头文件路径以及安装步骤。

RHEL5在安装VM-wareTools过程中出现如下错误:

What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include] The directory of kernel headers (version 2.6.18-8.el5xen) does not match

此错误主要是想找Linux内核的包含头文件找不到。要解决此问题需要安装内核源代码。

先进行以下安装,否则安装过程会出错:

What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include]The directory of kernel headers (version 2.6.18-8.el5xen) does not match.

网上找了许多相关内容,还有人说需要安装的rpm包是kernel-devel,经过测试,安装kernel-devel-2.6.18-8.el5.i686.rpm包后依然无法自动找到the directory of C header files,如果手动改目录为:/usr/src/kernels/2.6.18-8.e15-i686/include,会出现错误:

The directory of kernel headers (version 2.6.18-8.el5) does not match your running kernel (version 2.6.18-8.el5xen). Even if the module were tocompile successfully, it would not load into the running kernel.

解决方法:

[root@localhost ~]# uname -r // 查看内核版本号

version 2.6.18-8.el5xen //我所装linux 内核版本

我是用CD镜像装的系统,在第一张盘server下找到kernel-xen-devel-2.6.18-8.el5.i686.rpm包进行安装

[root@localhost ~]# rpm -ivh kernel-xen-devel-2.6.18-8.el5.i686.rpm

安装Vmwar Tools

选择VM-->install VMware Tools

[root@localhost ~]# mkdir /mnt/cdrom

[root@localhost ~]#mount /dev/cdrom /mnt/cdrom/

[root@localhost ~]# cd /mnt/cdrom/

[root@localhost cdrom]# ls 后有

VMwareTools-6.5.0-118166.i386.rpm

VMwareTools-6.5.0-118166.tar.gz

在这选第二种安装

[root@localhost cdrom]# cp VMwareTools-6.5.0-118166.tar.gz /tmp //拷贝到/tmp下

[root@localhost cdrom]# cd /tmp/

[root@localhost tmp]# tar zxvf VMwareTools-6.5.0-118166.tar.gz //解包文件

[root@localhost tmp]# cd vmware-tools-distrib/

[root@localhost vmware-tools-distrib]# ./vmware-install.pl //安装开始

一路回车,OK!

进入/etc/X11/,查看xorg.conf也自动配置好了。

Reboot OK!

-----------------------------------------------------------------------------------

1. 首先要查看内核版本号:

【root@localhost ~】# uname -r // 查看内核版本号或者uname –a

如果是RHEL5的话内核应该是 2.6.18-8.el5xen

2. 已经知道自己的内核是“2.6.18-8.el5xen”,可以去此网站

http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.8.tar.gz 下载到符合自己系统的内核源码。

3. 用【root@localhost ~】#tar zxvf linux-2.6.16.8.tar.gz -C /usr/src

将文件解压到指定目录/usr/src。

4. 进入/usr/src目录下,用【root@localhost ~】#mv linux-2.6.18.8 linux将解压好的文件夹名“linux-2.6.18.8”改变成“linux”。

5. 进入/usr/src/linux目录下。分别运行:

make mrproper

make oldconfig

make

执行第二个命令时碰到提示一路回车就行,第三个命令如果要完全执行完的话,可能会需要几个小时,最好让它编译完毕之后,再装虚拟机工具。如果在make刚开始执行时,即使生成了version.h和utsrelease.h,若按Ctrl+C强行退出编译。在安装完VM-ware Tools后,很可能导致系统无法正常启动。

6. 编译完毕后,进入/usr/src/linux/include/linux,用【root@localhost ~】#vi utsrelease.h (按i是插入,修改完后按Esc,然后按Shift+:,输入wq!按回车,修改完毕可以用#more utsrelease.h查看是否修改成功)将里面的版本号改成2.6.18-8.el5xen。

同上再修改version.h,在原来的基础上增加一行#define UTS_RELEASE "2.6.18-8.el5xen",保存退出。

7. 重新启动系统,如果不重启,在安装VM-ware Tools后可能会碰到一些问题

8. 重启后就可以正常安装VM-ware Tools了。

9. 假如要改变分辨率,运行/usr/bin/vmware-config-tools.pl即可修改

------------------------------------------------------------------

/usr/local/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h /usr/local/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h /usr/local/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h /usr/local/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h /usr/local/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h /usr/local/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h /usr/local/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h /usr/local/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h /usr/local/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h /usr/local/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h /usr/local/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h /usr/local/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h /usr/local/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h /usr/local/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h /usr/local/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h /usr/local/include/eigen3/Eigen/src/SparseQR/SparseQR.h /usr/local/include/eigen3/Eigen/src/StlSupport/StdDeque.h /usr/local/include/eigen3/Eigen/src/StlSupport/StdList.h /usr/local/include/eigen3/Eigen/src/StlSupport/StdVector.h /usr/local/include/eigen3/Eigen/src/StlSupport/details.h /usr/local/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h /usr/local/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h /usr/local/include/eigen3/Eigen/src/misc/Image.h /usr/local/include/eigen3/Eigen/src/misc/Kernel.h /usr/local/include/eigen3/Eigen/src/misc/RealSvd2x2.h /usr/local/include/eigen3/Eigen/src/misc/blas.h /usr/local/include/eigen3/Eigen/src/misc/lapack.h /usr/local/include/eigen3/Eigen/src/misc/lapacke.h /usr/local/include/eigen3/Eigen/src/misc/lapacke_mangling.h /usr/local/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/BlockMethods.h /usr/local/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h /usr/local/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/ReshapedMethods.h /usr/local/include/eigen3/unsupported/Eigen /usr/local/include/eigen3/unsupported/Eigen/AdolcForward /usr/local/include/eigen3/unsupported/Eigen/AlignedVector3 /usr/local/include/eigen3/unsupported/Eigen/ArpackSupport /usr/local/include/eigen3/unsupported/Eigen/AutoDiff /usr/local/include/eigen3/unsupported/Eigen/BVH /usr/local/include/eigen3/unsupported/Eigen/CXX11 /usr/local/include/eigen3/unsupported/Eigen/EulerAngles /usr/local/include/eigen3/unsupported/Eigen/FFT /usr/local/include/eigen3/unsupported/Eigen/IterativeSolvers /usr/local/include/eigen3/unsupported/Eigen/KroneckerProduct /usr/local/include/eigen3/unsupported/Eigen/LevenbergMarquardt /usr/local/include/eigen3/unsupported/Eigen/MPRealSupport /usr/local/include/eigen3/unsupported/Eigen/MatrixFunctions /usr/local/include/eigen3/unsupported/Eigen/MoreVectorization /usr/local/include/eigen3/unsupported/Eigen/NonLinearOptimization /usr/local/include/eigen3/unsupported/Eigen/NumericalDiff /usr/local/include/eigen3/unsupported/Eigen/OpenGLSupport /usr/local/include/eigen3/unsupported/Eigen/Polynomials /usr/local/include/eigen3/unsupported/Eigen/Skyline /usr/local/include/eigen3/unsupported/Eigen/SparseExtra /usr/local/include/eigen3/unsupported/Eigen/SpecialFunctions /usr/local/include/eigen3/unsupported/Eigen/Splines /usr/local/include/eigen3/unsupported/Eigen/src /usr/local/include/eigen3/unsupported/Eigen/CXX11/Tensor /usr/local/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry /usr/local/include/eigen3/unsupported/Eigen/CXX11/ThreadPool /usr/local/include/eigen3/unsupported/Eigen/CXX11/src /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/util /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h /usr/local/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h /usr/local/include/eigen3/unsupported/Eigen/src/AutoDiff /usr/local/include/eigen3/unsupported/Eigen/src/BVH /usr/local/include/eigen3/unsupported/Eigen/src/Eigenvalues /usr/local/include/eigen3/unsupported/Eigen/src/EulerAngles /usr/local/include/eigen3/unsupported/Eigen/src/FFT /usr/local/include/eigen3/unsupported/Eigen/src/IterativeSolvers /usr/local/include/eigen3/unsupported/Eigen/src/KroneckerProduct /usr/local/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt /usr/local/include/eigen3/unsupported/Eigen/src/MatrixFunctions /usr/local/include/eigen3/unsupported/Eigen/src/MoreVectorization /usr/local/include/eigen3/unsupported/Eigen/src/NonLinearOptimization /usr/local/include/eigen3/unsupported/Eigen/src/NumericalDiff /usr/local/include/eigen3/unsupported/Eigen/src/Polynomials /usr/local/include/eigen3/unsupported/Eigen/src/Skyline /usr/local/include/eigen3/unsupported/Eigen/src/SparseExtra /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions /usr/local/include/eigen3/unsupported/Eigen/src/Splines /usr/local/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h /usr/local/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h /usr/local/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h /usr/local/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h /usr/local/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h /usr/local/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h /usr/local/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h /usr/local/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h /usr/local/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h /usr/local/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h /usr/local/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h /usr/local/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h /usr/local/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h /usr/local/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h /usr/local/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h /usr/local/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h /usr/local/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h /usr/local/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h /usr/local/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h /usr/local/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h /usr/local/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h /usr/local/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h /usr/local/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h /usr/local/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h /usr/local/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h /usr/local/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h /usr/local/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h /usr/local/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h /usr/local/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h /usr/local/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h /usr/local/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h /usr/local/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h /usr/local/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h /usr/local/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h /usr/local/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h /usr/local/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h /usr/local/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h /usr/local/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h /usr/local/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h /usr/local/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h /usr/local/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h /usr/local/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h /usr/local/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h /usr/local/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h /usr/local/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h /usr/local/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h /usr/local/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h /usr/local/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h /usr/local/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h /usr/local/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h /usr/local/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h /usr/local/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h /usr/local/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h /usr/local/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h /usr/local/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h /usr/local/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h /usr/local/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h /usr/local/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512 /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h /usr/local/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h /usr/local/include/eigen3/unsupported/Eigen/src/Splines/Spline.h /usr/local/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h /usr/local/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h ishtar@ubuntu:~/mbplanner_ws$
最新发布
07-10
<think>我们正在讨论Eigen3库的安装路径和头文件位置。根据引用[1]和[2],Eigen3通常安装在`/usr/include/eigen3`或`/usr/local/include/eigen3`目录下。用户询问的具体路径`/usr/local/include/eigen3/Eigen/`是Eigen库的核心头文件目录,而`unsupported`目录则包含一些实验性的或尚未正式纳入主干的模块。 ### 1. Eigen3头文件路径说明 - **标准安装路径**: - Ubuntu系统通过`apt`安装的Eigen3通常位于: ```bash /usr/include/eigen3 ``` - 手动从源码编译安装的Eigen3则通常位于: ```bash /usr/local/include/eigen3 ``` - **核心头文件位置**: - 核心模块(Eigen/Core, Eigen/Dense等)位于: ```bash /usr/local/include/eigen3/Eigen # 手动安装示例 ``` 或 ```bash /usr/include/eigen3/Eigen # 系统包安装示例 ``` - **非官方模块位置**: - 实验性模块(如自动微分、矩阵函数等)位于: ```bash /usr/local/include/eigen3/unsupported # 手动安装 ``` 或 ```bash /usr/include/eigen3/unsupported # 系统包安装 ``` ### 2. `unsupported`目录内容 `unsupported`目录包含尚未被官方正式支持的模块,这些模块可能处于开发阶段或需要用户反馈。常见内容如下: | 模块路径 | 功能描述 | |---------|----------| | `Eigen/AdolcForward` | 用于Adol-C自动微分库的接口 | | `Eigen/AlignedVector3` | 对齐的3D向量 | | `Eigen/ArpackSupport` | ARPACK特征值求解器封装 | | `Eigen/AutoDiff` | 自动微分(基础实现) | | `Eigen/BVH` | 包围体层次结构(用于几何查询) | | `Eigen/EulerAngles` | 欧拉角转换工具 | | `Eigen/FFT` | 快速傅里叶变换 | | `Eigen/IterativeSolvers` | 迭代线性系统求解器增强 | | `Eigen/KroneckerProduct` | 克罗内克积运算 | | `Eigen/LevenbergMarquardt` | 非线性最小二乘优化(Levenberg-Marquardt) | | `Eigen/MatrixFunctions` | 矩阵指数、对数等函数 | | `Eigen/MoreVectorization` | 增强的向量化指令 | | `Eigen/MPRealSupport` | mpreal多精度浮点库支持 | | `Eigen/NonLinearOptimization` | 非线性优化算法 | | `Eigen/NumericalDiff` | 数值微分 | | `Eigen/OpenGLSupport` | OpenGL矩阵交互工具 | | `Eigen/Polynomials` | 多项式操作与求解 | | `Eigen/Skyline` | Skyline矩阵存储(带状矩阵变种) | | `Eigen/SparseExtra` | 稀疏矩阵附加功能 | | `Eigen/SpecialFunctions` | 特殊数学函数(如伽马函数) | | `Eigen/Splines` | 样条曲线插值 | > 注意:这些模块的API可能不稳定,使用时需谨慎。 ### 3. 路径验证方法 检查头文件是否存在: ```bash # 检查核心头文件 ls /usr/local/include/eigen3/Eigen # 检查非官方模块 ls /usr/local/include/eigen3/unsupported/Eigen ``` ### 4. 配置建议(解决编译问题) 若编译器报错找不到Eigen头文件,参考引用[1][^1][^2]的解决方案: ```bash # 方法1:建立符号链接(适用于手动安装) sudo ln -s /usr/local/include/eigen3/Eigen /usr/local/include/Eigen sudo ln -s /usr/local/include/eigen3/unsupported /usr/local/include/unsupported # 方法2:在CMake中显式指定路径 include_directories("/usr/local/include/eigen3") ``` ### 5. 多版本管理 当系统存在多个Eigen版本时(如ROS自带版本与手动安装版本冲突),使用以下方法强制指定路径: ```cmake # 在CMakeLists.txt中优先指定 set(EIGEN3_INCLUDE_DIR "/usr/local/include/eigen3") find_package(Eigen3 REQUIRED HINTS ${EIGEN3_INCLUDE_DIR}) ``` ### 附加说明 - **版本兼容性**:Eigen3不同次要版本(如3.3.x与3.4.x)可能存在API差异,建议项目显式声明依赖版本。 - **ROS集成**:ROS Noetic默认使用`/opt/ros/noetic/include/eigen3`路径,与系统路径隔离以避免冲突。 §§相关问题§§ 1. 如何检查当前项目使用的Eigen3具体版本? 2. 在ROS项目中如何正确覆盖系统默认的Eigen3路径? 3. Eigen库的`unsupported`模块有哪些典型应用场景? 4. 如何为Eigen3编写跨平台(Windows/Linux)的CMake配置?</think>### Eigen3库头文件路径与内容详解 #### 1. Eigen3标准安装路径 在Ubuntu系统中,Eigen3库的默认安装路径为: ```bash /usr/include/eigen3 # APT安装的默认路径 /usr/local/include/eigen3 # 手动编译安装的默认路径 ``` 您提到的`/usr/local/include/eigen3/Eigen/`是Eigen核心头文件的存放位置,包含所有基础线性代数功能[^1][^2]。 #### 2. Eigen核心头文件目录结构 `/usr/local/include/eigen3/Eigen/`包含以下关键头文件: ```bash Eigen/ ├── Core # 核心矩阵/向量操作 (Matrix, Vector, Array等) ├── Dense # 所有稠密矩阵功能(包含Core, Geometry, LU等) ├── Sparse # 稀疏矩阵支持 ├── Geometry # 旋转/平移/缩放等几何变换 ├── LU # 矩阵分解(PartialPivLU, FullPivLU) ├── Cholesky # LLT和LDLT分解 ├── QR # HouseholderQR, ColPivHouseholderQR ├── SVD # JacobiSVD, BDCSVD └── Eigenvalues # 特征值分解 ``` #### 3. unsupported目录内容 `/usr/local/include/eigen3/unsupported/`包含实验性功能和扩展模块: ```bash unsupported/ ├── Eigen/ │ ├── AutoDiff # 自动微分支持 │ ├── BVH # 包围体层次结构(间划分) │ ├── FFT # 快速傅里叶变换 │ ├── IterativeSolvers # 迭代线性求解器 │ ├── KroneckerProduct # 克罗内克积运算 │ ├── LevenbergMarquardt # Levenberg-Marquardt优化算法 │ ├── MatrixFunctions # 矩阵指数/对数等函数 │ ├── MoreVectorization # 增强的向量化指令 │ ├── NonLinearOptimization # 非线性优化 │ ├── NumericalDiff # 数值微分 │ ├── Polynomials # 多项式操作 │ ├── Skyline # Skyline矩阵存储 │ └── Splines # 样条插值 └── test/ # 实验性功能的测试用例 ``` #### 4. 验证路径是否存在 使用终端命令检查: ```bash # 检查核心头文件 ls /usr/local/include/eigen3/Eigen # 检查unsupported模块 ls /usr/local/include/eigen3/unsupported/Eigen # 检查当前链接路径(重要) echo | gcc -v -x c++ -E - 2>&1 | grep eigen3 ``` #### 5. 常见配置问题解决方案 当编译器报错"Eigen/Dense: No such file"时: ```bash # 方法1:建立符号链接(推荐)[^1][^2] sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen sudo ln -s /usr/include/eigen3/unsupported /usr/include/unsupported # 方法2:在CMake中显式指定路径 include_directories("/usr/include/eigen3") ``` #### 6. 多版本管理建议 如果系统存在多个Eigen版本: ```bash # 查看所有安装路径 sudo updatedb locate eigen3 | grep include # 强制CMake使用特定版本 set(EIGEN3_INCLUDE_DIR "/opt/ros/noetic/include/eigen3") ``` > **关键提示**:Eigen是纯头文件库,不需要链接二进制文件,只需确保头文件路径正确即可[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值