View Single Post
Old 11-11-2016, 10:42 AM   #8
Mahdi2016
Junior Member
 
Join Date: Oct 2016
Posts: 20
Exclamation

Hi Michal,

i've built the evdi module and it works fine.

here is the output from lsmod:
Code:
#lsmod | grep evdi
evdi                   36280  0
drm_kms_helper        101028  3 vc4,evdi
drm                   262564  5 vc4,evdi,drm_kms_helper
syscopyarea             2945  2 evdi,drm_kms_helper
sysfillrect             3443  2 evdi,drm_kms_helper
sysimgblt               2069  2 evdi,drm_kms_helper
After that I started building the evdipp package.

After 'make install' the build breaks up with the following message:
Code:
make install
[  5%] Performing download step (git clone) for 'github_evdi'
Cloning into 'github_evdi'...
remote: Counting objects: 389, done.
remote: Total 389 (delta 0), reused 0 (delta 0), pack-reused 389
Receiving objects: 100% (389/389), 524.26 KiB | 871.00 KiB/s, done.
Resolving deltas: 100% (226/226), done.
Checking connectivity... done.
Already on 'devel'
Your branch is up-to-date with 'origin/devel'.
[ 11%] No patch step for 'github_evdi'
[ 16%] Performing update step for 'github_evdi'
Already on 'devel'
Your branch is up-to-date with 'origin/devel'.
[ 22%] No configure step for 'github_evdi'
[ 27%] Performing build step for 'github_evdi'
[ 33%] No install step for 'github_evdi'
[ 38%] Completed 'github_evdi'
[ 44%] Built target github_evdi
Scanning dependencies of target evdipp
[ 50%] Building CXX object libevdipp/CMakeFiles/evdipp.dir/buffer.cpp.o
[ 55%] Building CXX object libevdipp/CMakeFiles/evdipp.dir/evdi.cpp.o
[ 61%] Building CXX object libevdipp/CMakeFiles/evdipp.dir/screen.cpp.o
In file included from /usr/src/evdipp/libevdipp/screen.cpp:1:0:
/usr/src/evdipp/libevdipp/screen.hpp:25:11: error: ‘size_t’ does not name a type
     const size_t BUFFER_COUNT = 2;
           ^
/usr/src/evdipp/libevdipp/screen.hpp:26:19: error: ‘unique_ptr’ is not a member of ‘std’
     std::map<int, std::unique_ptr<Buffer>> buffers;
                   ^
/usr/src/evdipp/libevdipp/screen.hpp:26:19: error: ‘unique_ptr’ is not a member of ‘std’
/usr/src/evdipp/libevdipp/screen.hpp:26:44: error: ‘buffers’ was not declared in this scope
     std::map<int, std::unique_ptr<Buffer>> buffers;
                                            ^
/usr/src/evdipp/libevdipp/screen.hpp:26:44: error: template argument 2 is invalid
/usr/src/evdipp/libevdipp/screen.hpp:26:44: error: template argument 4 is invalid
/usr/src/evdipp/libevdipp/screen.hpp:36:5: error: ‘size_t’ does not name a type
     size_t bufferToUpdate;
     ^
/usr/src/evdipp/libevdipp/screen.hpp:42:14: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type
 typedef std::shared_ptr<Screen> ScreenPtr;
              ^
/usr/src/evdipp/libevdipp/screen.cpp: In constructor ‘Screen::Screen(const Evdi&, std::vector<unsigned char>&)’:
/usr/src/evdipp/libevdipp/screen.cpp:8:3: error: class ‘Screen’ does not have any field named ‘bufferToUpdate’
 , bufferToUpdate(0)
   ^
/usr/src/evdipp/libevdipp/screen.cpp: In member function ‘virtual void Screen::on_mode_change(evdi_mode)’:
/usr/src/evdipp/libevdipp/screen.cpp:60:22: error: ISO C++ forbids declaration of ‘buffer_id’ with no type [-fpermissive]
     for (const auto& buffer_id : buffers | boost::adaptors::map_keys) {
                      ^
/usr/src/evdipp/libevdipp/screen.cpp:60:34: error: range-based ‘for’ loops are not allowed in C++98 mode
     for (const auto& buffer_id : buffers | boost::adaptors::map_keys) {
                                  ^
/usr/src/evdipp/libevdipp/screen.cpp:60:34: error: ‘buffers’ was not declared in this scope
/usr/src/evdipp/libevdipp/screen.cpp:66:25: error: ‘BUFFER_COUNT’ was not declared in this scope
     for (int i = 0; i < BUFFER_COUNT; ++i) {
                         ^
/usr/src/evdipp/libevdipp/screen.cpp:67:22: error: ‘make_unique’ is not a member of ‘std’
         buffers[i] = std::make_unique<Buffer>(i, mode.width, mode.height, mode.bits_per_pixel/8 * mode.width);
                      ^
/usr/src/evdipp/libevdipp/screen.cpp:67:45: error: expected primary-expression before ‘>’ token
         buffers[i] = std::make_unique<Buffer>(i, mode.width, mode.height, mode.bits_per_pixel/8 * mode.width);
                                             ^
/usr/src/evdipp/libevdipp/screen.cpp: In member function ‘void Screen::update()’:
/usr/src/evdipp/libevdipp/screen.cpp:107:29: error: ‘bufferToUpdate’ was not declared in this scope
     if (evdi.request_update(bufferToUpdate)) {
                             ^
/usr/src/evdipp/libevdipp/screen.cpp:110:5: error: ‘bufferToUpdate’ was not declared in this scope
     bufferToUpdate = (bufferToUpdate + 1) % BUFFER_COUNT;
     ^
/usr/src/evdipp/libevdipp/screen.cpp:110:45: error: ‘BUFFER_COUNT’ was not declared in this scope
     bufferToUpdate = (bufferToUpdate + 1) % BUFFER_COUNT;
                                             ^
libevdipp/CMakeFiles/evdipp.dir/build.make:100: recipe for target 'libevdipp/CMakeFiles/evdipp.dir/screen.cpp.o' failed
make[2]: *** [libevdipp/CMakeFiles/evdipp.dir/screen.cpp.o] Error 1
CMakeFiles/Makefile2:112: recipe for target 'libevdipp/CMakeFiles/evdipp.dir/all' failed
make[1]: *** [libevdipp/CMakeFiles/evdipp.dir/all] Error 2
Makefile:117: recipe for target 'all' failed
make: *** [all] Error 2
Please i need some help and i havent any ideas anymore.

Best regards
Michael

Last edited by Mahdi2016; 11-11-2016 at 11:01 AM.
Mahdi2016 is offline   Reply With Quote