Ok, acontece que eu não preciso usar os drivers do desenvolvedor para compilar o OpenCV, afinal de contas!
De alguma forma, eu estraguei minhas fontes de software e não atualizei mais ppa:ubuntu-x-swat/x-updates . Quando consertei, consegui atualizar meus drivers NVIDIA para 304.43 de 295.49 . Acho que esse pode ter sido o fator crítico para compilar o OpenCV, embora eu também precise modificar um makefile para que ele funcione.
Se alguém estiver interessado em fazer o mesmo, eu basicamente segui as instruções aqui . Parafraseando:
-
sudo apt-get installdas seguintes dependências do módulo, se você ainda não as tiver:libopencv-dev build-essential checkinstall cmake pkg-config libtiff4-dev libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libv4l-dev -
Faça o download do último OpenCV em aqui , então:
tar -xvf OpenCV-<version#>.tar.bz2 cd OpenCV-<version#>/ mkdir build cd build -
Execute
cmakepara configurar um arquivo de compilação. Você precisará passarcmakede um conjunto de opções para especificar como você gostaria que o OpenCV fosse construído. As opções exatas dependerão do seu sistema - você pode ter uma ideia de quais opções estão disponíveis olhando../CMakeLists.txt. O comando exato que usei foi:cmake -D WITH_QT=ON -D WITH_XINE=ON -D WITH_OPENGL=ON -D WITH_TBB=ON -D BUILD_EXAMPLES=ON BUILD_TESTS=ON ENABLE_SSE3=ON ENABLE_SSE4.1=ON ENABLE_SSE4.2=ON WITH_CUDA=ON ..Eu tive um problema especial para compilar com o suporte ao tempo de execução CUDA (
WITH_CUDA=ON), daí a pergunta original sobre os drivers. -
cmakecriará um arquivo chamadoCMakeCache.txt. Descobri que eu tinha que modificar esse arquivo como descrito aqui para evitar um erro ligandolibcuda.so.Encontre a linha que começa:
CUDA_CUDA_LIBRARY:FILEPATH=E anexe o caminho para
libcuda.so, no meu caso:CUDA_CUDA_LIBRARY:FILEPATH=/usr/lib/nvidia-current/libcuda.so -
Agora você deve executar
makepara compilar (demora um pouco ...) e, em seguida,sudo make installpara instalar
Espero que alguém ache isso útil.