OpenBoard-org / OpenBoard

OpenBoard is a cross-platform interactive whiteboard application intended for use in a classroom setting.
https://openboard.ch/
GNU General Public License v3.0
2.32k stars 418 forks source link

Compiling with ffmpeg on CentOS 7 #158

Closed alex-rosenberg35 closed 2 weeks ago

alex-rosenberg35 commented 6 years ago
bash-4.2$ make
[snip]
g++ -c -m64 -pipe -std=c++11 -fopenmp -O2 -O2 -std=gnu++11 -w -D_REENTRANT -fPIC -DQUAZIP_STATIC -DNO_THIRD_PARTY_WARNINGS -DUBVERSION="\"1.4.1."\" -DUBVERSION_RC=1,4,1,240,0 -DQT_NO_DEBUG -DQT_WEBKITWIDGETS_LIB -DQT_WEBKIT_LIB -DQT_SVG_LIB -DQT_UITOOLS_LIB -DQT_MULTIMEDIAWIDGETS_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_XMLPATTERNS_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_SCRIPT_LIB -DQT_CORE_LIB -Isrc -I../OpenBoard-ThirdParty/zlib/1.2.8/include -I../OpenBoard-ThirdParty/xpdf/xpdf-3.04 -I../OpenBoard-ThirdParty/xpdf/xpdf-3.04/goo -I../OpenBoard-ThirdParty/xpdf/xpdf-3.04/splash -Isrc/web/browser -Isrc/pdf-merger -I../OpenBoard-ThirdParty/quazip -I../OpenBoard-ThirdParty/zlib/1.2.8/include -I../OpenBoard-ThirdParty/quazip/quazip-0.7.1 -I../OpenBoard-ThirdParty/qt/singleapplication -I../OpenBoard-ThirdParty/qt/singleapplication -I../OpenBoard-ThirdParty/qt/lockedfile -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWebKitWidgets -isystem /usr/include/qt5/QtWebKit -isystem /usr/include/qt5/QtSvg -isystem /usr/include/qt5/QtUiTools -isystem /usr/include/qt5/QtMultimediaWidgets -isystem /usr/include/qt5/QtPrintSupport -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtMultimedia -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtXmlPatterns -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtXml -isystem /usr/include/qt5/QtScript -isystem /usr/include/qt5/QtCore -Ibuild/linux/release/moc -isystem /usr/include/libdrm -Ibuild/linux/release/ui -I/usr/lib64/qt5/mkspecs/linux-g++-64 -o build/linux/release/objects/UBPodcastController.o src/podcast/UBPodcastController.cpp
In file included from src/podcast/UBPodcastController.cpp:68:0:
src/podcast/ffmpeg/UBFFmpegVideoEncoder.h:26:36: fatal error: libavcodec/avcodec.h: No such file or directory
     #include <libavcodec/avcodec.h>
                                    ^
compilation terminated.
make[1]: *** [build/linux/release/objects/UBPodcastController.o] Error 1
make[1]: Leaving directory `/home/user/OpenBoard'
make: *** [release] Error 2

This is a regression, as OpenBoard previously compiled just fine on this CentOS 7 computer.

Also, I do have ffmpeg-devel installed (from the nux repository per these directions), with the aforementioned file at /usr/include/ffmpeg/libavcodec/avcodec.h.

alex-rosenberg35 commented 6 years ago

I thought I would be able to resolve this manually by adding -isystem /usr/include/ffmpeg, but then I get this:

bash-4.2$ g++ -c -m64 -pipe -std=c++11 -fopenmp -O2 -O2 -std=gnu++11 -w -D_REENTRANT -fPIC -DQUAZIP_STATIC -DNO_THIRD_PARTY_WARNINGS -DUBVERSION="\"1.4.1."\" -DUBVERSION_RC=1,4,1,240,0 -DQT_NO_DEBUG -DQT_WEBKITWIDGETS_LIB -DQT_WEBKIT_LIB -DQT_SVG_LIB -DQT_UITOOLS_LIB -DQT_MULTIMEDIAWIDGETS_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_XMLPATTERNS_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_SCRIPT_LIB -DQT_CORE_LIB -Isrc -I../OpenBoard-ThirdParty/zlib/1.2.8/include -I../OpenBoard-ThirdParty/xpdf/xpdf-3.04 -I../OpenBoard-ThirdParty/xpdf/xpdf-3.04/goo -I../OpenBoard-ThirdParty/xpdf/xpdf-3.04/splash -Isrc/web/browser -Isrc/pdf-merger -I../OpenBoard-ThirdParty/quazip -I../OpenBoard-ThirdParty/zlib/1.2.8/include -I../OpenBoard-ThirdParty/quazip/quazip-0.7.1 -I../OpenBoard-ThirdParty/qt/singleapplication -I../OpenBoard-ThirdParty/qt/singleapplication -I../OpenBoard-ThirdParty/qt/lockedfile -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWebKitWidgets -isystem /usr/include/qt5/QtWebKit -isystem /usr/include/qt5/QtSvg -isystem /usr/include/qt5/QtUiTools -isystem /usr/include/qt5/QtMultimediaWidgets -isystem /usr/include/qt5/QtPrintSupport -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtMultimedia -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtXmlPatterns -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtXml -isystem /usr/include/qt5/QtScript -isystem /usr/include/qt5/QtCore -Ibuild/linux/release/moc -isystem /usr/include/libdrm -isystem /usr/include/ffmpeg -Ibuild/linux/release/ui -I/usr/lib64/qt5/mkspecs/linux-g++-64 -o build/linux/release/objects/UBFFmpegVideoEncoder.o src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp
src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp: In member function ‘bool UBFFmpegVideoEncoder::init()’:
src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp:330:21: error: ‘AV_CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope
         c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
                     ^
src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp:413:25: error: ‘AV_CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope
             c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
                         ^
src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp: In member function ‘void UBFFmpegVideoEncoder::processAudio(QByteArray&)’:
src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp:559:74: error: ‘swr_get_out_samples’ was not declared in this scope
     int outSamplesCount = swr_get_out_samples(mSwrContext, inSamplesCount);
alex-rosenberg35 commented 6 years ago

I just took a look at the /usr/include/ffmpeg/libavcodec/avcodec.h on my system and I discovered it had a different name:

#define CODEC_FLAG_GLOBAL_HEADER  0x00400000 ///< Place global headers in extradata instead of every keyframe.

Ugh, I must have too old a version of ffmpeg and ffmpeg-devel. After fixing the above, I got this:

bash-4.2$ g++ -c -m64 -pipe -std=c++11 -fopenmp -O2 -O2 -std=gnu++11 -w -D_REENTRANT -fPIC -DQUAZIP_STATIC -DNO_THIRD_PARTY_WARNINGS -DUBVERSION="\"1.4.1."\" -DUBVERSION_RC=1,4,1,240,0 -DQT_NO_DEBUG -DQT_WEBKITWIDGETS_LIB -DQT_WEBKIT_LIB -DQT_SVG_LIB -DQT_UITOOLS_LIB -DQT_MULTIMEDIAWIDGETS_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_XMLPATTERNS_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_SCRIPT_LIB -DQT_CORE_LIB -Isrc -I../OpenBoard-ThirdParty/zlib/1.2.8/include -I../OpenBoard-ThirdParty/xpdf/xpdf-3.04 -I../OpenBoard-ThirdParty/xpdf/xpdf-3.04/goo -I../OpenBoard-ThirdParty/xpdf/xpdf-3.04/splash -Isrc/web/browser -Isrc/pdf-merger -I../OpenBoard-ThirdParty/quazip -I../OpenBoard-ThirdParty/zlib/1.2.8/include -I../OpenBoard-ThirdParty/quazip/quazip-0.7.1 -I../OpenBoard-ThirdParty/qt/singleapplication -I../OpenBoard-ThirdParty/qt/singleapplication -I../OpenBoard-ThirdParty/qt/lockedfile -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWebKitWidgets -isystem /usr/include/qt5/QtWebKit -isystem /usr/include/qt5/QtSvg -isystem /usr/include/qt5/QtUiTools -isystem /usr/include/qt5/QtMultimediaWidgets -isystem /usr/include/qt5/QtPrintSupport -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtMultimedia -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtXmlPatterns -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtXml -isystem /usr/include/qt5/QtScript -isystem /usr/include/qt5/QtCore -Ibuild/linux/release/moc -isystem /usr/include/libdrm -isystem /usr/include/ffmpeg -Ibuild/linux/release/ui -I/usr/lib64/qt5/mkspecs/linux-g++-64 -o build/linux/release/objects/UBFFmpegVideoEncoder.o src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp
src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp: In member function ‘void UBFFmpegVideoEncoder::processAudio(QByteArray&)’:
src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp:559:74: error: ‘swr_get_out_samples’ was not declared in this scope
     int outSamplesCount = swr_get_out_samples(mSwrContext, inSamplesCount);
                                                                          ^

swr_get_out_samples() is not declared in my libswresample/swresample.h.

According to libswresample/version.h, I have libswresample 1.1.100. According to libavcodec/version.h, I have libavcodec 56.26.100.

I have ffmpeg-devel-2.6.8-3.el7.nux.x86_64.

alex-rosenberg35 commented 6 years ago

Sorry to anyone who reads all this, but I am really intent on getting this to work and I hope the outcome will also benefit others in the future.

I removed ffmpeg-devel-2.6.8-3 and then installed the static prebuilt version (ffmpeg version 4.0.2-static) according to Installing a static prebuilt version of FFmpeg. The header files and source are provided at https://johnvansickle.com/ffmpeg/release-source/ffmpeg-4.0.tar.xz.

After installing that version of ffmpeg, I was able to overcome all the "libavcodec/avcodec.h: No such file or directory" errors by adding -isystem /usr/include/ffmpeg, up until I got as far as this:

g++ -m64 -fopenmp -Wl,-O1 -Wl,-z,relro -Wl,-rpath-link,/usr/lib64 -o build/linux/release/product/OpenBoard build/linux/release/objects/UBExportAdaptor.o build/linux/release/objects/UBExportPDF.o build/linux/release/objects/UBExportFullPDF.o build/linux/release/objects/UBExportDocument.o build/linux/release/objects/UBSvgSubsetAdaptor.o build/linux/release/objects/UBMetadataDcSubsetAdaptor.o build/linux/release/objects/UBImportAdaptor.o build/linux/release/objects/UBImportDocument.o build/linux/release/objects/UBThumbnailAdaptor.o build/linux/release/objects/UBImportPDF.o build/linux/release/objects/UBImportImage.o build/linux/release/objects/UBExportWeb.o build/linux/release/objects/UBDocumentPublisher.o build/linux/release/objects/UBSvgSubsetRasterizer.o build/linux/release/objects/UBWidgetUniboardAPI.o build/linux/release/objects/UBLibraryAPI.o build/linux/release/objects/UBW3CWidgetAPI.o build/linux/release/objects/UBWidgetMessageAPI.o build/linux/release/objects/UBBoardController.o build/linux/release/objects/UBBoardPaletteManager.o build/linux/release/objects/UBBoardView.o build/linux/release/objects/UBDrawingController.o build/linux/release/objects/UBFeaturesController.o build/linux/release/objects/main.o build/linux/release/objects/UBApplication.o build/linux/release/objects/UBSettings.o build/linux/release/objects/UBSetting.o build/linux/release/objects/UBPersistenceManager.o build/linux/release/objects/UBSceneCache.o build/linux/release/objects/UBPreferencesController.o build/linux/release/objects/UBMimeData.o build/linux/release/objects/UBIdleTimer.o build/linux/release/objects/UBDisplayManager.o build/linux/release/objects/UBDocumentManager.o build/linux/release/objects/UBApplicationController.o build/linux/release/objects/UBDownloadManager.o build/linux/release/objects/UBDownloadThread.o build/linux/release/objects/UBOpenSankoreImporter.o build/linux/release/objects/UBTextTools.o build/linux/release/objects/UBPersistenceWorker.o build/linux/release/objects/UBDocumentController.o build/linux/release/objects/UBDocumentContainer.o build/linux/release/objects/UBDocumentProxy.o build/linux/release/objects/UBGraphicsScene.o build/linux/release/objects/UBGraphicsItemUndoCommand.o build/linux/release/objects/UBGraphicsTextItemUndoCommand.o build/linux/release/objects/UBGraphicsItemTransformUndoCommand.o build/linux/release/objects/UBGraphicsPixmapItem.o build/linux/release/objects/UBPageSizeUndoCommand.o build/linux/release/objects/UBGraphicsProxyWidget.o build/linux/release/objects/UBGraphicsSvgItem.o build/linux/release/objects/UBGraphicsPolygonItem.o build/linux/release/objects/UBItem.o build/linux/release/objects/UBGraphicsWidgetItem.o build/linux/release/objects/UBGraphicsPDFItem.o build/linux/release/objects/UBGraphicsTextItem.o build/linux/release/objects/UBResizableGraphicsItem.o build/linux/release/objects/UBGraphicsStroke.o build/linux/release/objects/UBGraphicsMediaItem.o build/linux/release/objects/UBGraphicsGroupContainerItem.o build/linux/release/objects/UBGraphicsGroupContainerItemDelegate.o build/linux/release/objects/UBGraphicsStrokesGroup.o build/linux/release/objects/UBGraphicsItemGroupUndoCommand.o build/linux/release/objects/UBGraphicsItemDelegate.o build/linux/release/objects/UBGraphicsTextItemDelegate.o build/linux/release/objects/UBGraphicsMediaItemDelegate.o build/linux/release/objects/UBGraphicsDelegateFrame.o build/linux/release/objects/UBGraphicsWidgetItemDelegate.o build/linux/release/objects/UBSelectionFrame.o build/linux/release/objects/UBUndoCommand.o build/linux/release/objects/UBGraphicsItemZLevelUndoCommand.o build/linux/release/objects/UBGeometryUtils.o build/linux/release/objects/UBPlatformUtils.o build/linux/release/objects/UBFileSystemUtils.o build/linux/release/objects/UBStringUtils.o build/linux/release/objects/UBVersion.o build/linux/release/objects/UBCoreGraphicsScene.o build/linux/release/objects/UBCryptoUtils.o build/linux/release/objects/UBBase32.o build/linux/release/objects/UBPlatformUtils_linux.o build/linux/release/objects/UBThumbnailView.o build/linux/release/objects/UBFloatingPalette.o build/linux/release/objects/UBToolbarButtonGroup.o build/linux/release/objects/UBStylusPalette.o build/linux/release/objects/UBIconButton.o build/linux/release/objects/UBThumbnailWidget.o build/linux/release/objects/UBCircleFrame.o build/linux/release/objects/UBColorPicker.o build/linux/release/objects/UBWidgetMirror.o build/linux/release/objects/UBScreenMirror.o build/linux/release/objects/UBResources.o build/linux/release/objects/UBMessageWindow.o build/linux/release/objects/UBDocumentThumbnailWidget.o build/linux/release/objects/UBDocumentTreeWidget.o build/linux/release/objects/UBMousePressFilter.o build/linux/release/objects/UBBlackoutWidget.o build/linux/release/objects/UBMainWindow.o build/linux/release/objects/UBToolWidget.o build/linux/release/objects/UBSpinningWheel.o build/linux/release/objects/UBZoomPalette.o build/linux/release/objects/UBRubberBand.o build/linux/release/objects/UBDocumentToolsPalette.o build/linux/release/objects/UBWebToolsPalette.o build/linux/release/objects/UBActionPalette.o build/linux/release/objects/UBFavoriteToolPalette.o build/linux/release/objects/UBKeyboardPalette.o build/linux/release/objects/UBDockPalette.o build/linux/release/objects/UBPropertyPalette.o build/linux/release/objects/UBUpdateDlg.o build/linux/release/objects/UBDockPaletteWidget.o build/linux/release/objects/UBLeftPalette.o build/linux/release/objects/UBRightPalette.o build/linux/release/objects/UBPageNavigationWidget.o build/linux/release/objects/UBMagnifer.o build/linux/release/objects/UBCachePropertiesWidget.o build/linux/release/objects/UBDownloadWidget.o build/linux/release/objects/UBDockDownloadWidget.o build/linux/release/objects/UBFeaturesWidget.o build/linux/release/objects/UBFeaturesActionBar.o build/linux/release/objects/UBMessagesDialog.o build/linux/release/objects/UBOpenSankoreImporterWidget.o build/linux/release/objects/UBStartupHintsPalette.o build/linux/release/objects/UBBackgroundPalette.o build/linux/release/objects/UBBoardThumbnailsView.o build/linux/release/objects/UBDocumentNavigator.o build/linux/release/objects/UBKeyboardPalette_linux.o build/linux/release/objects/UBHttpFileDownloader.o build/linux/release/objects/UBNetworkAccessManager.o build/linux/release/objects/UBServerXMLHttpRequest.o build/linux/release/objects/UBCookieJar.o build/linux/release/objects/UBAutoSaver.o build/linux/release/objects/UBHttpGet.o build/linux/release/objects/GraphicsPDFItem.o build/linux/release/objects/PDFRenderer.o build/linux/release/objects/UBWebPluginPDFWidget.o build/linux/release/objects/XPDFRenderer.o build/linux/release/objects/UBPodcastController.o build/linux/release/objects/UBAbstractVideoEncoder.o build/linux/release/objects/UBPodcastRecordingPalette.o build/linux/release/objects/UBYouTubePublisher.o build/linux/release/objects/UBIntranetPodcastPublisher.o build/linux/release/objects/UBFFmpegVideoEncoder.o build/linux/release/objects/UBMicrophoneInput.o build/linux/release/objects/UBGraphicsRuler.o build/linux/release/objects/UBGraphicsTriangle.o build/linux/release/objects/UBGraphicsProtractor.o build/linux/release/objects/UBGraphicsCompass.o build/linux/release/objects/UBToolsManager.o build/linux/release/objects/UBGraphicsCurtainItem.o build/linux/release/objects/UBGraphicsCurtainItemDelegate.o build/linux/release/objects/UBAbstractDrawRuler.o build/linux/release/objects/UBGraphicsCache.o build/linux/release/objects/UBDesktopPalette.o build/linux/release/objects/UBDesktopAnnotationController.o build/linux/release/objects/UBCustomCaptureWindow.o build/linux/release/objects/UBDesktopPropertyPalette.o build/linux/release/objects/UBWindowCapture_linux.o build/linux/release/objects/UBWebController.o build/linux/release/objects/UBTrapFlashController.o build/linux/release/objects/UBWebKitUtils.o build/linux/release/objects/UBWebPage.o build/linux/release/objects/UBWebPluginWidget.o build/linux/release/objects/UBOEmbedParser.o build/linux/release/objects/WBBrowserWindow.o build/linux/release/objects/WBChaseWidget.o build/linux/release/objects/WBDownloadManager.o build/linux/release/objects/WBModelMenu.o build/linux/release/objects/WBEditTableView.o build/linux/release/objects/WBSearchLineEdit.o build/linux/release/objects/WBSqueezeLabel.o build/linux/release/objects/WBTabWidget.o build/linux/release/objects/WBToolBarSearch.o build/linux/release/objects/WBUrlLineEdit.o build/linux/release/objects/WBWebView.o build/linux/release/objects/WBHistory.o build/linux/release/objects/WBWebTrapWebView.o build/linux/release/objects/AnnotsHandler.o build/linux/release/objects/ASCII85Decode.o build/linux/release/objects/ASCIIHexDecode.o build/linux/release/objects/ContentHandler.o build/linux/release/objects/Document.o build/linux/release/objects/Filter.o build/linux/release/objects/FilterPredictor.o build/linux/release/objects/FlateDecode.o build/linux/release/objects/LZWDecode.o build/linux/release/objects/Merger.o build/linux/release/objects/Object.o build/linux/release/objects/Page.o build/linux/release/objects/PageElementHandler.o build/linux/release/objects/Parser.o build/linux/release/objects/Rectangle.o build/linux/release/objects/RemoveHimselfHandler.o build/linux/release/objects/RunLengthDecode.o build/linux/release/objects/Utils.o build/linux/release/objects/OverlayDocumentParser.o build/linux/release/objects/CCITTFaxDecode.o build/linux/release/objects/JBIG2Decode.o build/linux/release/objects/DCTDecode.o build/linux/release/objects/qtsingleapplication.o build/linux/release/objects/qtlocalpeer.o build/linux/release/objects/qtlockedfile.o build/linux/release/objects/qtlockedfile_unix.o build/linux/release/objects/qrc_OpenBoard.o build/linux/release/objects/moc_UBExportAdaptor.o build/linux/release/objects/moc_UBExportPDF.o build/linux/release/objects/moc_UBExportFullPDF.o build/linux/release/objects/moc_UBExportDocument.o build/linux/release/objects/moc_UBImportAdaptor.o build/linux/release/objects/moc_UBImportDocument.o build/linux/release/objects/moc_UBImportPDF.o build/linux/release/objects/moc_UBImportImage.o build/linux/release/objects/moc_UBExportWeb.o build/linux/release/objects/moc_UBDocumentPublisher.o build/linux/release/objects/moc_UBSvgSubsetRasterizer.o build/linux/release/objects/moc_UBWidgetUniboardAPI.o build/linux/release/objects/moc_UBLibraryAPI.o build/linux/release/objects/moc_UBW3CWidgetAPI.o build/linux/release/objects/moc_UBWidgetMessageAPI.o build/linux/release/objects/moc_UBBoardController.o build/linux/release/objects/moc_UBBoardPaletteManager.o build/linux/release/objects/moc_UBBoardView.o build/linux/release/objects/moc_UBDrawingController.o build/linux/release/objects/moc_UBFeaturesController.o build/linux/release/objects/moc_UBApplication.o build/linux/release/objects/moc_UBSettings.o build/linux/release/objects/moc_UBSetting.o build/linux/release/objects/moc_UBPersistenceManager.o build/linux/release/objects/moc_UBPreferencesController.o build/linux/release/objects/moc_UBMimeData.o build/linux/release/objects/moc_UBIdleTimer.o build/linux/release/objects/moc_UBDisplayManager.o build/linux/release/objects/moc_UBDocumentManager.o build/linux/release/objects/moc_UBApplicationController.o build/linux/release/objects/moc_UBDownloadManager.o build/linux/release/objects/moc_UBDownloadThread.o build/linux/release/objects/moc_UBOpenSankoreImporter.o build/linux/release/objects/moc_UBPersistenceWorker.o build/linux/release/objects/moc_UBDocumentController.o build/linux/release/objects/moc_UBDocumentContainer.o build/linux/release/objects/moc_UBDocumentProxy.o build/linux/release/objects/moc_UBGraphicsScene.o build/linux/release/objects/moc_UBGraphicsPixmapItem.o build/linux/release/objects/moc_UBGraphicsWidgetItem.o build/linux/release/objects/moc_UBGraphicsTextItem.o build/linux/release/objects/moc_UBGraphicsMediaItem.o build/linux/release/objects/moc_UBGraphicsGroupContainerItemDelegate.o build/linux/release/objects/moc_UBGraphicsStrokesGroup.o build/linux/release/objects/moc_UBGraphicsItemDelegate.o build/linux/release/objects/moc_UBGraphicsTextItemDelegate.o build/linux/release/objects/moc_UBGraphicsWidgetItemDelegate.o build/linux/release/objects/moc_UBGraphicsMediaItemDelegate.o build/linux/release/objects/moc_UBSelectionFrame.o build/linux/release/objects/moc_UBFileSystemUtils.o build/linux/release/objects/moc_UBCryptoUtils.o build/linux/release/objects/moc_UBThumbnailView.o build/linux/release/objects/moc_UBFloatingPalette.o build/linux/release/objects/moc_UBToolbarButtonGroup.o build/linux/release/objects/moc_UBStylusPalette.o build/linux/release/objects/moc_UBIconButton.o build/linux/release/objects/moc_UBThumbnailWidget.o build/linux/release/objects/moc_UBColorPicker.o build/linux/release/objects/moc_UBWidgetMirror.o build/linux/release/objects/moc_UBScreenMirror.o build/linux/release/objects/moc_UBResources.o build/linux/release/objects/moc_UBMessageWindow.o build/linux/release/objects/moc_UBDocumentThumbnailWidget.o build/linux/release/objects/moc_UBDocumentTreeWidget.o build/linux/release/objects/moc_UBMousePressFilter.o build/linux/release/objects/moc_UBBlackoutWidget.o build/linux/release/objects/moc_UBMainWindow.o build/linux/release/objects/moc_UBToolWidget.o build/linux/release/objects/moc_UBSpinningWheel.o build/linux/release/objects/moc_UBZoomPalette.o build/linux/release/objects/moc_UBRubberBand.o build/linux/release/objects/moc_UBDocumentToolsPalette.o build/linux/release/objects/moc_UBWebToolsPalette.o build/linux/release/objects/moc_UBActionPalette.o build/linux/release/objects/moc_UBFavoriteToolPalette.o build/linux/release/objects/moc_UBKeyboardPalette.o build/linux/release/objects/moc_UBDockPalette.o build/linux/release/objects/moc_UBPropertyPalette.o build/linux/release/objects/moc_UBUpdateDlg.o build/linux/release/objects/moc_UBDockPaletteWidget.o build/linux/release/objects/moc_UBRightPalette.o build/linux/release/objects/moc_UBPageNavigationWidget.o build/linux/release/objects/moc_UBMagnifer.o build/linux/release/objects/moc_UBCachePropertiesWidget.o build/linux/release/objects/moc_UBDownloadWidget.o build/linux/release/objects/moc_UBDockDownloadWidget.o build/linux/release/objects/moc_UBFeaturesWidget.o build/linux/release/objects/moc_UBFeaturesActionBar.o build/linux/release/objects/moc_UBMessagesDialog.o build/linux/release/objects/moc_UBOpenSankoreImporterWidget.o build/linux/release/objects/moc_UBStartupHintsPalette.o build/linux/release/objects/moc_UBBackgroundPalette.o build/linux/release/objects/moc_UBBoardThumbnailsView.o build/linux/release/objects/moc_UBDocumentNavigator.o build/linux/release/objects/moc_UBHttpFileDownloader.o build/linux/release/objects/moc_UBNetworkAccessManager.o build/linux/release/objects/moc_UBServerXMLHttpRequest.o build/linux/release/objects/moc_UBCookieJar.o build/linux/release/objects/moc_UBAutoSaver.o build/linux/release/objects/moc_UBHttpGet.o build/linux/release/objects/moc_GraphicsPDFItem.o build/linux/release/objects/moc_PDFRenderer.o build/linux/release/objects/moc_UBWebPluginPDFWidget.o build/linux/release/objects/moc_XPDFRenderer.o build/linux/release/objects/moc_UBPodcastController.o build/linux/release/objects/moc_UBAbstractVideoEncoder.o build/linux/release/objects/moc_UBPodcastRecordingPalette.o build/linux/release/objects/moc_UBYouTubePublisher.o build/linux/release/objects/moc_UBIntranetPodcastPublisher.o build/linux/release/objects/moc_UBFFmpegVideoEncoder.o build/linux/release/objects/moc_UBMicrophoneInput.o build/linux/release/objects/moc_UBGraphicsRuler.o build/linux/release/objects/moc_UBGraphicsTriangle.o build/linux/release/objects/moc_UBGraphicsProtractor.o build/linux/release/objects/moc_UBGraphicsCompass.o build/linux/release/objects/moc_UBToolsManager.o build/linux/release/objects/moc_UBGraphicsCurtainItem.o build/linux/release/objects/moc_UBGraphicsCurtainItemDelegate.o build/linux/release/objects/moc_UBAbstractDrawRuler.o build/linux/release/objects/moc_UBDesktopPalette.o build/linux/release/objects/moc_UBDesktopAnnotationController.o build/linux/release/objects/moc_UBCustomCaptureWindow.o build/linux/release/objects/moc_UBWindowCapture.o build/linux/release/objects/moc_UBDesktopPropertyPalette.o build/linux/release/objects/moc_UBWebController.o build/linux/release/objects/moc_UBTrapFlashController.o build/linux/release/objects/moc_UBWebPage.o build/linux/release/objects/moc_UBWebPluginWidget.o build/linux/release/objects/moc_UBOEmbedParser.o build/linux/release/objects/moc_WBBrowserWindow.o build/linux/release/objects/moc_WBChaseWidget.o build/linux/release/objects/moc_WBDownloadManager.o build/linux/release/objects/moc_WBModelMenu.o build/linux/release/objects/moc_WBEditTableView.o build/linux/release/objects/moc_WBSearchLineEdit.o build/linux/release/objects/moc_WBSqueezeLabel.o build/linux/release/objects/moc_WBTabWidget.o build/linux/release/objects/moc_WBToolBarSearch.o build/linux/release/objects/moc_WBUrlLineEdit.o build/linux/release/objects/moc_WBWebView.o build/linux/release/objects/moc_WBHistory.o build/linux/release/objects/moc_WBWebTrapWebView.o build/linux/release/objects/moc_quazipfile.o build/linux/release/objects/moc_qtsingleapplication.o build/linux/release/objects/moc_qtlocalpeer.o   -L/usr/X11R6/lib64 -L/home/testcsc01/OpenBoard-ThirdParty/freetype/lib/linux -L/home/testcsc01/OpenBoard-ThirdParty/quazip/lib/linux -lquazip -L/home/testcsc01/OpenBoard-ThirdParty/xpdf/lib/linux -lxpdf -L../freetype/lib/linux -lpaper -lavformat -lavcodec -lva-x11 -lva -lxcb-shm -lxcb-xfixes -lxcb-render -lxcb-shape -lxcb -lasound -lSDL -lx264 -lvpx -lvorbisenc -lvorbis -ltheoraenc -ltheoradec -logg -lopus -lmp3lame -lfreetype -lfdk-aac -lass -llzma -lbz2 -ldl -lswresample -lswscale -lavutil -lm -lz -lcrypto -lX11 -lQt5WebKitWidgets -lQt5WebKit -lQt5Svg -lQt5UiTools -lQt5MultimediaWidgets -lQt5PrintSupport -lQt5Widgets -lQt5Multimedia -lQt5Gui -lQt5XmlPatterns -lQt5Network -lQt5Xml -lQt5Script -lQt5Core -lGL -lpthread 
/usr/bin/ld: cannot find -lavformat
/usr/bin/ld: cannot find -lavcodec
/usr/bin/ld: cannot find -lva-x11
/usr/bin/ld: cannot find -lva
/usr/bin/ld: cannot find -lx264
/usr/bin/ld: cannot find -lvpx
/usr/bin/ld: cannot find -lvorbisenc
/usr/bin/ld: cannot find -lvorbis
/usr/bin/ld: cannot find -ltheoraenc
/usr/bin/ld: cannot find -ltheoradec
/usr/bin/ld: cannot find -logg
/usr/bin/ld: cannot find -lopus
/usr/bin/ld: cannot find -lmp3lame
/usr/bin/ld: cannot find -lfdk-aac
/usr/bin/ld: cannot find -lass
/usr/bin/ld: cannot find -lswresample
/usr/bin/ld: cannot find -lswscale
/usr/bin/ld: cannot find -lavutil
collect2: error: ld returned 1 exit status
make[1]: *** [build/linux/release/product/OpenBoard] Error 1
make[1]: Leaving directory `/home/testcsc01/OpenBoard'
make: *** [release] Error 2

In the future, could ffmpeg just be included in OpenBoard-ThirdParty? If not (due to licensing issues), could you consider adapting your directions for compiling from source on CentOS/Fedora/RHEL? I understand this is asking a lot, but it would be worth it for OpenBoard in the long run.

kaamui commented 5 years ago

Hi,

For the moment, OpenBoard is meant to be built with ffmpeg 3.4 on Linux. ffmpeg4 should work too, normally.

The error you have in you last reply is due to the linker that cannot find the listed libraries. They have to be installed (some are already installed with ffmpeg, just add a -L<path of your ffmpeg/lib folder>) and linked.

CentOS is not one of the supported OS, and due to our limited resources, we cannot handle more than one linux distribution (every OS added means another OS where everything must be validated), sorry. But keep an eye on the community work.

Thank you for the help.

truatpasteurdotfr commented 3 years ago

I have built it on CentOS-7, qt5 5.9.7-1.el7 x264/x265 from legacy nux repository and source build ffmpeg-3.4.4. I will report once I have cleanup my notes and redo everything from a fresh installation box.