Giter Site home page Giter Site logo

Comments (6)

mandraga avatar mandraga commented on August 12, 2024 1

I spent one hour the next day at 8AM, and it seems like "-wall" is not set the proper way in CMakelists.txt. It overwrites any cross compilation/include compiler option, I am working on it, and will make a pull request when ready.
After all that time spent on it, I hope to push the recipe to open embedded once fixed.

from libv4l2cpp.

mandraga avatar mandraga commented on August 12, 2024 1

Hello
With the latest changes you made, no need to merge my changes.
The bitbake V4L2rtspserver recipes ends up being:

SUMMARY = "V4L2rtsp streaming server"
LICENSE = "Unlicense"
LIC_FILES_CHKSUM = "file://LICENSE;md5=911690f51af322440237a253d695d19f"

SRC_URI = "gitsm://github.com/mpromonet/v4l2rtspserver.git;branch=master;protocol=https"
SRCREV = "3f81e89799bd7f1a586506aebad241b67398aca8"

S = "${WORKDIR}/git"

inherit pkgconfig cmake

DEPENDS += "live555 log4cpp"

Issue solved, thanks Michel. Now, I must push this recipe to openembedded.

from libv4l2cpp.

mandraga avatar mandraga commented on August 12, 2024

Maybe I do not need that recipe anyway because this repo is included as a submodule of v4l2rtspserver.
I am making a recipe for v4l2rtspserver, and while v4l2rtspserver builds, CMake fails with the same errors on libv4l2wrapper.

SUMMARY = "V4L streamer server"
LICENSE = "Unlicense"
LIC_FILES_CHKSUM = "file://LICENSE;md5=911690f51af322440237a253d695d19f"

SRC_URI = "gitsm://github.com/mpromonet/v4l2rtspserver.git;branch=master;protocol=https"
SRCREV = "620987407516f0b6406be36909ed89f6e020341e"

S = "${WORKDIR}/git"

inherit cmake

DEPENDS += "live555 "

from libv4l2cpp.

mandraga avatar mandraga commented on August 12, 2024

If I try to build it with cmake and devtool (a little outside of bitbake/yocto environment) it works...

builder@10ddef:/opt/workspace/build/workspace/sources/libv4l2cpp$ mkdir build
builder@10ddef:/opt/workspace/build/workspace/sources/libv4l2cpp$ cd build/
builder@101a685def:/opt/workspace/build/workspace/sources/libv4l2cpp/build$ cmake ../
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/workspace/build/workspace/sources/libv4l2cpp/build
builder@101a6854ddef:/opt/workspace/build/workspace/sources/libv4l2cpp/build$ cmake --build .
Scanning dependencies of target libv4l2cpp
[ 10%] Building CXX object CMakeFiles/libv4l2cpp.dir/src/V4l2Access.cpp.o
[ 20%] Building CXX object CMakeFiles/libv4l2cpp.dir/src/V4l2Capture.cpp.o
[ 30%] Building CXX object CMakeFiles/libv4l2cpp.dir/src/V4l2Device.cpp.o
[ 40%] Building CXX object CMakeFiles/libv4l2cpp.dir/src/V4l2MmapDevice.cpp.o
[ 50%] Building CXX object CMakeFiles/libv4l2cpp.dir/src/V4l2Output.cpp.o
[ 60%] Building CXX object CMakeFiles/libv4l2cpp.dir/src/V4l2ReadWriteDevice.cpp.o
[ 70%] Building CXX object CMakeFiles/libv4l2cpp.dir/src/logger.cpp.o
[ 80%] Linking CXX static library liblibv4l2cpp.a
[ 80%] Built target libv4l2cpp
Scanning dependencies of target libv4l2cpptest
[ 90%] Building CXX object CMakeFiles/libv4l2cpptest.dir/main.cpp.o
[100%] Linking CXX executable libv4l2cpptest
[100%] Built target libv4l2cpptest
builder@101a4ddef:/opt/workspace/build/workspace/sources/libv4l2cpp/build$ 

It may not even be an issue with your CMakelists.txt but the recipe not working. However I do not find this problem elsewhere.

New recipe:

SUMMARY = "a C++ wrapper for V4L2"
LICENSE = "Unlicense"
LIC_FILES_CHKSUM = "file://LICENSE;md5=911690f51af322440237a253d695d19f"
PR = "r0"

SRC_URI = "git://github.com/mpromonet/libv4l2cpp.git;branch=master;protocol=https \
           "
SRCREV = "86896515c7edbe8bce929f463611b35279c1402d"

S = "${WORKDIR}/git"

inherit cmake

from libv4l2cpp.

mandraga avatar mandraga commented on August 12, 2024

I have spent a day on it, forked and rewrote the CMakelists file with no change. I can't find a solution unless I hack the include file directories.
cmake is using recipe-sysroot-native/usr/include instead of the cross compilation target recipe-sysroot/usr/include

from libv4l2cpp.

mandraga avatar mandraga commented on August 12, 2024

The problems came from how the -Wall option was set, and how the project name was recovered from the current dir. Because as a module, or as a source workdir in open embedded, the project name and library name and folder name were not matching perfectly. I forced it to "v4l2wrapper", the name of the corresponding submodule in v4l2rtspserver.
v4l2rtspserver builds with bitbake now.

I created a pull request.

I ended up with this recipe (useless since the final recipe only requires v4l2rtspserver, but it must be auto generated by bitbake)

SUMMARY = "a C++ wrapper for V4L2"
LICENSE = "Unlicense"
LIC_FILES_CHKSUM = "file://LICENSE;md5=911690f51af322440237a253d695d19f"
PR = "r0"

#SRC_URI = "git://github.com/mpromonet/libv4l2cpp.git;branch=master;protocol=https"
SRC_URI = "git://github.com/mandraga/libv4l2cpp.git;branch=fix/yocto/compilation;protocol=https \
           "

SRCREV = "3c8a4381723552f0b9b42bf1c19afda398f8f175"

S = "${WORKDIR}/git"

inherit pkgconfig cmake

DEPENDS += "log4cpp"

OECMAKE_GENERATOR = "Unix Makefiles"

from libv4l2cpp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.