ChrisAJS / lgx2userspace

This is a Linux userspace driver for the AverMedia LGX2 (GC551) and AverMedia LGX (GC550)
MIT License
27 stars 5 forks source link

Unable to compile #29

Open celticsamurai opened 1 year ago

celticsamurai commented 1 year ago

Whenever I attempt to use "cmake ..", I get this: Dangerous LGX (GC550) support will not be compiled into the lgx2userspace executable. CMake Error at build/conan.cmake:73 (message): Please specify in command line CMAKE_BUILD_TYPE (-DCMAKE_BUILD_TYPE=Release) Call Stack (most recent call first): build/conan.cmake:444 (_conan_detect_build_type) dependencies.cmake:26 (conan_cmake_autodetect) src/liblgx/liblgx-common/CMakeLists.txt:5 (include)

-- Configuring incomplete, errors occurred! Am I doing something wrong? I use Arch Linux, so updates may have changed the way I need to use it.

celticsamurai commented 1 year ago

It's worth mentioning that I am able to install this with the AUR, however I don't know how to output to a virtual webcam source with that method.

ChrisAJS commented 1 year ago

Hello!

How are you attempting to invoke cmake?

Can you try:

cmake -DCMAKE_BUILD_TYPE=Release ..

Also, if you managed to install via AUR, you should still be able to follow the steps in the README to get the webcam functionality working.

Also as a real big bonus to me, can you tell me how you intend to use the software? It'll help me prioritise features, thank you!

Rhyme commented 1 year ago

Hi hello it's me again!

@ChrisAJS, wanted to thank you for your consistent work on this. Means a lot! Just wanted to chime in with a few things:

  1. Your discord invite in the readme expired!
  2. (This should probably be its own issue) The 2 release .exe's for the GC550 do not open for me on Windows 11. They do nothing! No logs, no errors, nothing in task manager. Like a ghost! The light on my GC550 also stays red, where with the old .exe (while unusable) the light turns blue.
  3. I also can't compile on windows, but it's likely due to user error. The build log:

X:\Rhyme\Downloads\lgx2userspace\buiild>cmake -DCMAKE_BUILD_TYPE=Debug ..
-- Building for: Visual Studio 17 2022
-- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.22622.
-- The C compiler identification is MSVC 19.35.32217.1
-- The CXX compiler identification is MSVC 19.35.32217.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Dangerous LGX (GC550) support will not be compiled into the lgx2userspace executable.
-- Downloading conan.cmake from https://github.com/conan-io/cmake-conan
-- Conan: Detected VS runtime: MDd
-- Conan: checking conan executable
-- Conan: Found program C:/Users/Rhyme/AppData/Local/Programs/Python/Python311/Scripts/conan.exe
-- Conan: Version found Conan version 2.0.4
-- Conan executing: C:/Users/Rhyme/AppData/Local/Programs/Python/Python311/Scripts/conan.exe install . --remote conancenter --build missing --settings arch=x86_64 --settings build_type=Debug --settings compiler=Visual Studio --settings compiler.version=17 --settings compiler.runtime=MDd --settings compiler.cppstd=14 --settings os=Windows
ERROR: Invalid setting 'Visual Studio' is not a valid 'settings.compiler' value.
Possible values are ['sun-cc', 'gcc', 'msvc', 'clang', 'apple-clang', 'intel-cc', 'qcc', 'mcst-lcc']
Read "http://docs.conan.io/2/knowledge/faq.html#error-invalid-setting"
CMake Error at buiild/conan.cmake:651 (message):
  Conan install failed='1'
Call Stack (most recent call first):
  dependencies.cmake:28 (conan_cmake_install)
  src/liblgx/liblgx-common/CMakeLists.txt:5 (include)

-- Configuring incomplete, errors occurred!

X:\Rhyme\Downloads\lgx2userspace\buiild>

edit: I lied! There's a ton of junk in Windows Event Viewer for the release .exes not opening. It doesn't seem very helpful, though. Attaching screenshots.

image image

As mentioned, the older windows release .exe still works though it becomes unusable very quickly (as detailed on issue #23 )

edit2: Also per your reply on #23, I am using the cable that came with the device/GC550, and the stock dock for the Switch.

7832ru commented 1 year ago

@ChrisAJS not OP but I'm also using Arch and trying to compile, using --DCMAKE_BUILD_TYPE=Release resolved the original issue, which then led to:

CMake Error at build/conan.cmake:918 (message):
  Conan executable not found! Please install conan.
Call Stack (most recent call first):
  build/conan.cmake:549 (conan_check)
  dependencies.cmake:28 (conan_cmake_install)
  src/liblgx/liblgx-common/CMakeLists.txt:5 (include)

Of course, installing conan from AUR resolved, but new errors started to appear, such as:

ERROR: Invalid setting '13' is not a valid 'settings.compiler.version' value.
Possible values are ['4.1', '4.4', '4.5', '4.6', '4.7', '4.8', '4.9', '5', '5.1', '5.2', '5.3', '5.4', '5.5', '6', '6.1', '6.2', '6.3', '6.4', '6.5', '7', '7.1', '7.2', '7.3', '7.4', '7.5', '8', '8.1', '8.2', '8.3', '8.4', '8.5', '9', '9.1', '9.2', '9.3', '9.4', '9.5', '10', '10.1', '10.2', '10.3', '10.4', '11', '11.1', '11.2', '11.3', '12', '12.1', '12.2']

Editing ~/.conan2/settings.yml and adding "13" in compiler:gcc:version array solves this issue

ERROR: Invalid generator 'cmake_find_package'. Available types: CMakeToolchain, CMakeDeps, MesonToolchain, MSBuildDeps, MSBuildToolchain, NMakeToolchain, NMakeDeps, VCVars, QbsProfile, VirtualRunEnv, VirtualBuildEnv, AutotoolsDeps, AutotoolsToolchain, PkgConfigDeps, BazelDeps, BazelToolchain, IntelCC, XcodeDeps, XcodeToolchain, PremakeDeps

Editing dependencies.cmake and replacing cmake_find_package at line 28 for CMakeDeps solves this issue

CMake Error at src/liblgx/liblgx-common/CMakeLists.txt:58 (target_link_libraries):
  Target "liblgx-common" links to:

    glfw::glfw

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

From this point onward I couldn't understand or manually resolve the issue, which I believe is related to Conan 2 changes and cmake-conan support for Conan 2 being in experimental state. Decided to compile using noconan branch (which AUR package uses as well) and everything works fine.

ChrisAJS commented 1 year ago

@celticsamurai if you can give the noconan branch a go, let me know if this works for you.

Nama commented 1 year ago

I have the same errors @7832ru got and I am not able to further fix those issues.

conan had a lot of issues.

Since you were able to make conanless branch, could you do that on main, too? The noconan branch is way older than main. Only readme updates since then^^

Github actions would be cool, too.

cutrus commented 6 months ago
CMake Error at src/liblgx/liblgx-common/CMakeLists.txt:58 (target_link_libraries):
  Target "liblgx-common" links to:

    glfw::glfw

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

From this point onward I couldn't understand or manually resolve the issue, which I believe is related to Conan 2 changes and cmake-conan support for Conan 2 being in experimental state. Decided to compile using noconan branch (which AUR package uses as well) and everything works fine.

@7832ru @Nama @ChrisAJS Add add_library(glfw::glfw ALIAS glfw) to src/liblgx/liblgx-common/CMakeLists.txt before add_library(liblgx-common ... resolved this issue:

 40 set(ERRORSINK_SOURCES
 41         src/SimpleErrorSink.cpp
 42         src/SimpleErrorSink.h)
 43 
 44 add_library(glfw::glfw ALIAS glfw)
 45 
 46 add_library(liblgx-common STATIC
 47         ${SDLOUTPUT_SOURCES}
 48         ${GLFWOUTPUT_SOURCES}
 49         ${NULL_SOURCES}
 50         ${USB_SOURCES}
 51         ${BOOTSTRAP_SOURCES}
 52         ${FAKE_USB_SOURCES}
 53         ${ERRORSINK_SOURCES}
 54         src/lgxcommon.h)