Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pangolin] build failure #10099

Closed
Mikhail2017 opened this issue Feb 16, 2020 · 2 comments · Fixed by #12515
Closed

[pangolin] build failure #10099

Mikhail2017 opened this issue Feb 16, 2020 · 2 comments · Fixed by #12515
Assignees
Labels
category:port-bug The issue is with a library, which is something the port should already support

Comments

@Mikhail2017
Copy link

Mikhail2017 commented Feb 16, 2020

Host Environment

  • OS: Ubuntu 18.04
  • Compiler: gcc 7.4.0

To Reproduce
./vcpkg install pangolin:x64-linux

Failure logs
Look at an attachment
install-x64-linux-dbg-out.log

@Mikhail2017 Mikhail2017 added the category:port-bug The issue is with a library, which is something the port should already support label Feb 16, 2020
@JackBoosY
Copy link
Contributor

JackBoosY commented Feb 17, 2020

Confirmed, needs to add ffmpeg libraries.

@Wkkkkk
Copy link

Wkkkkk commented Jul 21, 2020

For those who are troubled by this issue as me, I got a solution here.

  1. add this file to vcpkg/ports/pangolin and rename it as fix-findFFMPEG.cmake.patch(cos it is not allowed to upload .patch file)
    fix-findFFMPEG.cmake.patch.txt

  2. modify vcpkg/ports/pangolin/portfile.cmake as follows

@@ -9,10 +9,11 @@ vcpkg_from_github(
     SHA512 7ebeec108f33f1aa8b1ad08e3ca128a837b22d33e3fc580021f981784043b023a1bf563bbfa8b51d46863db770b336d24fc84ee3d836b85e0da1848281b2a5b2
     HEAD_REF master
 	PATCHES
         deprecated_constants.patch # Change from upstream pangolin to address build failures from latest ffmpeg library
         fix-includepath-error.patch # include path has one more ../
+        fix-findFFMPEG.cmake.patch # fix ffmpeg
 )
 
 file(REMOVE ${SOURCE_PATH}/CMakeModules/FindGLEW.cmake)
 
 string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" MSVC_USE_STATIC_CRT)
@@ -52,11 +53,11 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
 endif()
 
 file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
 
 # Copy missing header file
-file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/include/pangolin/pangolin_export.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/pangolin)
+#file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/include/pangolin/pangolin_export.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/pangolin)
 
 # Put the license file where vcpkg expects it
-file(COPY ${SOURCE_PATH}/LICENCE DESTINATION ${CURRENT_PACKAGES_DIR}/share/Pangolin/)
-file(COPY ${CURRENT_PORT_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/Pangolin/)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/Pangolin/LICENCE ${CURRENT_PACKAGES_DIR}/share/Pangolin/copyright)
+file(COPY ${SOURCE_PATH}/LICENCE DESTINATION ${CURRENT_PACKAGES_DIR}/share/pangolin/)
+file(COPY ${CURRENT_PORT_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/pangolin/)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/pangolin/LICENCE ${CURRENT_PACKAGES_DIR}/share/pangolin/copyright)
  1. install pangolin with vcpkg and have fun!
>>./vcpkg  install pangolin
Computing installation plan...
The following packages are already installed:
    pangolin[core]:x64-linux
Package pangolin:x64-linux is already installed

Total elapsed time: 5.394 us

The package pangolin is compatible with built-in CMake targets:

    find_package(Pangolin CONFIG REQUIRED)
    target_link_libraries(main PRIVATE pangolin)
    target_include_directories(main PRIVATE ${Pangolin_INCLUDE_DIRS})

This problem is caused by wrong static linking orders of FFMPEG_LIBRARIES so I changed file findFFMPEG.cmake in pangolin/CMakeModules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants