انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: مشکل کامپایل مت کفه یا Matcaffe  (دفعات بازدید: 3374 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین arvin2017

  • Newbie
  • *
  • ارسال: 13
  • جنسیت : پسر
مشکل کامپایل مت کفه یا Matcaffe
« : 11 خرداد 1396، 03:06 ق‌ظ »
سلام.من میخوام متلب رو کامپایل کنم که این ارور رو میده:
reza@ubuntu:~$ cd /home/reza/Develop/caffe
reza@ubuntu:~/Develop/caffe$ make matcaffe
MEX matlab/+caffe/private/caffe_.cpp
Building with 'g++'.
Warning: You are using gcc version '4.8.4'. The version of gcc is not supported. The version currently supported with MEX is '4.7.x'. For a list of currently supported compilers see: http://www.mathworks.com/support/compilers/current_release.
Warning: You are using gcc version '4.8.4-2ubuntu1~14.04.3)'. The version of gcc is not supported. The version currently supported with MEX is '4.7.x'. For a list of currently supported compilers see: http://www.mathworks.com/support/compilers/current_release.
/home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp: In function ‘void delete_solver(int, mxArray**, int, const mxArray**)’:
/home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp:208:3: warning: lambda expressions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   }), solvers_.end());
   ^
/home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp:208:4: error: no matching function for call to ‘remove_if(std::vector<boost::shared_ptr<caffe::Solver<float> > >::iterator, std::vector<boost::shared_ptr<caffe::Solver<float> > >::iterator, delete_solver(int, mxArray**, int, const mxArray**)::__lambda0)’
   }), solvers_.end());
    ^
/home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp:208:4: note: candidate is:
In file included from /usr/include/c++/4.8/algorithm:62:0,
                 from ./include/caffe/blob.hpp:4,
                 from ./include/caffe/caffe.hpp:7,
                 from /home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp:18:
/usr/include/c++/4.8/bits/stl_algo.h:1134:5: note: template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)
     remove_if(_ForwardIterator __first, _ForwardIterator __last,
     ^
/usr/include/c++/4.8/bits/stl_algo.h:1134:5: note:   template argument deduction/substitution failed:
/home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp: In substitution of ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate) [with _FIter = __gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Solver<float> >*, std::vector<boost::shared_ptr<caffe::Solver<float> > > >; _Predicate = delete_solver(int, mxArray**, int, const mxArray**)::__lambda0]’:
/home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp:208:4:   required from here
/home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp:208:4: error: template argument for ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’ uses local type ‘delete_solver(int, mxArray**, int, const mxArray**)::__lambda0’
   }), solvers_.end());
    ^
/home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp:208:4: error:   trying to instantiate ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’
/home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp: In function ‘void delete_net(int, mxArray**, int, const mxArray**)’:
/home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp:293:3: warning: lambda expressions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   }), nets_.end());
   ^
/home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp:293:4: error: no matching function for call to ‘remove_if(std::vector<boost::shared_ptr<caffe::Net<float> > >::iterator, std::vector<boost::shared_ptr<caffe::Net<float> > >::iterator, delete_net(int, mxArray**, int, const mxArray**)::__lambda1)’
   }), nets_.end());
    ^
/home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp:293:4: note: candidate is:
In file included from /usr/include/c++/4.8/algorithm:62:0,
                 from ./include/caffe/blob.hpp:4,
                 from ./include/caffe/caffe.hpp:7,
                 from /home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp:18:
/usr/include/c++/4.8/bits/stl_algo.h:1134:5: note: template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)
     remove_if(_ForwardIterator __first, _ForwardIterator __last,
     ^
/usr/include/c++/4.8/bits/stl_algo.h:1134:5: note:   template argument deduction/substitution failed:
/home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp: In substitution of ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate) [with _FIter = __gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Net<float> >*, std::vector<boost::shared_ptr<caffe::Net<float> > > >; _Predicate = delete_net(int, mxArray**, int, const mxArray**)::__lambda1]’:
/home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp:293:4:   required from here
/home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp:293:4: error: template argument for ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’ uses local type ‘delete_net(int, mxArray**, int, const mxArray**)::__lambda1’
   }), nets_.end());
    ^
/home/reza/Develop/caffe/matlab/+caffe/private/caffe_.cpp:293:4: error:   trying to instantiate ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’

make: *** [matlab/+caffe/private/caffe_.mexa64] Error 255
reza@ubuntu:~/Develop/caffe$
« آخرین ویرایش: 11 خرداد 1396، 03:16 ق‌ظ توسط سلمان م. »

آفلاین سلمان م.

  • ناظر انجمن
  • *
  • ارسال: 4106
  • جنسیت : پسر
  • GNU Operating System - سیستم عامل گنو
پاسخ : مشکل کامپایل مت کفه یا Matcaffe
« پاسخ #1 : 11 خرداد 1396، 03:22 ق‌ظ »
اوبونتو ۱۴.۰۴ داری؟

خودش داره میگه مشکل از چی هست. gcc نسخه ۴.۷ استفاده کن. با دستور زیر می‌تونی gcc و g++ نسخه ۴.۷ رو نصب کنی.

$ sudo apt install gcc-4.7 g++-4.7

در ضمن لینک به سورس رو هم بذار، تا ببینم فایل‌هاش چی هست و محتویات make چیه.

آفلاین arvin2017

  • Newbie
  • *
  • ارسال: 13
  • جنسیت : پسر
پاسخ : مشکل کامپایل مت کفه یا Matcaffe
« پاسخ #2 : 11 خرداد 1396، 12:55 ب‌ظ »
آره از اوبونتو 14.04 استفاده میکنم
gcc 4.7 رو هم نصب کردم ولی باز این ارور رو میده:
http://upload.ustmb.ir/uploads/01_171496305423281.png

آفلاین سلمان م.

  • ناظر انجمن
  • *
  • ارسال: 4106
  • جنسیت : پسر
  • GNU Operating System - سیستم عامل گنو
پاسخ : مشکل کامپایل مت کفه یا Matcaffe
« پاسخ #3 : 11 خرداد 1396، 05:05 ب‌ظ »
آره از اوبونتو 14.04 استفاده میکنم
gcc 4.7 رو هم نصب کردم ولی باز این ارور رو میده:
http://upload.ustmb.ir/uploads/01_171496305423281.png

چرا قبل از دستور make دستور sudo رو زدی؟

آفلاین arvin2017

  • Newbie
  • *
  • ارسال: 13
  • جنسیت : پسر
پاسخ : مشکل کامپایل مت کفه یا Matcaffe
« پاسخ #4 : 11 خرداد 1396، 05:35 ب‌ظ »
بدون sudo هم زدم.این ارور رو داد:
http://upload.ustmb.ir/uploads/01_171496322280181.png

آفلاین سلمان م.

  • ناظر انجمن
  • *
  • ارسال: 4106
  • جنسیت : پسر
  • GNU Operating System - سیستم عامل گنو
پاسخ : مشکل کامپایل مت کفه یا Matcaffe
« پاسخ #5 : 11 خرداد 1396، 11:07 ب‌ظ »
بدون sudo هم زدم.این ارور رو داد:
http://upload.ustmb.ir/uploads/01_171496322280181.png
اینکه میگه g++ نصب نداری. چک کن ببینی، پاکش نکردی.

$ g++ --version

آفلاین arvin2017

  • Newbie
  • *
  • ارسال: 13
  • جنسیت : پسر
پاسخ : مشکل کامپایل مت کفه یا Matcaffe
« پاسخ #6 : 12 خرداد 1396، 11:48 ق‌ظ »

وقتی دستور make matcaffe میزنم، میگه gcc 4.8 ساپورت نمیکنه و باید gcc 4.7 نصب کنی

وقتی gcc 4.7  نصب میکنم میگه g++ وجود نداره
وقتی g++رو نصب میکنم میگه gcc 4.8 رو ساپورت نمیکنه
این تصویرو ببینین:
http://upload.ustmb.ir/uploads/02_171496387840531.jpg
من ابونتو 14.04 دارم که متلب 2014 رو ساپورت نمیکنه:
http://upload.ustmb.ir/uploads/02_171496387840552.jpg

میتونه از این باشه؟!

آفلاین سلمان م.

  • ناظر انجمن
  • *
  • ارسال: 4106
  • جنسیت : پسر
  • GNU Operating System - سیستم عامل گنو
پاسخ : مشکل کامپایل مت کفه یا Matcaffe
« پاسخ #7 : 12 خرداد 1396، 12:16 ب‌ظ »
جواب سوال من رو ندادی. خروجی اون دستور آخر که دادم، چی هست؟ برای هر دو تا g++ که نصب می‌کنی، خروجی دستور رو بده.
« آخرین ویرایش: 12 خرداد 1396، 12:17 ب‌ظ توسط سلمان م. »

آفلاین arvin2017

  • Newbie
  • *
  • ارسال: 13
  • جنسیت : پسر
پاسخ : مشکل کامپایل مت کفه یا Matcaffe
« پاسخ #8 : 12 خرداد 1396، 12:35 ب‌ظ »
reza@ubuntu:~$ g++ --version
g++ (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

آفلاین arvin2017

  • Newbie
  • *
  • ارسال: 13
  • جنسیت : پسر
پاسخ : مشکل کامپایل مت کفه یا Matcaffe
« پاسخ #9 : 12 خرداد 1396، 12:40 ب‌ظ »
وقتی دستور make matcaffe رو میزنم این ارور رو میده:
https://pastebin.com/1cPrMP01

آفلاین سلمان م.

  • ناظر انجمن
  • *
  • ارسال: 4106
  • جنسیت : پسر
  • GNU Operating System - سیستم عامل گنو
پاسخ : مشکل کامپایل مت کفه یا Matcaffe
« پاسخ #10 : 12 خرداد 1396، 02:25 ب‌ظ »
اول از همه مطمئن شو، که g++-4.7 رو نصب کردی. با دستور زیر:
$ g++-4.7 --version

g++ به صورت اتوماتیک وصل شده به g++-4.8 چون آخرین نسخه موجود توی اوبونتو ۱۴.۰۴ هست. ولی شما که g++-4.7 رو هم می‌تونی از توی مخزن نصب کنی و با استفاده از دستور g++-4.7 ازش استفاده کنی. ولی چون توی این مورد می‌خوای که g++ وصل شه به نسخه ۴.۷ و نه آخرین نسخه‌ی موجود توی مخزن ۱۴.۰۴ که ۴.۸ هست، می‌تونی از یه دستوری به اسم alias استفاده کنی. با استفاده از دستور زیر می‌تونی بگی که هر موقع g++ رو می‌زنی برات g++-4.7 رو بیاره.
$ alias g++=g++-4.7
خوب الآن بزن توی ترمینال، تا ببینی که به ۴.۷ وصل شده یا نه.
$ g++ --version

این دستور alias فقط تا موقعی کار می‌کنه تو ترمینال رو نبندی. برای اینکه به صورت دایم ازش استفاده کنی باید یه فایل توی home بسازی به اسم .bash_aliases و سپس دستور alias رو توی اون بنویسی. با دستور زیر می‌تونی اون کار رو بکنی.

با دستور زیر می‌ره به پوشه home
$ cd

با دستور زیر خروجی دستور زیر رو به آخر اون فایل اضافه می‌کنه (و اگه وجود نداشته باشه، می‌سازدش). (نکته: به علامت >> توجه کن و حواست باشه دوتا هست و نه یکی.)
$ echo 'alias g++=g++-4.7' >> .bash_aliases

دستور زیر رو هم بزنی، تا تغییراتی که دادی بدون نیاز به بستن و دوباره بازکردن ترمینال اعمال بشه.
$ source .bash_aliases

آفلاین arvin2017

  • Newbie
  • *
  • ارسال: 13
  • جنسیت : پسر
پاسخ : مشکل کامپایل مت کفه یا Matcaffe
« پاسخ #11 : 12 خرداد 1396، 05:29 ب‌ظ »
ممنون از راهنمایی جامعتون.ولی متاسفانه ارور زیر رو داد:
reza@ubuntu:~$ g++-4.7 --version
g++-4.7 (Ubuntu/Linaro 4.7.3-12ubuntu1) 4.7.3
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

reza@ubuntu:~$ alias g++=g++-4.7
reza@ubuntu:~$ cd ~/Develop/caffe
reza@ubuntu:~/Develop/caffe$ make matcaffe
/bin/sh: 1: g++: not found
awk: line 1: syntax error at or near <
MEX matlab/+caffe/private/caffe_.cpp
No supported compiler or SDK was found. For options, visit http://www.mathworks.com/support/compilers/R2014a/glnxa64.
make: *** [matlab/+caffe/private/caffe_.mexa64] Error 255
reza@ubuntu:~/Develop/caffe$ ^C

آفلاین سلمان م.

  • ناظر انجمن
  • *
  • ارسال: 4106
  • جنسیت : پسر
  • GNU Operating System - سیستم عامل گنو
پاسخ : مشکل کامپایل مت کفه یا Matcaffe
« پاسخ #12 : 12 خرداد 1396، 08:25 ب‌ظ »
دستور alias رو بریز توی فایل .bash_aliases ببین درست میشه.

آفلاین arvin2017

  • Newbie
  • *
  • ارسال: 13
  • جنسیت : پسر
پاسخ : مشکل کامپایل مت کفه یا Matcaffe
« پاسخ #13 : 13 خرداد 1396، 03:41 ق‌ظ »
ممنون.ولی بازم ارور کامنت قبلی رو میده

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19722
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : مشکل کامپایل مت کفه یا Matcaffe
« پاسخ #14 : 13 خرداد 1396، 03:25 ب‌ظ »
داری این رو کامپایل می‌کنی؟
http://caffe.berkeleyvision.org/

ببخشید که می‌پرسم، ولی دقیقاً می‌دونی چیه این؟
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن