Здравствуйте,<br><br>прошу помощи, уже очень давно у меня перестала проходить проверка с verify-elf для VBoxSVC. Проблема выглядит так:<br>...<br>verify-elf: WARNING: ./usr/lib64/virtualbox/VBoxSVC: RPATH entry found: /usr/lib64/virtualbox<br>
verify-elf: ERROR: ./usr/lib64/virtualbox/VBoxSVC: undefined symbol: _ZN3xml8Document17createRootElementEPKcS2_<br>either the file containing the function 'PATMSetPIF_EndProc' or the file containing the function 'PATMClearPIF' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMClearPIF_EndProc' or the file containing the function 'PATMClearInhibitIRQFaultIF0' is not compiled with -fpic/-fPIC<br>either the file containing the function 'PATMClearInhibitIRQFaultIF0_EndProc' or the file containing the function 'PATMClearInhibitIRQContIF0' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMClearInhibitIRQContIF0_EndProc' or the file containing the function 'PATMCliReplacement' is not compiled with -fpic/-fPIC<br>either the file containing the function 'PATMCliReplacement_EndProc' or the file containing the function 'PATMStiReplacement' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMStiReplacement_EndProc' or the file containing the function 'PATMTrapEntry' is not compiled with -fpic/-fPIC<br>either the file containing the function 'PATMTrapEntry_EndProc' or the file containing the function 'PATMTrapEntryErrorCode' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMTrapEntryErrorCode_EndProc' or the file containing the function 'PATMIntEntry' is not compiled with -fpic/-fPIC<br>either the file containing the function 'PATMIntEntry_EndProc' or the file containing the function 'PATMIntEntryErrorCode' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMIntEntryErrorCode_EndProc' or the file containing the function 'PATMPopf32Replacement' is not compiled with -fpic/-fPIC<br>either the file containing the function 'PATMPopf32Replacement_EndProc' or the file containing the function 'PATMPopf32Replacement_NoExit' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMPopf32Replacement_NoExit_EndProc' or the file containing the function 'PATMPopf16Replacement' is not compiled with -fpic/-fPIC<br>either the file containing the function 'PATMPopf16Replacement_EndProc' or the file containing the function 'PATMPopf16Replacement_NoExit' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMPopf16Replacement_NoExit_EndProc' or the file containing the function 'PATMPushf32Replacement' is not compiled with -fpic/-fPIC<br>either the file containing the function 'PATMPushf32Replacement_EndProc' or the file containing the function 'PATMPushf16Replacement' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMPushf16Replacement_EndProc' or the file containing the function 'PATMPushCSReplacement' is not compiled with -fpic/-fPIC<br>either the file containing the function 'PATMPushCSReplacement_EndProc' or the file containing the function 'PATMIretReplacement' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMIretReplacement_EndProc' or the file containing the function 'PATMIretFunction' is not compiled with -fpic/-fPIC<br>either the file containing the function 'PATMIretFunction_EndProc' or the file containing the function 'PATMCpuidReplacement' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMCpuidReplacement_EndProc' or the file containing the function 'PATMJEcxReplacement' is not compiled with -fpic/-fPIC<br>either the file containing the function 'PATMJEcxReplacement_EndProc' or the file containing the function 'PATMLoopReplacement' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMLoopReplacement_EndProc' or the file containing the function 'PATMLoopZReplacement' is not compiled with -fpic/-fPIC<br>either the file containing the function 'PATMLoopZReplacement_EndProc' or the file containing the function 'PATMLoopNZReplacement' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMLoopNZReplacement_EndProc' or the file containing the function 'PATMLookupAndCall' is not compiled with -fpic/-fPIC<br>either the file containing the function 'PATMLookupAndCall_EndProc' or the file containing the function 'PATMLookupAndJump' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMLookupAndJump_EndProc' or the file containing the function 'PATMCall' is not compiled with -fpic/-fPIC<br>either the file containing the function 'PATMCall_EndProc' or the file containing the function 'PATMCallIndirect' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMCallIndirect_EndProc' or the file containing the function 'PATMJumpIndirect' is not compiled with -fpic/-fPIC<br>either the file containing the function 'PATMJumpIndirect_EndProc' or the file containing the function 'PATMRet' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMRet_EndProc' or the file containing the function 'PATMRetFunction' is not compiled with -fpic/-fPIC<br>either the file containing the function 'PATMRetFunction_EndProc' or the file containing the function 'PATMCheckIF' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMCheckIF_EndProc' or the file containing the function 'PATMJumpToGuest_IF1' is not compiled with -fpic/-fPIC<br>either the file containing the function 'PATMJumpToGuest_IF1_EndProc' or the file containing the function 'PATMMovFromSS' is not compiled with -fpic/-fPIC<br>
either the file containing the function 'PATMMovFromSS_EndProc' or the file containing the function 'PATMInterruptFlag' is not compiled with -fpic/-fPIC<br>verify-elf: WARNING: ./usr/lib64/virtualbox/VBoxVMM.so: TEXTREL entry found: 0x0000000000000000<br>
ошибка: Неверный код возврата из /home/sin/tmp/rpm-tmp.84694 (%install)<br clear="all"><br>Проблема комплексная... Первое, что не удаётся - это проверка для символа _ZN3xml8Document17createRootElementEPKcS2_<br><br>Если развернуть все проверки, то получается следующий вывод:<br>
<br>$ LD_TRACE_LOADED_OBJECTS=1 LD_WARN=1 LD_BIND_NOW=1 LD_DEBUG= LD_LIBRARY_VERSION= "/lib64/ld-linux-x86-64.so.2" --library-path "/home/sin/tmp/virtualbox-buildroot/usr/lib64/virtualbox" "/home/sin/tmp/virtualbox-buildroot/usr/lib64/virtualbox/VBoxSVC"<br>
linux-vdso.so.1 => (0x00007fffb29c3000)<br> VBoxRT.so => /usr/lib64/virtualbox/VBoxRT.so (0x00007f25562a6000)<br> VBoxDDU.so => /usr/lib64/virtualbox/VBoxDDU.so (0x00007f255605f000)<br> libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2555e18000)<br>
libdl.so.2 => /lib64/libdl.so.2 (0x00007f2555c14000)<br> VBoxXPCOM.so => /usr/lib64/virtualbox/VBoxXPCOM.so (0x00007f25558f8000)<br> libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x00007f25556cf000)<br>
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f25553c9000)<br> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f25551b2000)<br> libc.so.6 => /lib64/libc.so.6 (0x00007f2554e49000)<br> libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f2554c0d000)<br>
libz.so.1 => /lib64/libz.so.1 (0x00007f25549f3000)<br> librt.so.1 => /lib64/librt.so.1 (0x00007f25547eb000)<br> libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f2554436000)<br> libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f25540dc000)<br>
libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f2553e7d000)<br> /lib64/ld-linux-x86-64.so.2 (0x00007f25565c1000)<br> libm.so.6 => /lib64/libm.so.6 (0x00007f2553bfb000)<br> libidn.so.11 => /usr/lib64/libidn.so.11 (0x00007f25539c7000)<br>
libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x00007f25537a0000)<br> libssl.so.10 => /lib64/libssl.so.10 (0x00007f255353d000)<br> libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f255329d000)<br> libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f2553076000)<br>
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f2552e71000)<br> libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f2552c69000)<br> libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f2552a66000)<br>
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f255284e000)<br>undefined symbol: _ZN3xml8Document17createRootElementEPKcS2_ (/home/sin/tmp/virtualbox-buildroot/usr/lib64/virtualbox/VBoxSVC)<br><br>$ nm -D /home/sin/tmp/virtualbox-buildroot/usr/lib64/virtualbox/VBoxRT.so |grep createRootElement<br>
0000000000040de0 T _ZN3xml8Document17createRootElementEPKcS2_<br><br>То есть линковка вроде сделана, символ в библиотеке есть, а проверка выявляет ошибку. Стоит отметить, что символ используется в двух разных единицах трансляции.<br>
<br><br><br>-- <br>Sin (Sinelnikov Evgeny)<br>Etersoft<br>