2016-05-22 77 views
7

Sto cercando di ottenere PCL 1.7 (la libreria di point cloud, non l'altro pcl) che funziona su Ubuntu 16.04. Alla fine spero di usarlo per le cose in C++, ma in questo momento sto solo cercando di far funzionare gli esempi. Sto usando i compilatori predefiniti forniti con Ubuntu (GNU 5.3.1) e Cmake versione 3.5.2. Ho seguito le indicazioni sul sito web PCL (here e here), ma al momento sono bloccato nel punto in cui utilizzo il comando 'make' dopo aver lasciato che Cmake costruisca le cose che vuole costruire. Questo è l'errore che ottengoCompilare PCL 1.7 su Ubuntu 16.04, errori in CMake generato Makefile

[ 50%] Building CXX object CMakeFiles/pcd_write.dir/pcd_write.cpp.o 
<command-line>:0:15: warning: missing whitespace after the macro name 
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so', needed by 'pcd_write'. Stop. 
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/pcd_write.dir/all' failed 
make[1]: *** [CMakeFiles/pcd_write.dir/all] Error 2 
Makefile:83: recipe for target 'all' failed 
make: *** [all] Error 2 

Cmake mi avvisa anche quando sto costruendo le cose, e quelle sono qui. Non gli impediscono di correre, ma potrebbero essere rilevanti.

-- Found OpenNI2: /usr/lib/libOpenNI2.so 
** WARNING ** io features related to pcap will be disabled 
** WARNING ** io features related to png will be disabled 
-- The imported target "vtkRenderingPythonTkWidgets" references the file 
    "/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so" 
but this file does not exist. Possible reasons include: 
* The file was deleted, renamed, or moved to another location. 
* An install or uninstall procedure did not complete successfully. 
* The installation package was faulty and contained 
    " /usr/lib/cmake/vtk-6.2/VTKTargets.cmake" 
    but not all the files it references. 

Inoltre, nel caso in cui sia rilevante, ho fatto una cosa potenzialmente stupida prima, quando mi dava simili avvertimenti circa VTK. Mi stava dicendo che/user/bin/vtk è stato rinominato o qualcosa del genere, e lo è stato. Questa versione di VTK si chiamava vtk6. Ho cercato di aggirarmi nei makefile per trovarlo e cambiarlo in modo che Cmake sapesse di cercare vtk6, ma non sono riuscito a trovarlo da nessuna parte, quindi sono andato nel cestino e ho creato una copia di vtk vtk, e si è fermato dandomi un avvertimento

Altre versioni importanti di roba che sto usando sono eigen3 3.2.92, spinta 1.58.0, flan 1.8.4, vtk6, e la versione 2.2.0.3 libopenni2

Anche in questo caso, non so quanto di questo è davvero importante, ma meglio essere troppo specifico di un IMO troppo vago.

risposta

2

Sembra esserci un problema con l'installazione con vtk6

descritto qui: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=819741

rapido e sporco fix: creare un collegamento libproj.so simbolico nella directory richiesta:

sudo ln -s /usr/lib/x86_64-linux-gnu/libproj.so.<your-version> /usr/lib/x86_64-linux-gnu/libproj.so 
+0

che non sembra essere uno degli errori, sfortunatamente la soluzione rapida e sporca che hai suggerito non ha funzionato. Ho intenzione di provare e trovare una versione precedente di VTK e vedere se funziona. Riporterò più tardi con i risultati. –

+0

L'utilizzo di VTK 6.3 ha eliminato alcuni errori, ma non sufficiente per farlo funzionare. Ho provato abbastanza cose nuove Sarebbe meglio pubblicare i miei nuovi problemi come una nuova domanda interamente. A tutti coloro che possono venire dopo: scusa, non ha funzionato. –

+0

@BrandonPowers: potresti voler postare il link della nuova domanda qui. Ho ottenuto il mio pcl 1.7 compilato su un'architettura simile, quindi potrei essere in grado di aiutarti. –

9

Questo bug è ancora in 16.04, ma c'è una soluzione alternativa.

  1. sudo apt installare libproj-dev

  2. aggiungere la seguente riga al file CMakeLists.txt:
    list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")

Il primo prevede la necessaria libproj.so, e il secondo errori correzioni durante il collegamento contro un libvtkproj4 inesistente (e non necessario).

Gli altri errori sui file di riferimento non esistenti risultano innocui (o almeno il mio progetto compila pur avendo gli stessi errori).

Per ulteriori informazioni, vedere:
https://bugs.launchpad.net/ubuntu/+source/pcl/+bug/1573174
https://bugs.launchpad.net/ubuntu/+source/vtk6/+bug/1573234

Problemi correlati