microsoft / vcpkg

C++ Library Manager for Windows, Linux, and MacOS
MIT License
22.47k stars 6.2k forks source link

[pcl] Build error #30038

Open VrindaSav opened 1 year ago

VrindaSav commented 1 year ago

Package: pcl[core,cuda]:x64-windows -> 1.13.0

Host Environment

To Reproduce

vcpkg install pcl[cuda]:x64-windows

Failure logs


-- Using cached PointCloudLibrary-pcl-371a8e1373f7b2f66bbb92291be2f3e50dc19856.tar.gz.
-- Cleaning sources at D:/Vrinda/vcpkg/vcpkg/buildtrees/pcl/src/e50dc19856-a29a4295e5.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source D:/Vrinda/vcpkg/vcpkg/downloads/PointCloudLibrary-pcl-371a8e1373f7b2f66bbb92291be2f3e50dc19856.tar.gz
-- Applying patch add-gcc-version-check.patch
-- Applying patch fix-check-sse.patch
-- Applying patch fix-numeric-literals-flag.patch
-- Applying patch pcl_config.patch
-- Applying patch pcl_utils.patch
-- Applying patch install-examples.patch
-- Applying patch no-absolute.patch
-- Applying patch add_bigobj_option.patch
-- Applying patch outofcore_viewer_remove_include.patch
-- Applying patch fix_opennurbs_win32.patch
-- Applying patch disable_kinfu_for_cuda12.patch
-- Using source at D:/Vrinda/vcpkg/vcpkg/buildtrees/pcl/src/e50dc19856-a29a4295e5.clean
-- Found external ninja('1.10.2').
-- Configuring x64-windows
-- Building x64-windows-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message):
    Command failed: D:/Vrinda/vcpkg/vcpkg/downloads/tools/cmake-3.25.1-windows/cmake-3.25.1-windows-i386/bin/cmake.exe --build . --config Debug --target install -- -v -j17

Version Information
vcpkg-tool version: 2023-02-16-12e657924d99511514c0287ca5ce46882d3657c7
vcpkg-scripts version: d5bc0e71e 2023-02-27 (6 days ago)
MonicaLiu0311 commented 1 year ago

Thanks for your feedback. Is there a part missing in the pasted log? for example:

CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message):
    Command failed: D:/Vrinda/vcpkg/vcpkg/downloads/tools/cmake-3.25.1-windows/cmake-3.25.1-windows-i386/bin/cmake.exe --build . --config Debug --target install -- -v -j17
    Working Directory: 
    See logs for more information:

We need this part of the log: See logs for more information

VrindaSav commented 1 year ago

CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message): Command failed: D:/Vrinda/vcpkg/vcpkg/downloads/tools/cmake-3.25.1-windows/cmake-3.25.1-windows-i386/bin/cmake.exe --build . --config Debug --target install -- -v -j17 Working Directory: D:/Vrinda/vcpkg/vcpkg/buildtrees/pcl/x64-windows-dbg See logs for more information: D:\Vrinda\vcpkg\vcpkg\buildtrees\pcl\install-x64-windows-dbg-out.log

Call Stack (most recent call first): installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_build.cmake:74 (vcpkg_execute_build_process) installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_install.cmake:16 (vcpkg_cmake_build) ports/pcl/portfile.cmake:80 (vcpkg_cmake_install) scripts/ports.cmake:147 (include)

VrindaSav commented 1 year ago

Is this is what you mean to say Monica?

VrindaSav commented 1 year ago

Received unresolved external linker error as shown below Creating library lib\pcl_gpu_kinfu_large_scaled.lib and object lib\pcl_gpu_kinfu_large_scaled.exp screenshot_manager.cpp.obj : error LNK2019: unresolved external symbol "void cdecl pcl::io::saveRgbPNGFile(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,unsigned char const *,int,int)" (?saveRgbPNGFile@io@pcl@@YAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEBEHH@Z) referenced in function "public: void cdecl pcl::kinfuLS::ScreenshotManager::saveImage(class Eigen::Transform<float,3,2,0> const &,struct pcl::gpu::PtrStepSz)" (?saveImage@ScreenshotManager@kinfuLS@pcl@@QEAAXAEBV?$Transform@M$02$01$0A@@Eigen@@U?$PtrStepSz@$$CBUPixelRGB@kinfuLS@gpu@pcl@@@gpu@3@@Z) bin\pcl_gpu_kinfu_large_scaled.dll : fatal error LNK1120: 1 unresolved externals

MonicaLiu0311 commented 1 year ago

Is this is what you mean to say Monica?

Yes, please paste this file here in txt format.

See logs for more information:
D:\Vrinda\vcpkg\vcpkg\buildtrees\pcl\install-x64-windows-dbg-out.log
MonicaLiu0311 commented 1 year ago

Again, could you please provide the full log file?

MonicaLiu0311 commented 1 year ago

We don't have enough information to solve this issue, unfortunately; if you have any more information to help us solve this, please reopen!

webbtrail commented 8 months ago

Which log file? The CMake PC-build.log ?

webbtrail commented 8 months ago

gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\color_volume.cpp.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\cyclical_buffer.cpp.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\kinfu.cpp.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\marching_cubes.cpp.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\raycaster.cpp.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\screenshot_manager.cpp.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\standalone_marching_cubes.cpp.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\tsdf_volume.cpp.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\world_model.cpp.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\cuda\bilateral_pyrdown.cu.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\cuda\colors.cu.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\cuda\coresp.cu.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\cuda\estimate_combined.cu.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\cuda\estimate_tranform.cu.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\cuda\extract.cu.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\cuda\image_generator.cu.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\cuda\maps.cu.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\cuda\marching_cubes.cu.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\cuda\normals_eigen.cu.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\cuda\pointer_shift.cu.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\cuda\push.cu.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\cuda\ray_caster.cu.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_large_scale.dir\src\cuda\tsdf_volume.cu.obj ^M gpu\kinfu_large_scale\CMakeFiles\pcl_gpu_kinfu_largescale.dir___\pcl_gpu_kinfu_large_scale_version.rc.res -LIBPATH:C:\PROGRA~1\NVIDIA~1\NVTOOL~1 -LIBPATH:C:\PROGRA~1\NVIDIA~1\NVTOOL~1\lib\x64 -LIBPATH:C:\PROGRA~2\WI3CF2~1\10\Lib\100220~1.0\um\x64 -LIBPATH:C:\PROGRA~2\WI3CF2~1\10\Lib\100220~1.0\ucrt\x64 -LIBPATH:C:\PROGRA~2\MICROS~3\2017\PROFES~1\VC\Redist\MSVC\1416~1.270\x64\MICROS~1.MFC -LIBPATH:C:\PROGRA~2\MICROS~3\2017\PROFES~1\VC\Redist\MSVC\1416~1.270\x64\MICROS~2.MFC -LIBPATH:C:\PROGRA~2\MICROS~3\2017\PROFES~1\VC\Redist\MSVC\1416~1.270\x86\MICROS~1.OPE -LIBPATH:C:\PROGRA~2\MICROS~3\2017\PROFES~1\VC\Redist\MSVC\1416~1.270\x64\MICROS~1.CXX -LIBPATH:C:\PROGRA~2\MICROS~3\2017\PROFES~1\VC\Redist\MSVC\1416~1.270\x64\MICROS~1.CRT -LIBPATH:C:\PROGRA~2\MICROS~3\2017\PROFES~1\VC\Redist\MSVC\1416~1.270\x64 -LIBPATH:C:\PROGRA~2\MICROS~3\2017\PROFES~1\VC\Tools\MSVC\1416~1.270\lib\x64 -LIBPATH:C:\PROGRA~2\MICROS~3\2017\PROFES~1\VC\Tools\MSVC\1416~1.270\atlmfc\lib\x64 -LIBPATH:C:\PROGRA~1\NVIDIA~2\CUDA\v11.4 -LIBPATH:C:\PROGRA~1\NVIDIA~2\CUDA\v11.4\lib\x64 -LIBPATH:C:\PROGRA~1\NVIDIA~2\CUDA\v11.4\lib -LIBPATH:C:\PROGRA~1\NVIDIA~2\CUDA\v11.4\lib\x64 delayimp.lib lib\pcl_io.lib lib\pcl_gpu_utils.lib lib\pcl_gpu_octree.lib lib\pcl_filters.lib C:\ornldev\code\tpl\8\InsIdeVS.017\cuda-11.4\tpl\Release\Boost\lib\libboost_filesystem-mt-x64.lib bcrypt.lib synchronization.lib C:\ornldev\code\tpl\8\InsIdeVS.017\cuda-11.4\tpl\Release\Boost\lib\libboost_atomic-mt-x64.lib C:\ornldev\code\tpl\8\InsIdeVS.017\cuda-11.4\tpl\Release\Boost\lib\libboost_iostreams-mt-x64.lib lib\pcl_io_ply.lib lib\pcl_gpu_containers.lib lib\pcl_sample_consensus.lib lib\pcl_search.lib lib\pcl_octree.lib lib\pcl_kdtree.lib lib\pcl_common.lib delayimp.lib C:\ornldev\code\tpl\8\InsIdeVS.017\cuda-11.4\tpl\Release\flann\lib\flann_cpp.lib C:\ornldev\code\tpl\8\InsIdeVS.017\cuda-11.4\tpl\Release\lz4\lib\lz4.lib cudadevrt.lib cudart_static.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib ^M Creating library lib\pcl_gpu_kinfu_large_scale.lib and object lib\pcl_gpu_kinfu_large_scale.exp^M screenshot_manager.cpp.obj : error LNK2019: unresolved external symbol "void cdecl pcl::io::saveRgbPNGFile(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,unsigned char const *,int,int)" (?saveRgbPNGFile@io@pcl@@YAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEBEHH@Z) referenced in function "public: void cdecl pcl::kinfuLS::ScreenshotManager::saveImage(class Eigen::Transform<float,3,2,0> const &,struct pcl::gpu::PtrStepSz)" (?saveImage@ScreenshotManager@kinfuLS@pcl@@QEAAXAEBV?$Transform@M$02$01$0A@@Eigen@@U?$PtrStepSz@$$CBUPixelRGB@kinfuLS@gpu@pcl@@@gpu@3@@Z)^M^M bin\pcl_gpu_kinfu_large_scale.dll : fatal error LNK1120: 1 unresolved externals^M^M ninja: build stopped: subcommand failed.^M

webbtrail commented 8 months ago

I need to update by user ID. This is webbtrail@gmail.com . This issue has surfaced for me (tonight) and my work email address is moorerw@ornl.gov

webbtrail commented 8 months ago

PCL-build.log PCL-configure.log

webbtrail commented 8 months ago

Thank you for reopening. I think I have found the problem. The header file is tight source code, not needing much else in the area of type of definitions. Even when VTK and PNG are not available, this file continues to be referenced. The problem occurs do to the fact that without VTK and PNG the source file png_io.cpp is removed from the build. We end up with prototypes from png_io.h arriving at the linker with no back end to satisfy the linkage.

webbtrail commented 8 months ago

Windows 10 x64 Visual Studio 2017 x64 Enterprise Ninja 1.11.0 CMake 3.26.4 No VTK nor PNG support available