Hola,<br><br>Vengo a echar más leña al fuego :P<br><br>Tanto cameraview como cameraserver tienen como requeridas las librerías libgnomecanvas y gtkglextmm; lo he comentado con Jose María Cañas y no deberían depender de estos paquetes (al menos cameraserver seguro que no); no lo cambio yo directamente porque es la primera vez que me meto con esto y no quiero pifiarla... XD<br>
<br>Por otro lado, al hacer el "make" para alguno de estos dos componentes (el "cmake ." ya no se me queja), me salta el siguiente error:<br><br>"<i><br>Scanning dependencies of target colorspacesmm<br>
[ 82%] Building CXX object ../../../libs/colorspaces/CMakeFiles/colorspacesmm.dir/imagecv.cpp.o<br>In file included from /usr/local/include/opencv2/core/core.hpp:49,<br> from /usr/local/include/opencv2/highgui/highgui.hpp:46,<br>
from /home/drado/jderobot/src/libs/colorspaces/imagecv.cpp:5:<br><b>/usr/local/include/opencv2/core/types_c.h</b>:186: error: redefinition of ‘union Cv32suf’<br><b>/usr/local/include/opencv/cxtypes.h</b>:180: error: previous definition of ‘union Cv32suf’<br>
/usr/local/include/opencv2/core/types_c.h:192: error: invalid type in declaration before ‘;’ token<br>/usr/local/include/opencv2/core/types_c.h:192: error: conflicting declaration ‘typedef int Cv32suf’<br>/usr/local/include/opencv/cxtypes.h:185: error: ‘Cv32suf’ has a previous declaration as ‘typedef union Cv32suf Cv32suf’<br>
/usr/local/include/opencv2/core/types_c.h:194: error: redefinition of ‘union Cv64suf’<br>/usr/local/include/opencv/cxtypes.h:188: error: previous definition of ‘union Cv64suf’<br>/usr/local/include/opencv2/core/types_c.h:200: error: invalid type in declaration before ‘;’ token<br>
/usr/local/include/opencv2/core/types_c.h:200: error: conflicting declaration ‘typedef int Cv64suf’<br>/usr/local/include/opencv/cxtypes.h:193: error: ‘Cv64suf’ has a previous declaration as ‘typedef union Cv64suf Cv64suf’<br>
/usr/local/include/opencv2/core/types_c.h:205: error: expected identifier before numeric constant<br>/usr/local/include/opencv2/core/types_c.h:205: error: expected ‘}’ before numeric constant<br>/usr/local/include/opencv2/core/types_c.h:205: error: expected unqualified-id before numeric constant<br>
/usr/local/include/opencv2/core/types_c.h:256: error: expected declaration before ‘}’ token<br>make[2]: *** [../../../libs/colorspaces/CMakeFiles/colorspacesmm.dir/imagecv.cpp.o] Error 1<br>make[1]: *** [../../../libs/colorspaces/CMakeFiles/colorspacesmm.dir/all] Error 2<br>
make: *** [all] Error 2</i><br>"<br><br>Por lo que veo, el error viene al referenciar en colorspaces librerías de openCV y openCV2, según hablé con Jose María, no debería referenciarse nada de opencv, sólo openCV2<br>
<br>He buscado y en "[trunk]/src/libs/colorspaces/imagecv.cpp" se incluye la librería <opencv2/highgui/highgui.hpp> y en "[trunk]/src/libs/colorspaces/imagecv.h" se incluye la librería <opencv/cv.h>, que es la que creo que no se debería referenciar; por supuesto, al intentar la brutalidad de cambiar esta última librería por la equivalente a la primera (opencv2/highgui/highgui_c.h) se queja de que hay funciones y tipos no definidos.<br>
<br>Como apunte, estoy en un Ubuntu 10.04.4 LTS con amd64 y tengo instalado openCV 2.0.0 y 2.3.1 (las que vienen en el manual)<br><br>Un saludo, Daniel.<br><br>El día 21 de diciembre de 2012 14:06, gallardo agustin <<a href="mailto:agallard4@gmail.com">agallard4@gmail.com</a>> escribió:<br>
><br>> Buenos días,<br>><br>><br>> he ejecutado los comandos y limpiado los directorios pero continuo con el<br>> mismo error.<br>><br>> Estoy con la versión 4.4.7 de gcc y g++.<br>><br>><br>
><br>> Un saludo y muchas gracias,<br>> Agustín<br>><br>> 2012/12/21 Luis Roberto Morales <<a href="mailto:lr.morales.iglesias@gmail.com">lr.morales.iglesias@gmail.com</a>><br>>><br>>> Buenas noches,<br>
>><br>>> he probado a compilar ambos componentes con gcc-4.6 (ubuntu 12.10 amd64) y<br>>> sólo me ha saltado el error de enlazado con dc1394 (referencia a<br>>> dc1394_video_set_transmission desde cameraserver.cpp.o), que se ha<br>
>> solucionado al mover las órdenes de enlace desde CMAKE_CXX_FLAGS a<br>>> TARGET_LINK_LIBRARIES en el CMakeLists.txt de cameraserver. Lo he probado<br>>> con una cámara web USB y los componentes parecen funcionar correctamente.<br>
>><br>>><br>>> En cuanto al tema de cambiar la versión de gcc, he encontrado unas<br>>> instrucciones [1] que mediante el uso de update-alternatives permiten<br>>> cambiar entre versiones de gcc y g++ más rápidamente. Para aquellas personas<br>
>> que utilicen distintas versiones habitualmente creo que les puede resultar<br>>> interesante para no tener que rehacer los enlaces simbólicos.<br>>><br>>> Un saludo,<br>>> Roberto<br>>><br>
>> [1] <a href="http://askubuntu.com/questions/26498/choose-gcc-and-g-version">http://askubuntu.com/questions/26498/choose-gcc-and-g-version</a><br>>><br>>><br>>> El 20 de diciembre de 2012 18:27, Mikel Gonzalez Baile<br>
>> <<a href="mailto:m.gonzalezbai@gmail.com">m.gonzalezbai@gmail.com</a>> escribió:<br>>><br>>>> Buenas,<br>>>><br>>>> prueba a ejecutar estos comandos uno por uno:<br>>>><br>
>>> sudo apt-get install gcc-4.4<br>>>> sudo apt-get install g++-4.4<br>>>> sudo cd /usr/bin<br>>>> sudo rm gcc<br>>>> sudo rm g++<br>>>> sudo ln -s gcc-4.4 gcc<br>>>> sudo ln -s g++-4.4 g++<br>
>>><br>>>> Tras esto, no olvides ejecutar los scripts "clean.sh" de cada componente<br>>>> para realizar una compilación limpia con los nuevos cambios.<br>>>><br>>>> Un saludo.<br>
>>><br>>>> Mikel.<br>>>><br>>>><br>>>> 2012/12/20 gallardo agustin <<a href="mailto:agallard4@gmail.com">agallard4@gmail.com</a>><br>>>>><br>>>>><br>
>>>> Hola Mikel,<br>>>>><br>>>>> antes de anada muchas gracias.<br>>>>><br>>>>> Ahora obtengo casi el mismo error en cameraview y cameraserver:<br>>>>><br>
>>>> Cameraserver:<br>>>>> [100%] Building CXX object<br>>>>> ../CMakeFiles/cameraserver.dir/gstpipeline.cpp.o<br>>>>> Linking CXX executable cameraserver<br>>>>> build/../../../libs/jderobotice/libjderobotice.so: error: undefined<br>
>>>> reference to 'vtable for Glacier2::CannotCreateSessionException'<br>>>>> build/../../../libs/jderobotice/libjderobotice.so: error: undefined<br>>>>> reference to<br>>>>> 'Glacier2::CannotCreateSessionException::~CannotCreateSessionException()'<br>
>>>> CMakeFiles/cameraserver.dir/cameraserver.cpp.o:cameraserver.cpp:function<br>>>>> IceUtil::Mutex::init(IceUtil::MutexProtocol): error: undefined reference to<br>>>>> 'pthread_mutexattr_init'<br>
>>>> CMakeFiles/cameraserver.dir/cameraserver.cpp.o:cameraserver.cpp:function<br>>>>> IceUtil::Mutex::init(IceUtil::MutexProtocol): error: undefined reference to<br>>>>> 'pthread_mutexattr_destroy'<br>
>>>> CMakeFiles/cameraserver.dir/cameraserver.cpp.o:cameraserver.cpp:function<br>>>>> IceUtil::Mutex::init(IceUtil::MutexProtocol): error: undefined reference to<br>>>>> 'pthread_mutexattr_settype'<br>
>>>> CMakeFiles/cameraserver.dir/cameraserver.cpp.o:cameraserver.cpp:function<br>>>>> IceUtil::Mutex::init(IceUtil::MutexProtocol): error: undefined reference to<br>>>>> 'pthread_mutexattr_destroy'<br>
>>>> CMakeFiles/cameraserver.dir/cameraserver.cpp.o:cameraserver.cpp:function<br>>>>> IceUtil::Mutex::init(IceUtil::MutexProtocol): error: undefined reference to<br>>>>> 'pthread_mutexattr_setprotocol'<br>
>>>> CMakeFiles/cameraserver.dir/cameraserver.cpp.o:cameraserver.cpp:function<br>>>>> IceUtil::Mutex::init(IceUtil::MutexProtocol): error: undefined reference to<br>>>>> 'pthread_mutexattr_destroy'<br>
>>>> CMakeFiles/cameraserver.dir/cameraserver.cpp.o:cameraserver.cpp:function<br>>>>> IceUtil::Mutex::init(IceUtil::MutexProtocol): error: undefined reference to<br>>>>> 'pthread_mutexattr_destroy'<br>
>>>><br>>>>> collect2: ld returned 1 exit status<br>>>>> make[2]: *** [../cameraserver] Error 1<br>>>>> make[1]: *** [../CMakeFiles/cameraserver.dir/all] Error 2<br>>>>> make: *** [all] Error 2<br>
>>>><br>>>>><br>>>>> CameraView<br>>>>> [100%] Building CXX object ../CMakeFiles/cameraview.dir/viewer.cpp.o<br>>>>> Linking CXX executable cameraview<br>>>>> CMakeFiles/cameraview.dir/cameraview.cpp.o:cameraview.cpp:function<br>
>>>> IceUtil::Mutex::init(IceUtil::MutexProtocol): error: undefined reference to<br>>>>> 'pthread_mutexattr_init'<br>>>>> CMakeFiles/cameraview.dir/cameraview.cpp.o:cameraview.cpp:function<br>
>>>> IceUtil::Mutex::init(IceUtil::MutexProtocol): error: undefined reference to<br>>>>> 'pthread_mutexattr_destroy'<br>>>>> CMakeFiles/cameraview.dir/cameraview.cpp.o:cameraview.cpp:function<br>
>>>> IceUtil::Mutex::init(IceUtil::MutexProtocol): error: undefined reference to<br>>>>> 'pthread_mutexattr_settype'<br>>>>> CMakeFiles/cameraview.dir/cameraview.cpp.o:cameraview.cpp:function<br>
>>>> IceUtil::Mutex::init(IceUtil::MutexProtocol): error: undefined reference to<br>>>>> 'pthread_mutexattr_destroy'<br>>>>> CMakeFiles/cameraview.dir/cameraview.cpp.o:cameraview.cpp:function<br>
>>>> IceUtil::Mutex::init(IceUtil::MutexProtocol): error: undefined reference to<br>>>>> 'pthread_mutexattr_setprotocol'<br>>>>> CMakeFiles/cameraview.dir/cameraview.cpp.o:cameraview.cpp:function<br>
>>>> IceUtil::Mutex::init(IceUtil::MutexProtocol): error: undefined reference to<br>>>>> 'pthread_mutexattr_destroy'<br>>>>> CMakeFiles/cameraview.dir/cameraview.cpp.o:cameraview.cpp:function<br>
>>>> IceUtil::Mutex::init(IceUtil::MutexProtocol): error: undefined reference to<br>>>>> 'pthread_mutexattr_destroy'<br>>>>><br>>>>> collect2: ld returned 1 exit status<br>
>>>> make[2]: *** [../cameraview] Error 1<br>>>>> make[1]: *** [../CMakeFiles/cameraview.dir/all] Error 2<br>>>>> make: *** [all] Error 2<br>>>>><br>>>>><br>>>>><br>
>>>> Un saludo y muchas gracias,<br>>>>> Agustín<br>>>>><br>>>>><br>>>>> 2012/12/20 Mikel Gonzalez Baile <<a href="mailto:m.gonzalezbai@gmail.com">m.gonzalezbai@gmail.com</a>><br>
>>>>><br>>>>>> Buenas,<br>>>>>><br>>>>>> he modificado el CMakeLists.txt del componente cameraserver eliminando<br>>>>>> la dependencia a la librería visionlib la cual creo que no es necesaria para<br>
>>>>> este componente. Prueba a hacer un update en ese directorio para actualizar<br>>>>>> los cambios en tu copia local.<br>>>>>><br>>>>>> También he modificado el CMakeLists.txt del componente cameraview para<br>
>>>>> que enlace de forma correcta con OpenCV, prueba a ver con los nuevos<br>>>>>> cambios.<br>>>>>><br>>>>>> Un saludo.<br>>>>>><br>>>>>> Mikel.<br>
>>>>><br>>>>>><br>>>>>> On 20 December 2012 16:41, gallardo agustin <<a href="mailto:agallard4@gmail.com">agallard4@gmail.com</a>><br>>>>>> wrote:<br>>>>>>><br>
>>>>>><br>>>>>>> Buenos días,<br>>>>>>><br>>>>>>> no consigo comprilar diferentes componentes de jderobot:<br>>>>>>><br>>>>>>> Con cameraserver obtengo el siguiente error:<br>
>>>>>><br>>>>>>> [ 98%] Built target visionlib<br>>>>>>> Linking CXX executable cameraserver<br>>>>>>> /usr/bin/ld: CMakeFiles/cameraserver.dir/cameraserver.cpp.o: undefined<br>
>>>>>> reference to symbol 'dc1394_video_set_transmission'<br>>>>>>> /usr/bin/ld: note: 'dc1394_video_set_transmission' is defined in DSO<br>>>>>>> /usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/libdc1394.so so try<br>
>>>>>> adding it to the linker command line<br>>>>>>> /usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/libdc1394.so:<br>>>>>>> could not read symbols: Invalid operation<br>
>>>>>> collect2: ld returned 1 exit status<br>>>>>>> make[2]: *** [../cameraserver] Error 1<br>>>>>>> make[1]: *** [../CMakeFiles/cameraserver.dir/all] Error 2<br>>>>>>> make: *** [all] Error 2<br>
>>>>>><br>>>>>>> Con cameraview:<br>>>>>>><br>>>>>>> Linking CXX executable cameraview<br>>>>>>> CMakeFiles/cameraview.dir/cameraview.cpp.o: In function<br>
>>>>>> `cv::Mat::~Mat()':<br>>>>>>> cameraview.cpp:(.text._ZN2cv3MatD2Ev[_ZN2cv3MatD5Ev]+0x2b): undefined<br>>>>>>> reference to `cv::fastFree(void*)'<br>>>>>>> CMakeFiles/cameraview.dir/cameraview.cpp.o: In function<br>
>>>>>> `cv::Mat::release()':<br>>>>>>> cameraview.cpp:(.text._ZN2cv3Mat7releaseEv[cv::Mat::release()]+0x3b):<br>>>>>>> undefined reference to `cv::Mat::deallocate()'<br>
>>>>>><br>>>>>>> /home/caupolican/robotica/trunk/src/components/cameraview/build/../../../libs/colorspaces/libcolorspacesmm.so:<br>>>>>>> undefined reference to `cv::cvtColor(cv::_InputArray const&,<br>
>>>>>> cv::_OutputArray const&, int, int)'<br>>>>>>><br>>>>>>> /home/caupolican/robotica/trunk/src/components/cameraview/build/../../../libs/colorspaces/libcolorspacesmm.so:<br>
>>>>>> undefined reference to `cv::Mat::copySize(cv::Mat const&)'<br>>>>>>><br>>>>>>> /home/caupolican/robotica/trunk/src/components/cameraview/build/../../../libs/colorspaces/libcolorspacesmm.so:<br>
>>>>>> undefined reference to `cv::_OutputArray::_OutputArray(cv::Mat&)'<br>>>>>>><br>>>>>>> /home/caupolican/robotica/trunk/src/components/cameraview/build/../../../libs/colorspaces/libcolorspacesmm.so:<br>
>>>>>> undefined reference to `cv::Mat::copyTo(cv::_OutputArray const&) const'<br>>>>>>><br>>>>>>> /home/caupolican/robotica/trunk/src/components/cameraview/build/../../../libs/colorspaces/libcolorspacesmm.so:<br>
>>>>>> undefined reference to `cv::imwrite(std::basic_string<char,<br>>>>>>> std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray<br>>>>>>> const&, std::vector<int, std::allocator<int> > const&)'<br>
>>>>>><br>>>>>>> /home/caupolican/robotica/trunk/src/components/cameraview/build/../../../libs/colorspaces/libcolorspacesmm.so:<br>>>>>>> undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'<br>
>>>>>><br>>>>>>> /home/caupolican/robotica/trunk/src/components/cameraview/build/../../../libs/colorspaces/libcolorspacesmm.so:<br>>>>>>> undefined reference to `cv::Mat::reshape(int, int, int const*) const'<br>
>>>>>><br>>>>>>> /home/caupolican/robotica/trunk/src/components/cameraview/build/../../../libs/colorspaces/libcolorspacesmm.so:<br>>>>>>> undefined reference to `cv::mixChannels(cv::Mat const*, unsigned int,<br>
>>>>>> cv::Mat*, unsigned int, int const*, unsigned int)'<br>>>>>>><br>>>>>>> /home/caupolican/robotica/trunk/src/components/cameraview/build/../../../libs/colorspaces/libcolorspacesmm.so:<br>
>>>>>> undefined reference to `cv::Mat::zeros(int, int, int)'<br>>>>>>><br>>>>>>> /home/caupolican/robotica/trunk/src/components/cameraview/build/../../../libs/colorspaces/libcolorspacesmm.so:<br>
>>>>>> undefined reference to `cv::Mat::create(int, int const*, int)'<br>>>>>>><br>>>>>>> /home/caupolican/robotica/trunk/src/components/cameraview/build/../../../libs/colorspaces/libcolorspacesmm.so:<br>
>>>>>> undefined reference to `cv::imread(std::basic_string<char,<br>>>>>>> std::char_traits<char>, std::allocator<char> > const&, int)'<br>>>>>>><br>
>>>>>> /home/caupolican/robotica/trunk/src/components/cameraview/build/../../../libs/colorspaces/libcolorspacesmm.so:<br>>>>>>> undefined reference to `vtable for cv::_OutputArray'<br>
>>>>>><br>>>>>>> /home/caupolican/robotica/trunk/src/components/cameraview/build/../../../libs/colorspaces/libcolorspacesmm.so:<br>>>>>>> undefined reference to `cv::Mat::operator=(cv::Scalar_<double> const&)'<br>
>>>>>><br>>>>>>> /home/caupolican/robotica/trunk/src/components/cameraview/build/../../../libs/colorspaces/libcolorspacesmm.so:<br>>>>>>> undefined reference to `cv::Mat::convertTo(cv::_OutputArray const&, int,<br>
>>>>>> double, double) const'<br>>>>>>><br>>>>>>> /home/caupolican/robotica/trunk/src/components/cameraview/build/../../../libs/colorspaces/libcolorspacesmm.so:<br>
>>>>>> undefined reference to `vtable for cv::_InputArray'<br>>>>>>> collect2: ld returned 1 exit status<br>>>>>>> make[2]: *** [../cameraview] Error 1<br>>>>>>> make[1]: *** [../CMakeFiles/cameraview.dir/all] Error 2<br>
>>>>>> make: *** [all] Error 2<br>>>>>>><br>>>>>>><br>>>>>>> Estoy instalando sobre Ubuntu 12.04. Inicialmente instalé OpenCV 2.3.1<br>>>>>>> (¿ cuál es la mejor manera de desinstalarlo ?) pero luego he instalado<br>
>>>>>> también 2.4.3. y sigue sin funcionar, tras ejecutar "make clean" y los<br>>>>>>> scripts "clean.sh"<br>>>>>>><br>>>>>>><br>
>>>>>> Un saludo y<br>>>>>>> Gracias!<br>>>>>>><br>>>>>>><br>>>>>>> _______________________________________________<br>>>>>>> Jde-developers mailing list<br>
>>>>>> <a href="mailto:Jde-developers@gsyc.es">Jde-developers@gsyc.es</a><br>>>>>>> <a href="http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers">http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers</a><br>
>>>>>><br>>>>>><br>>>>><br>>>><br>>>><br>>>> _______________________________________________<br>>>> Jde-developers mailing list<br>>>> <a href="mailto:Jde-developers@gsyc.es">Jde-developers@gsyc.es</a><br>
>>> <a href="http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers">http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers</a><br>>>><br>>><br>>><br>>> _______________________________________________<br>
>> Jde-developers mailing list<br>>> <a href="mailto:Jde-developers@gsyc.es">Jde-developers@gsyc.es</a><br>>> <a href="http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers">http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers</a><br>
>><br>><br>><br>> _______________________________________________<br>> Jde-developers mailing list<br>> <a href="mailto:Jde-developers@gsyc.es">Jde-developers@gsyc.es</a><br>> <a href="http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers">http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers</a><br>
><br><br>