fw4spl-org / fw4spl

Main repository for fw4spl
30 stars 15 forks source link

Makefile:149: recipe for target 'all' failed #8

Open ghost opened 7 years ago

ghost commented 7 years ago
-- Installing: /home/sk/Deps/Install/Debug/lib/libboost_wave.so.1.61.0
-- Installing: /home/sk/Deps/Install/Debug/lib/libboost_wserialization.so
-- Installing: /home/sk/Deps/Install/Debug/lib/libboost_wserialization.so.1.61.0
[ 62%] Completed 'boost'
[ 62%] Built target boost
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

I am using Ubuntu and I am compiling the FW4SPL dependencies using the terminal with the command make -j4. Then this error occurred, what could be the problem?

dweckmann commented 7 years ago

You should first try to compile again without the -j4 so we can have a clue of what the error is, otherwise the error message is spread across all the log, interleaved with 3 processes.

You can then repost the log and we will take a look.

fbridault commented 7 years ago

Could you also please tell us which version of Ubuntu you are using ? I have some Dockerfiles that I can share with you, that might help you to debug your issue.

ghost commented 7 years ago
checking for libproxy...  no.
checking for Glib...  yes.
checking for ICU...  yes.
checking for PulseAudio...  no.
checking for OpenGL...  no.
The OpenGL functionality test failed!
 You might need to modify the include and library search paths by editing
 QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in
 /home/sk/Documents/Augmented_Reality/fw4spl/Deps/Build/Debug/qt/qt-prefix/src/qt/qtbase/mkspecs/linux-g++.
qt/CMakeFiles/qt.dir/build.make:117: recipe for target 'qt/qt-prefix/src/qt-stamp/qt-configure' failed
make[2]: *** [qt/qt-prefix/src/qt-stamp/qt-configure] Error 1
CMakeFiles/Makefile2:2814: recipe for target 'qt/CMakeFiles/qt.dir/all' failed
make[1]: *** [qt/CMakeFiles/qt.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

I have typed in make in the terminal instead of make -j4. Yes, some Dockerfiles could be helpful and I am using the version Ubuntu 16.04

ghost commented 7 years ago

You must also change the CMakeLists.txt file in .../Src/fw4spl-deps/tetgen because the link does not exist anymore. Change this line set(CACHED_URL http://www.tetgen.org/1.5/src/tetgen1.5.0.tar.gz) into this set(CACHED_URL https://launchpad.net/ubuntu/+archive/primary/+files/tetgen_1.5.0.orig.tar.gz).

-- Retrying...
-- Using src='http://www.tetgen.org/1.5/src/tetgen1.5.0.tar.gz'
-- Retry after 5 seconds (attempt #2) ...
-- Using src='http://www.tetgen.org/1.5/src/tetgen1.5.0.tar.gz'
fbridault commented 7 years ago

For Qt, here is the stuff I installed to build on Ubuntu 16.04:

sudo apt-get install -y '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libssl-dev libxt-dev libvlc-dev libvlccore-dev libudev-dev libxaw7-dev libxrandr-dev

I will upload some Dockerfiles soon on a separate repo.

For Tetgen I already noticed this issue but that was really random. This is probably a good idea to change the URL as the server seems not be be reliable.

ghost commented 7 years ago
checking for mtdev...  no.
checking for libdl...  yes.
checking for DB2...  no.
checking for InterBase...  no.
checking for MySQL (thread-safe)...  no.
checking for MySQL (thread-unsafe)...  yes.
checking for OCI...  no.
checking for ODBC...  yes.
checking for PostgreSQL...  yes.
checking for SQLite2...  no.
checking for TDS...  no.
checking for NIS...  yes.
checking for Cups...  no.
checking for POSIX iconv...  no.
checking for SUN libiconv...  no.
checking for GNU libiconv...  no.
checking for libproxy...  no.
checking for Glib...  yes.
checking for ICU...  yes.
checking for PulseAudio...  no.
checking for OpenGL...  no.
The OpenGL functionality test failed!
 You might need to modify the include and library search paths by editing
 QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in
 /home/sk/qt/qt-prefix/src/qt/qtbase/mkspecs/linux-g++.
qt/CMakeFiles/qt.dir/build.make:117: recipe for target 'qt/qt-prefix/src/qt-stamp/qt-configure' failed
make[2]: *** [qt/qt-prefix/src/qt-stamp/qt-configure] Error 1
CMakeFiles/Makefile2:2814: recipe for target 'qt/CMakeFiles/qt.dir/all' failed
make[1]: *** [qt/CMakeFiles/qt.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error

Thanks, now I am getting this error.

ghost commented 7 years ago

Thanks Flavien and please let me know when the dockerfiles are uploaded and also the link to it.

fbridault commented 7 years ago

You're welcome, you can find them here : https://github.com/fw4spl-org/docker-fw4spl-deps

But that's a bit weird, normally with the packages you installed you should have the GL headers. Can you verify you have a provider like mesa-common-dev ?

ghost commented 7 years ago

Thanks, I'll check them out. I've typed sudo apt-get install mesa-common-dev and it says that it is already the newest version. One of my colleagues is having trouble installing fw4spl on Windows, do you have any binary installers that could automate the installation process by any chance?

ghost commented 7 years ago

I've ran the dockerfile that you provided and this error message occurs for some reason, can you help me out? thanks.

-- Installing: /home/build/deps/install/Debug/plugins/position/libqtposition_positionpoll.so
-- Installing: /home/build/deps/install/Debug/plugins/sqldrivers/libqsqlite.so
-- Installing: /home/build/deps/install/Debug/plugins/xcbglintegrations/libqxcb-glx-integration.so
[ 84%] Completed 'qt'
[ 84%] Built target qt
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
fbridault commented 7 years ago

Ok so at least you manage to build qt this time, but something else broke earlier. Unfortunately because of -j in the make command we can't see what broke. You may want to re-run your container with docker start to continue the build and get a chance to get the error. You can also redirect the make output in the Dockerfile to a file and then inspect this file. Otherwise without any log I wont' be able to help. We could assume this is tetgen failiing to download again but we can't be certain.

ghost commented 7 years ago

Can you tell me how I can redirect the make output to a log? Since I am not familiar with these things. I do not think it was tetgen this time because I remember seeing tetgen being downloaded in the terminal during compilation (i think).

fbridault commented 7 years ago

Just change the make line into something like:

make -j`grep processor -c /proc/cpuinfo` 2> build.log

And then with docker cp command you can retrieve the file on your host and inspect it.

ghost commented 7 years ago

Ok, Ill try it tomorrow and tell you what happens.

ghost commented 7 years ago

Hi, I changed the first line into the one below in Dockerfile.txt.

CMD make -j`grep processor -c /proc/cpuinfo` && make package
CMD make -j`grep processor -c /proc/cpuinfo` 2> build.log

Then I ran sudo docker ls -a to obtain the container id which was d309ddd54430. Then I ran sudo docker start d309ddd54430. Then the terminal printed 64e7aa15a22e. Then I ran sudo docker container logs d309ddd54430. Then the terminal printed the messages below.

-- Installing: /home/build/deps/install/Debug/include/vtk-7.0/vtkQtTableView.h
-- Installing: /home/build/deps/install/Debug/include/vtk-7.0/vtkQtTreeView.h
-- Installing: /home/build/deps/install/Debug/include/vtk-7.0/vtkQtView.h
-- Installing: /home/build/deps/install/Debug/include/vtk-7.0/vtkViewsQtModule.h
[ 88%] Install configuration file
[ 89%] Completed 'vtk'
[ 89%] Built target vtk
-- Retry after 5 seconds (attempt #2) ...
-- Using src='http://www.tetgen.org/1.5/src/tetgen1.5.0.tar.gz'
-- Retry after 5 seconds (attempt #3) ...
-- Using src='http://www.tetgen.org/1.5/src/tetgen1.5.0.tar.gz'

I think this indicates that it was tetgen failing again.

ghost commented 7 years ago

Hi I've managed to get the log file.

logfile.tar.gz logfile.zip

ghost commented 7 years ago

I've tried this time using Mac OS X and a different error occurred. Would be great if you could help.

Output for make all

[ 96%] Building CXX object Utilities/VTK/CMakeFiles/vtkgdcm.dir/vtkGDCMThreadedImageReader2.cxx.o
[ 97%] Linking CXX shared library ../../bin/libvtkgdcm.dylib
[ 97%] Built target vtkgdcm
Scanning dependencies of target DOCBOOK_MANPAGES
[ 97%] Generating gdcmxml.1
http://docbook.sourceforge.net/release/xsl-ns/current/VERSION.xsl:26: parser error : Premature end of data in tag Branch line 26
  <fm:Branch>XSL 
                 ^
http://docbook.sourceforge.net/release/xsl-ns/current/VERSION.xsl:26: parser error : Premature end of data in tag project line 24
  <fm:Branch>XSL 
                 ^
http://docbook.sourceforge.net/release/xsl-ns/current/VERSION.xsl:26: parser error : Premature end of data in tag stylesheet line 2
  <fm:Branch>XSL 
                 ^
compilation error: file http://docbook.sourceforge.net/release/xsl-ns/current/html/docbook.xsl line 24 element include
xsl:include : unable to load http://docbook.sourceforge.net/release/xsl-ns/current/VERSION.xsl
compilation error: file /Users/dhlee/Documents/fw4spl/Deps/Build/Debug/gdcm/gdcm-prefix/src/gdcm/Utilities/doxygen/man/gdcmxml.xml line 3 element refentry
xsltParseStylesheetProcess : document is not a stylesheet
make[5]: *** [Utilities/doxygen/gdcmxml.1] Error 5
make[4]: *** [Utilities/doxygen/CMakeFiles/DOCBOOK_MANPAGES.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [gdcm/gdcm-prefix/src/gdcm-stamp/gdcm-build] Error 2
make[1]: *** [gdcm/CMakeFiles/gdcm.dir/all] Error 2
make: *** [all] Error 2

Output for make

[ 93%] Built target gdcmMEXD
[ 97%] Built target vtkgdcm
[ 97%] Generating gdcmxml.1
http://docbook.sourceforge.net/release/xsl-ns/current/VERSION.xsl:26: parser error : Premature end of data in tag Branch line 26
  <fm:Branch>XSL 
                 ^
http://docbook.sourceforge.net/release/xsl-ns/current/VERSION.xsl:26: parser error : Premature end of data in tag project line 24
  <fm:Branch>XSL 
                 ^
http://docbook.sourceforge.net/release/xsl-ns/current/VERSION.xsl:26: parser error : Premature end of data in tag stylesheet line 2
  <fm:Branch>XSL 
                 ^
compilation error: file http://docbook.sourceforge.net/release/xsl-ns/current/html/docbook.xsl line 24 element include
xsl:include : unable to load http://docbook.sourceforge.net/release/xsl-ns/current/VERSION.xsl
compilation error: file /Users/dhlee/Documents/fw4spl/Deps/Build/Debug/gdcm/gdcm-prefix/src/gdcm/Utilities/doxygen/man/gdcmxml.xml line 3 element refentry
xsltParseStylesheetProcess : document is not a stylesheet
make[5]: *** [Utilities/doxygen/gdcmxml.1] Error 5
make[4]: *** [Utilities/doxygen/CMakeFiles/DOCBOOK_MANPAGES.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [gdcm/gdcm-prefix/src/gdcm-stamp/gdcm-build] Error 2
make[1]: *** [gdcm/CMakeFiles/gdcm.dir/all] Error 2
make: *** [all] Error 2
fbridault commented 7 years ago

Yes for the Linux issue, indeed that's tetgen failing again to download... This url really is not reliable. I'll propose something today to fix this.

fbridault commented 7 years ago

And for MacOs the problem comes from the manpages documentation. We do not need them so I have proposed a patch to exclude them from the build. I'll keep you aware as soon as both patches are integrated into the dev branch.

fbridault commented 7 years ago

Ok both issues you reported should be fixed now on the dev branch. Thanks again for your feedback. :+1:

ghost commented 7 years ago

For Linux, I downloaded the fw4spl-deps file in the dev branch. There is another error..

Output for make -j4

[ 81%] Install configuration file
[ 82%] Completed 'vxl'
[ 82%] Built target vxl
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

Output for make

[  2%] Built target jpeg
[  5%] Built target zlib
[  8%] Built target tiff
[ 11%] Built target libpng
[ 14%] Built target libiconv
[ 17%] Built target libxml
[ 20%] Built target expat
[ 23%] Built target python
[ 27%] Built target boost
[ 30%] Built target freetype
[ 33%] Built target icu4c
[ 34%] Performing configure step for 'qt'
+ cd qtbase
+ /home/sk/Documents/Augmented_Reality/fw4spl/Deps/Build/Debug/qt/qt-prefix/src/qt/qtbase/configure -top-level -prefix /home/sk/Deps/Install/Debug -I /home/sk/Deps/Install/Debug/include -L /home/sk/Deps/Install/Debug/lib -debug -skip qtactiveqt -skip qtconnectivity -skip qtsensors -skip qttranslations -skip qtwayland -skip qtwebengine -skip qtwebchannel -skip qtwebsockets -skip qtdeclarative -skip qtquickcontrols -skip qtcanvas3d -skip qtgraphicaleffects -skip qtscript -skip qtwayland -skip qtserialport -skip qtdoc -shared -opensource -confirm-license -system-zlib -system-libpng -system-libjpeg -system-freetype -nomake examples -nomake tests -no-dbus -no-fontconfig -opengl desktop -qt-xcb -c++std c++11 -gstreamer 1.0

This is the Qt Open Source Edition.

You are licensed to use this software under the terms of
the GNU Lesser General Public License (LGPL) versions 3.
You are also licensed to use this software under the terms of
the GNU General Public License (GPL) versions 2.

You have already accepted the terms of the Open Source license.

Creating qmake...
Done.
Running configuration tests...
checking for C++11...  yes.
checking for default C++ standard edition...  yes.
checking for 64-bit std::atomic...  yes.
checking for sse2...  yes.
checking for sse3...  yes.
checking for ssse3...  yes.
checking for sse4_1...  yes.
checking for sse4_2...  yes.
checking for avx...  yes.
checking for avx2...  yes.
checking for avx512f...  yes.
checking for avx512er...  yes.
checking for avx512cd...  yes.
checking for avx512pf...  yes.
checking for avx512dq...  yes.
checking for avx512bw...  yes.
checking for avx512vl...  yes.
checking for avx512ifma...  yes.
checking for avx512vbmi...  yes.
checking for ipc_sysv...  yes.
checking for mtdev...  yes.
checking for libdl...  yes.
checking for DB2...  no.
checking for InterBase...  no.
checking for MySQL (thread-safe)...  no.
checking for MySQL (thread-unsafe)...  yes.
checking for OCI...  no.
checking for ODBC...  yes.
checking for PostgreSQL...  yes.
checking for SQLite2...  no.
checking for TDS...  no.
checking for NIS...  yes.
checking for Cups...  no.
checking for POSIX iconv...  no.
checking for SUN libiconv...  no.
checking for GNU libiconv...  no.
checking for libproxy...  no.
checking for Glib...  yes.
checking for ICU...  yes.
checking for PulseAudio...  yes.
checking for OpenGL...  no.
The OpenGL functionality test failed!
 You might need to modify the include and library search paths by editing
 QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in
 /home/sk/Documents/Augmented_Reality/fw4spl/Deps/Build/Debug/qt/qt-prefix/src/qt/qtbase/mkspecs/linux-g++.
qt/CMakeFiles/qt.dir/build.make:117: recipe for target 'qt/qt-prefix/src/qt-stamp/qt-configure' failed
make[2]: *** [qt/qt-prefix/src/qt-stamp/qt-configure] Error 1
CMakeFiles/Makefile2:2814: recipe for target 'qt/CMakeFiles/qt.dir/all' failed
make[1]: *** [qt/CMakeFiles/qt.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
fbridault commented 7 years ago

Yes of course that's the issue you had before trying building with docker. As said earlier, this is weird because you told that you installed all the requirements. But apparently, you miss either /usr/include/GL/* files or a libGL.so somewhere (for instance /usr/lib/x86_64-linux-gnu/libGL.so) which is very unlikely to happen. Please have a look at http://wiki.qt.io/Building_Qt_5_from_Git, this may help you to find your missing requirement.