1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

bcm_host.h: file not found

Discussion in 'Bug Reports' started by Kotik, 31 August 2017.

  1. Kotik

    Kotik New Member

    Messages:
    14
    Hardware:
    RPi3, +Arduino
    Hello people,

    Have been using Hyperion for around 4 months and besides some color accuracy issues that i had i am happy.

    Some time ago i decided to try out the new Hyperion.ng, i did manage to build from git with no issues like a month ago, but since then i went on holidays and when i came back and finally got some time i decided to build fresh cause why not :)

    The issue i am getting now is strange. I cannot build without getting "bcm_host.h: file not found" and i am trying to figure out what changed since the last time. The only thing that comes in mind is that this time before compiling i tried:

    export FIRMWARE_DIR="raspberrypi-firmware"
    git clone --depth 1 https://github.com/raspberrypi/firmware.git "$FIRMWARE_DIR"
    sudo cp -R "$FIRMWARE_DIR/hardfp/opt/" /

    as suggest on our CompileHowTo, i am not quite sure how to proceed at this point.

    Any help would be really welcome.

    P.S. Building on RPi 3 with Raspbian Jessie.
     
  2. Akriss

    Akriss Active Member

    Messages:
    563
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    Hi,

    What is the result from this command entered on your Pi's command line "sudo find / -name bcm_host.h" ?

    Example from my Pi
    Code:
    [email protected]:~ $ sudo find / -name bcm_host.h
    /opt/vc/include/bcm_host.h
    /home/pi/raspberrypi-firmware/hardfp/opt/vc/include/bcm_host.h
    /home/pi/raspberrypi-firmware/opt/vc/include/bcm_host.h
    
    EDIT: Nerver mind. I just did a fresh raspian install on my Rpi Zero W and pulled the latest .NG version and attempted to build. I received the same error.
    Code:
    [ 91%] Building CXX object src/hyperiond/CMakeFiles/hyperiond.dir/hyperiond.cpp.o
    In file included from /home/pi/hyperion/include/grabber/DispmanxWrapper.h:6:0,
                     from /home/pi/hyperion/src/hyperiond/hyperiond.h:7,
                     from /home/pi/hyperion/src/hyperiond/hyperiond.cpp:34:
    /home/pi/hyperion/include/grabber/DispmanxFrameGrabber.h:6:23: fatal error: bcm_host.h: No such file or directory
      #include <bcm_host.h>
                           ^
    compilation terminated.
    src/hyperiond/CMakeFiles/hyperiond.dir/build.make:62: recipe for target 'src/hyperiond/CMakeFiles/hyperiond.dir/hyperiond.cpp.o' failed
    make[2]: *** [src/hyperiond/CMakeFiles/hyperiond.dir/hyperiond.cpp.o] Error 1
    CMakeFiles/Makefile2:2299: recipe for target 'src/hyperiond/CMakeFiles/hyperiond.dir/all' failed
    make[1]: *** [src/hyperiond/CMakeFiles/hyperiond.dir/all] Error 2
    Makefile:149: recipe for target 'all' failed
    make: *** [all] Error 2
    
     
    Last edited: 1 September 2017
    • Agree Agree x 1
  3. seblagaffe

    seblagaffe New Member

    Messages:
    8
    Hardware:
    RPi1/Zero, Wetek, +PhilipsHue
    Hi, I got the same error too.
    I try to copy bcm_host.h in /home/pi/hyperion/include/grabber/ and /home/pi/hyperion/src/hyperiond/ but still KO

    Edit : So, after spent few hours of manual path modifications ... I finaly was able to compile !
    If you wish to try before official update :
    You coulds change bcm_host path in DispmanxFrameGrabber.h :
    Code:
    #include </home/pi/raspberrypi-firmware/opt/vc/include/bcm_host.h>
    then you could use this raspberrypi-firmware folder where I corrected all the path.
    https://drive.google.com/open?id=0B9FFRSsSqNVkN0FLdnFlWUtHa0k
     
    Last edited: 1 September 2017
    • Like Like x 1
    • Thank you Thank you x 1
  4. Kotik

    Kotik New Member

    Messages:
    14
    Hardware:
    RPi3, +Arduino
    Thanx, that did the trick :)
     
    • Like Like x 1
  5. seblagaffe

    seblagaffe New Member

    Messages:
    8
    Hardware:
    RPi1/Zero, Wetek, +PhilipsHue
    As redPanther said that firmwares files should be located under /opt, next time i will follow the classic hyperion instructions.

    I noticed that even with the last source, my version is V2.0.0 instead of v2.0.1. Is it the same for you ? Nothing happend when i click on install on update page.

    The restart features don't work too. I have to reboot and add hyperiond in rc.local. I don't know if it's the good way to start.
    I tried hyperion-ng because 3d switch (which I see in logs) doesn't work with SPMC and works with KODI (but can't use hard renderer capture) but i still got issue. Did you tried it ?
    My config is an android s812 box (mxIII plus), kodi pluggin > pi zero w (raspbian lite) > WS2813 (ws281x GPIO 12, 180 leds, dma 10). I need HD audio and fullHD resolution. With SPMC v16.5.0 it's quite perfect but i need to disable amcodec so video is not smooth. I try to understand the ge2d capture features but I don't know if it will help me.. ?
     
  6. redPanther

    redPanther Active Member

    Messages:
    211
    Hardware:
    RPi1/Zero, RPi2, 32/64bit, +Arduino
    people who use hyperion.ng please update!

    https://github.com/hyperion-project/hyperion.ng/commit/aa9248e815928aa195a7e206fe577dbaa4024841

    @seblagaffe for ge2d you need to recompile your (linux) kernel and add patches from crashoverride, see link posted on github
    Edit: kodi 3d switch is automatic, because we ask kodi whats going on. Other media players aren't supported.
    But you can switch 3d mode via hyperion-remote -V <mode>
    Very soon it is switchable via webui (pr pending)
    BTW the new ge2d interface is linux only, so it will not work on android.
     
    Last edited: 3 September 2017
    • Thank you Thank you x 1
  7. seblagaffe

    seblagaffe New Member

    Messages:
    8
    Hardware:
    RPi1/Zero, Wetek, +PhilipsHue
    OK perfect, about 2 hours of fresh install / compil on a pi zero w :)
    To resume, just need the following commands :
    Code:
    sudo apt-get update
    sudo apt-get install git cmake build-essential qtbase5-dev libqt5serialport5-dev libusb-1.0-0-dev python-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev
    sudo apt-get install libraspberrypi-dev
    wget -qO- https://raw.githubusercontent.com/hyperion-project/hyperion.ng/master/bin/compile.sh | sh
    sudo make install/strip
    Then what's the good way to start it ? I think my way by etc/rc.local isn't compliant with restart feature ... ?
    Thanks fo the 3D answer. But if with SPMC (kodi's fork if someone doesn't know) I can see the 3D switch in hyperion(-ng) logs, why the switch is not possible ? Maybe this hyperion issue (https://github.com/hyperion-project/hyperion/issues/429) still exist in hyperion-ng ? I will test hyperion-remote.
    Ok for ge2d, so i can't test because of HD sound lack with openelec or libreelec.
     
  8. seblagaffe

    seblagaffe New Member

    Messages:
    8
    Hardware:
    RPi1/Zero, Wetek, +PhilipsHue
    So I tried 3d with hyperion-remote but i get same result.
    From hyperion screen capture I put red and green images on left and right. Then i tried remote command. Debug show switch but leds don't change.
    [​IMG]
    Where is my error ?
     
  9. redPanther

    redPanther Active Member

    Messages:
    211
    Hardware:
    RPi1/Zero, RPi2, 32/64bit, +Arduino
    hmm not tried with real dispmanx yet. I tested with grabbers: x11, aml, fb and the 'simulated' dispmanx. On raspi hw acceleration is used for croping the image. Perhaps there is a issue, because all other code around work well with 3D. A while ago I made some mock functions so I can compile and use the raspi dispmanx functions on linux. Of course the send only a test image, but this behaves as it should.

    I tested 3d(sbs) on x11 and it looks like this:
    [​IMG]
     

    Attached Files:

  10. redPanther

    redPanther Active Member

    Messages:
    211
    Hardware:
    RPi1/Zero, RPi2, 32/64bit, +Arduino
    I tested it now and I can't find any problems. see here:
    raspi3d.jpg
     
  11. redPanther

    redPanther Active Member

    Messages:
    211
    Hardware:
    RPi1/Zero, RPi2, 32/64bit, +Arduino
    I saw hyperion restart not working on rpi. This is due to not released resources of videocore device, albeit code for freeing is executed. I will look into it.
     
    • Thank you Thank you x 1
  12. Akriss

    Akriss Active Member

    Messages:
    563
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    Hi,

    Just wanted to mention (if no one else has noticed) a small bug wile accessing Hyperion's web configuration from a remote machine. I see a partial page that mentions a 405 error. I tested Chrome,Firefox,Edge on a MS machine and Chrome on a Android tablet. But it works fine wile accessing from the local machine (Rpi).

    Many thanks.

    Edit : Nevermind, It,s my proxy server''s fault. Sorry for the noise.
     
    Last edited: 3 September 2017
  13. seblagaffe

    seblagaffe New Member

    Messages:
    8
    Hardware:
    RPi1/Zero, Wetek, +PhilipsHue
    Just to be clear, my source is not local (raspberry) but from remote (hyperion screen capture or kodi addon from android) with protoserver. My raspberry don't even have graphic interface (raspbian lite) so i disable the plateform capture. Of course i tried with plateform capture on auto but with the same effect. Thanks a lot for your research.

    Edit : Ok i tried plateform capture on framebuffer which is the only one that send me a picture (console with raspberry on top left). So I test 3D switch and it's work well (SBS and TAB). Could you try 3D switch with external source and protoserver ?
     
    Last edited: 4 September 2017
  14. Brindosch

    Brindosch Active Member

    Messages:
    658
    Hardware:
    RPi1/Zero, RPi2, RPi3, +nodeMCU/ESP8266
  15. seblagaffe

    seblagaffe New Member

    Messages:
    8
    Hardware:
    RPi1/Zero, Wetek, +PhilipsHue
    Hy Brindosh. Thanks for your work. I can use 3D through proto with KODI but not with SPMC. Kodi (v16, v17 and v18) switch automaticly. No need to change from webui (which work good for platform capture) or set the "kodi watch". SPMC never change even with webui or hyperion-remote commands. Maybe it's a kodi hyperion addon issue.
    Restart still broken for me. I launch hyperion with "sudo hyperiond > /dev/null &". Is it correct ?