Cannot install capybara-webkit gem - osx-mountain-lion

This is really a tough one for me. I'm trying to migrate over to Mountain Lion but I get the following when trying to install capybara-webkit.
The initial error:
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/martinb/.rvm/rubies/ruby-1.9.3-p374/bin/ruby extconf.rb
cd src/ && /usr/bin/qmake /Users/martinb/.rvm/gems/ruby-1.9.3-p374/gems/capybara-webkit-0.14.1/src/webkit_server.pro -spec /usr/local/Qt4.7/mkspecs/macx-g++ -o Makefile.webkit_server
cd src/ && make -f Makefile.webkit_server
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o EnableLogging.o EnableLogging.cpp
In file included from /Library/Frameworks/QtCore.framework/Headers/qnamespace.h:45,
from /Library/Frameworks/QtCore.framework/Headers/qobjectdefs.h:45,
from /Library/Frameworks/QtCore.framework/Versions/4/Headers/qobject.h:47,
from /Library/Frameworks/QtCore.framework/Versions/4/Headers/QObject:1,
from SocketCommand.h:4,
from EnableLogging.h:1,
from EnableLogging.cpp:1:
/Library/Frameworks/QtCore.framework/Headers/qglobal.h:320:6: warning: #warning "This version of Mac OS X is unsupported"
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o Authenticate.o Authenticate.cpp
In file included from /Library/Frameworks/QtCore.framework/Headers/qnamespace.h:45,
from /Library/Frameworks/QtCore.framework/Headers/qobjectdefs.h:45,
from /Library/Frameworks/QtCore.framework/Versions/4/Headers/qobject.h:47,
from /Library/Frameworks/QtCore.framework/Versions/4/Headers/QObject:1,
from SocketCommand.h:4,
from Authenticate.h:1,
[...]
make[1]: *** [Authenticate.o] Error 1
make: *** [sub-src-webkit_server-pro-make_default-ordered] Error 2
Gem files will remain installed in /Users/martinb/.rvm/gems/ruby-1.9.3-p374/gems/capybara-webkit-0.14.1 for inspection.
Results logged to /Users/martinb/.rvm/gems/ruby-1.9.3-p374/gems/capybara-webkit-0.14.1/./gem_make.out
So I installed the latest qt using homebrew:
> brew install qt
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/qt-4.8.2.mountainlion.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring qt-4.8.2.mountainlion.bottle.1.tar.gz
==> Caveats
We agreed to the Qt opensource license for you.
If this is unacceptable you should uninstall.
==> Summary
đŸș /usr/local/Cellar/qt/4.8.2: 2752 files, 197M
Then:
> gem install capybara-webkit
Building native extensions. This could take a while...
ERROR: Error installing capybara-webkit:
ERROR: Failed to build gem native extension.
/Users/martinb/.rvm/rubies/ruby-1.9.3-p374/bin/ruby extconf.rb
cd src/ && /usr/bin/qmake /Users/martinb/.rvm/gems/ruby-1.9.3-p374/gems/capybara-webkit-0.14.1/src/webkit_server.pro -spec /usr/local/Qt4.7/mkspecs/macx-g++ -o Makefile.webkit_server
cd src/ && make -f Makefile.webkit_server
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o EnableLogging.o EnableLogging.cpp
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o Authenticate.o Authenticate.cpp
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o SetConfirmAction.o SetConfirmAction.cpp
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o SetPromptAction.o SetPromptAction.cpp
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o SetPromptText.o SetPromptText.cpp
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o ClearPromptText.o ClearPromptText.cpp
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o JavascriptAlertMessages.o JavascriptAlertMessages.cpp
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o JavascriptConfirmMessages.o JavascriptConfirmMessages.cpp
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o JavascriptPromptMessages.o JavascriptPromptMessages.cpp
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o IgnoreSslErrors.o IgnoreSslErrors.cpp
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o ResizeWindow.o ResizeWindow.cpp
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o CurrentUrl.o CurrentUrl.cpp
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o ConsoleMessages.o ConsoleMessages.cpp
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o main.o main.cpp
main.cpp:2:17: error: QtGui: No such file or directory
main.cpp: In function ‘int main(int, char**)’:
main.cpp:16: error: ‘QApplication’ was not declared in this scope
main.cpp:16: error: expected `;' before ‘app’
main.cpp:17: error: ‘app’ was not declared in this scope
main.cpp: At global scope:
main.cpp:8: warning: unused parameter ‘argc’
main.cpp:8: warning: unused parameter ‘argv’
make[1]: *** [main.o] Error 1
make: *** [sub-src-webkit_server-pro-make_default-ordered] Error 2
Command 'make' failed
make
cd src/ && make -f Makefile.webkit_server
g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/usr/include/QtNetwork -I/usr/include/QtGui -I/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include/QtWebKit -I/usr/include -I. -F/Library/Frameworks -o main.o main.cpp
main.cpp:2:17: error: QtGui: No such file or directory
main.cpp: In function ‘int main(int, char**)’:
main.cpp:16: error: ‘QApplication’ was not declared in this scope
main.cpp:16: error: expected `;' before ‘app’
main.cpp:17: error: ‘app’ was not declared in this scope
main.cpp: At global scope:
main.cpp:8: warning: unused parameter ‘argc’
main.cpp:8: warning: unused parameter ‘argv’
make[1]: *** [main.o] Error 1
make: *** [sub-src-webkit_server-pro-make_default-ordered] Error 2
Gem files will remain installed in /Users/martinb/.rvm/gems/ruby-1.9.3-p374/gems/capybara-webkit-0.14.1 for inspection.
Results logged to /Users/martinb/.rvm/gems/ruby-1.9.3-p374/gems/capybara-webkit-0.14.1/./gem_make.out
I'm really, really stuck. Is there a solution for this? Thank you so much in advance.

Whoa! I followed Paul's advice (THANK YOU Paul!) plus linked qmake to the new version. (Was 4.7.3, I needed it to use the latest 4.8.2).
Hint: qmake -v to see which version is in use.
Had I only known this... :P

Related

Resize crash libvpx

I built libvpx(using cygwin, win7 x32, mingw). I did this steps:
1. Run "cygwin.bat" from mingw console;
2. Run "mintty";
3. ./configure --prefix=d:/qt4.8/mingw --target=x86-win32-gcc;
4. make
All built normal, but if I run test_libvpx.exe to test It crashes while testing resize:
...
[----------] 3 test from VP8/ResizeTest
[ RUN ] VP8/ResizeTest.TestExternalResizeWorks/0
and there win crashes.
Regardless of whether or not applying some patches, it crashes any way.(in CHANGELOG there is this line : " Bug fixes: ... -Fix potential encoder dead-lock after picture resize")
This is my config.log:
# ./configure --prefix=d:/qt4.8/mingw --target=x86-win32-gcc
Configuring selected codecs
enabling vp8_encoder
enabling vp8_decoder
enabling vp9_encoder
enabling vp9_decoder
Configuring for target 'x86-win32-gcc'
enabling x86
check_cpp
BEGIN /tmp/vpx-conf-1288-26667.c
1 #ifndef __ILP32__
2 #error "not x32"
3 #endif
END /tmp/vpx-conf-1288-26667.c
-o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
./build/make/configure.sh: line 285: -E: command not found
enabling runtime_cpu_detect
enabling mmx
enabling sse
enabling sse2
enabling sse3
enabling ssse3
check_cflags -msse4
check_cc -msse4
BEGIN /tmp/vpx-conf-1288-26667.c
1 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -msse4 -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
enabling sse4_1
check_cflags -mavx
check_cc -mavx
BEGIN /tmp/vpx-conf-1288-26667.c
1 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -mavx -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
enabling avx
check_cflags -mavx2
check_cc -mavx2
BEGIN /tmp/vpx-conf-1288-26667.c
1 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -mavx2 -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
cc1.exe: error: unrecognized command line option "-mavx2"
using yasm
check_cxxflags -O3
check_cxx -Werror -O3
BEGIN /tmp/vpx-conf-1288-26667.cc
1 int x;
END /tmp/vpx-conf-1288-26667.cc
g++ -fno-common -m32 -Werror -O3 -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.cc
check_cflags -O3
check_cc -O3
BEGIN /tmp/vpx-conf-1288-26667.c
1 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
enabling use_x86inc
check_cc
BEGIN /tmp/vpx-conf-1288-26667.c
1 unsigned int e = 'O'<<24 | '2'<<16 | 'B'<<8 | 'E';
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_cc
BEGIN /tmp/vpx-conf-1288-26667.c
1 static inline function() {}
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_cc
BEGIN /tmp/vpx-conf-1288-26667.c
1 static __attribute__((always_inline)) function() {}
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_header pthread.h
check_cpp
BEGIN /tmp/vpx-conf-1288-26667.c
1 #include "pthread.h"
2 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -E -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_cxxflags -Wall
check_cxx -Werror -Wall
BEGIN /tmp/vpx-conf-1288-26667.cc
1 int x;
END /tmp/vpx-conf-1288-26667.cc
g++ -fno-common -m32 -O3 -Werror -Wall -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.cc
check_cflags -Wall
check_cc -Wall
BEGIN /tmp/vpx-conf-1288-26667.c
1 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_cxxflags -Wdeclaration-after-statement
check_cxx -Werror -Wdeclaration-after-statement
BEGIN /tmp/vpx-conf-1288-26667.cc
1 int x;
END /tmp/vpx-conf-1288-26667.cc
g++ -fno-common -m32 -O3 -Wall -Werror -Wdeclaration-after-statement -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.cc
cc1plus.exe: warnings being treated as errors
cc1plus.exe: error: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++
check_cflags -Wdeclaration-after-statement
check_cc -Wdeclaration-after-statement
BEGIN /tmp/vpx-conf-1288-26667.c
1 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_cxxflags -Wdisabled-optimization
check_cxx -Werror -Wdisabled-optimization
BEGIN /tmp/vpx-conf-1288-26667.cc
1 int x;
END /tmp/vpx-conf-1288-26667.cc
g++ -fno-common -m32 -O3 -Wall -Werror -Wdisabled-optimization -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.cc
check_cflags -Wdisabled-optimization
check_cc -Wdisabled-optimization
BEGIN /tmp/vpx-conf-1288-26667.c
1 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_cxxflags -Wpointer-arith
check_cxx -Werror -Wpointer-arith
BEGIN /tmp/vpx-conf-1288-26667.cc
1 int x;
END /tmp/vpx-conf-1288-26667.cc
g++ -fno-common -m32 -O3 -Wall -Wdisabled-optimization -Werror -Wpointer-arith -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.cc
check_cflags -Wpointer-arith
check_cc -Wpointer-arith
BEGIN /tmp/vpx-conf-1288-26667.c
1 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_cxxflags -Wtype-limits
check_cxx -Werror -Wtype-limits
BEGIN /tmp/vpx-conf-1288-26667.cc
1 int x;
END /tmp/vpx-conf-1288-26667.cc
g++ -fno-common -m32 -O3 -Wall -Wdisabled-optimization -Wpointer-arith -Werror -Wtype-limits -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.cc
check_cflags -Wtype-limits
check_cc -Wtype-limits
BEGIN /tmp/vpx-conf-1288-26667.c
1 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_cxxflags -Wcast-qual
check_cxx -Werror -Wcast-qual
BEGIN /tmp/vpx-conf-1288-26667.cc
1 int x;
END /tmp/vpx-conf-1288-26667.cc
g++ -fno-common -m32 -O3 -Wall -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Werror -Wcast-qual -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.cc
check_cflags -Wcast-qual
check_cc -Wcast-qual
BEGIN /tmp/vpx-conf-1288-26667.c
1 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_cxxflags -Wvla
check_cxx -Werror -Wvla
BEGIN /tmp/vpx-conf-1288-26667.cc
1 int x;
END /tmp/vpx-conf-1288-26667.cc
g++ -fno-common -m32 -O3 -Wall -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Werror -Wvla -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.cc
check_cflags -Wvla
check_cc -Wvla
BEGIN /tmp/vpx-conf-1288-26667.c
1 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_cxxflags -Wimplicit-function-declaration
check_cxx -Werror -Wimplicit-function-declaration
BEGIN /tmp/vpx-conf-1288-26667.cc
1 int x;
END /tmp/vpx-conf-1288-26667.cc
g++ -fno-common -m32 -O3 -Wall -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Werror -Wimplicit-function-declaration -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.cc
cc1plus.exe: warnings being treated as errors
cc1plus.exe: error: command line option "-Wimplicit-function-declaration" is valid for C/ObjC but not for C++
check_cflags -Wimplicit-function-declaration
check_cc -Wimplicit-function-declaration
BEGIN /tmp/vpx-conf-1288-26667.c
1 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_cxxflags -Wuninitialized
check_cxx -Werror -Wuninitialized
BEGIN /tmp/vpx-conf-1288-26667.cc
1 int x;
END /tmp/vpx-conf-1288-26667.cc
g++ -fno-common -m32 -O3 -Wall -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Werror -Wuninitialized -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.cc
check_cflags -Wuninitialized
check_cc -Wuninitialized
BEGIN /tmp/vpx-conf-1288-26667.c
1 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -Wuninitialized -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_cxxflags -Wunused-variable
check_cxx -Werror -Wunused-variable
BEGIN /tmp/vpx-conf-1288-26667.cc
1 int x;
END /tmp/vpx-conf-1288-26667.cc
g++ -fno-common -m32 -O3 -Wall -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wuninitialized -Werror -Wunused-variable -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.cc
check_cflags -Wunused-variable
check_cc -Wunused-variable
BEGIN /tmp/vpx-conf-1288-26667.c
1 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -Wuninitialized -Wunused-variable -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_cxxflags -Wunused-but-set-variable
check_cxx -Werror -Wunused-but-set-variable
BEGIN /tmp/vpx-conf-1288-26667.cc
1 int x;
END /tmp/vpx-conf-1288-26667.cc
g++ -fno-common -m32 -O3 -Wall -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wuninitialized -Wunused-variable -Werror -Wunused-but-set-variable -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.cc
cc1plus.exe: error: unrecognized command line option "-Wunused-but-set-variable"
check_cflags -Wunused-but-set-variable
check_cc -Wunused-but-set-variable
BEGIN /tmp/vpx-conf-1288-26667.c
1 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -Wuninitialized -Wunused-variable -Wunused-but-set-variable -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
cc1.exe: error: unrecognized command line option "-Wunused-but-set-variable"
check_cxxflags -Wno-unused-function
check_cxx -Werror -Wno-unused-function
BEGIN /tmp/vpx-conf-1288-26667.cc
1 int x;
END /tmp/vpx-conf-1288-26667.cc
g++ -fno-common -m32 -O3 -Wall -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wuninitialized -Wunused-variable -Werror -Wno-unused-function -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.cc
check_cflags -Wno-unused-function
check_cc -Wno-unused-function
BEGIN /tmp/vpx-conf-1288-26667.c
1 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -Wuninitialized -Wunused-variable -Wno-unused-function -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
enabling postproc
check_cxx
BEGIN /tmp/vpx-conf-1288-26667.cc
1 int z;
END /tmp/vpx-conf-1288-26667.cc
g++ -fno-common -m32 -O3 -Wall -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wuninitialized -Wunused-variable -Wno-unused-function -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.cc
enabling unit_tests
check_header stdio.h
check_cpp
BEGIN /tmp/vpx-conf-1288-26667.c
1 #include "stdio.h"
2 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -Wuninitialized -Wunused-variable -Wno-unused-function -E -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_ld
check_cc
BEGIN /tmp/vpx-conf-1288-26667.c
1 int main(void) {return 0;}
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -Wuninitialized -Wunused-variable -Wno-unused-function -c -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
gcc -m32 -o /tmp/vpx-conf-1288-26667.x /tmp/vpx-conf-1288-26667.o
check_header stdint.h
check_cpp
BEGIN /tmp/vpx-conf-1288-26667.c
1 #include "stdint.h"
2 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -Wuninitialized -Wunused-variable -Wno-unused-function -E -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_header pthread.h
check_cpp
BEGIN /tmp/vpx-conf-1288-26667.c
1 #include "pthread.h"
2 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -Wuninitialized -Wunused-variable -Wno-unused-function -E -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_header sys/mman.h
check_cpp
BEGIN /tmp/vpx-conf-1288-26667.c
1 #include "sys/mman.h"
2 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -Wuninitialized -Wunused-variable -Wno-unused-function -E -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
C:/Users/BOBUR/AppData/Local/Temp/vpx-conf-1288-26667.c:1:22: error: sys/mman.h: No such file or directory
check_header unistd.h
check_cpp
BEGIN /tmp/vpx-conf-1288-26667.c
1 #include "unistd.h"
2 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -Wuninitialized -Wunused-variable -Wno-unused-function -E -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
check_header vpx/vpx_integer.h -I/c/downloads/libvpx-git
check_cpp -I/c/downloads/libvpx-git
BEGIN /tmp/vpx-conf-1288-26667.c
1 #include "vpx/vpx_integer.h"
2 int x;
END /tmp/vpx-conf-1288-26667.c
gcc -fno-common -m32 -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -Wuninitialized -Wunused-variable -Wno-unused-function -I/c/downloads/libvpx-git -E -o /tmp/vpx-conf-1288-26667.o /tmp/vpx-conf-1288-26667.c
How to solve it? Did I build it correctly?

Makefile.am rebuilds entire project

I have a simple project:
https://github.com/spesmilo/obelisk
For some reason 'make install' causes my entire project to rebuild everytime. Also it seems like object files are getting built twice. I have no idea why.
'make' by itself is fine though.
Full output: http://pastebin.com/gvwi2bkN
~/obelisk> make; make; make install
Making all in include/obelisk
make[1]: Entering directory `/home/genjix/obelisk/include/obelisk'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/genjix/obelisk/include/obelisk'
Making all in src
make[1]: Entering directory `/home/genjix/obelisk/src'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/genjix/obelisk/src'
make[1]: Entering directory `/home/genjix/obelisk'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory `/home/genjix/obelisk'
Making all in include/obelisk
make[1]: Entering directory `/home/genjix/obelisk/include/obelisk'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/genjix/obelisk/include/obelisk'
Making all in src
make[1]: Entering directory `/home/genjix/obelisk/src'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/genjix/obelisk/src'
make[1]: Entering directory `/home/genjix/obelisk'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory `/home/genjix/obelisk'
Making install in include/obelisk
make[1]: Entering directory `/home/genjix/obelisk/include/obelisk'
make[2]: Entering directory `/home/genjix/obelisk/include/obelisk'
make[2]: Nothing to be done for `install-exec-am'.
/bin/mkdir -p '/home/genjix/usr/include/obelisk/client'
/usr/bin/install -c -m 644 client/backend.hpp client/interface.hpp client/blockchain.hpp client/transaction_pool.hpp '/home/genjix/usr/include/obelisk/client'
/bin/mkdir -p '/home/genjix/usr/include/obelisk'
/usr/bin/install -c -m 644 message.hpp zmq_message.hpp '/home/genjix/usr/include/obelisk'
make[2]: Leaving directory `/home/genjix/obelisk/include/obelisk'
make[1]: Leaving directory `/home/genjix/obelisk/include/obelisk'
Making install in src
make[1]: Entering directory `/home/genjix/obelisk/src'
depbase=`echo message.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" -DPACKAGE_STRING=\"obelisk\ 0.1\" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT message.lo -MD -MP -MF $depbase.Tpo -c -o message.lo message.cpp &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" "-DPACKAGE_STRING=\"obelisk 0.1\"" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT message.lo -MD -MP -MF .deps/message.Tpo -c message.cpp -fPIC -DPIC -o .libs/message.o
libtool: compile: g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" "-DPACKAGE_STRING=\"obelisk 0.1\"" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT message.lo -MD -MP -MF .deps/message.Tpo -c message.cpp -o message.o >/dev/null 2>&1
depbase=`echo zmq_message.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" -DPACKAGE_STRING=\"obelisk\ 0.1\" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT zmq_message.lo -MD -MP -MF $depbase.Tpo -c -o zmq_message.lo zmq_message.cpp &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" "-DPACKAGE_STRING=\"obelisk 0.1\"" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT zmq_message.lo -MD -MP -MF .deps/zmq_message.Tpo -c zmq_message.cpp -fPIC -DPIC -o .libs/zmq_message.o
libtool: compile: g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" "-DPACKAGE_STRING=\"obelisk 0.1\"" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT zmq_message.lo -MD -MP -MF .deps/zmq_message.Tpo -c zmq_message.cpp -o zmq_message.o >/dev/null 2>&1
depbase=`echo client/backend.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" -DPACKAGE_STRING=\"obelisk\ 0.1\" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT client/backend.lo -MD -MP -MF $depbase.Tpo -c -o client/backend.lo client/backend.cpp &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" "-DPACKAGE_STRING=\"obelisk 0.1\"" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT client/backend.lo -MD -MP -MF client/.deps/backend.Tpo -c client/backend.cpp -fPIC -DPIC -o client/.libs/backend.o
libtool: compile: g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" "-DPACKAGE_STRING=\"obelisk 0.1\"" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT client/backend.lo -MD -MP -MF client/.deps/backend.Tpo -c client/backend.cpp -o client/backend.o >/dev/null 2>&1
depbase=`echo client/interface/interface.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" -DPACKAGE_STRING=\"obelisk\ 0.1\" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT client/interface/interface.lo -MD -MP -MF $depbase.Tpo -c -o client/interface/interface.lo client/interface/interface.cpp &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" "-DPACKAGE_STRING=\"obelisk 0.1\"" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT client/interface/interface.lo -MD -MP -MF client/interface/.deps/interface.Tpo -c client/interface/interface.cpp -fPIC -DPIC -o client/interface/.libs/interface.o
libtool: compile: g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" "-DPACKAGE_STRING=\"obelisk 0.1\"" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT client/interface/interface.lo -MD -MP -MF client/interface/.deps/interface.Tpo -c client/interface/interface.cpp -o client/interface/interface.o >/dev/null 2>&1
depbase=`echo client/interface/fetch_history.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" -DPACKAGE_STRING=\"obelisk\ 0.1\" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT client/interface/fetch_history.lo -MD -MP -MF $depbase.Tpo -c -o client/interface/fetch_history.lo client/interface/fetch_history.cpp &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" "-DPACKAGE_STRING=\"obelisk 0.1\"" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT client/interface/fetch_history.lo -MD -MP -MF client/interface/.deps/fetch_history.Tpo -c client/interface/fetch_history.cpp -fPIC -DPIC -o client/interface/.libs/fetch_history.o
libtool: compile: g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" "-DPACKAGE_STRING=\"obelisk 0.1\"" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT client/interface/fetch_history.lo -MD -MP -MF client/interface/.deps/fetch_history.Tpo -c client/interface/fetch_history.cpp -o client/interface/fetch_history.o >/dev/null 2>&1
depbase=`echo client/interface/blockchain.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" -DPACKAGE_STRING=\"obelisk\ 0.1\" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT client/interface/blockchain.lo -MD -MP -MF $depbase.Tpo -c -o client/interface/blockchain.lo client/interface/blockchain.cpp &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" "-DPACKAGE_STRING=\"obelisk 0.1\"" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT client/interface/blockchain.lo -MD -MP -MF client/interface/.deps/blockchain.Tpo -c client/interface/blockchain.cpp -fPIC -DPIC -o client/interface/.libs/blockchain.o
libtool: compile: g++ -DPACKAGE_NAME=\"obelisk\" -DPACKAGE_TARNAME=\"obelisk\" -DPACKAGE_VERSION=\"0.1\" "-DPACKAGE_STRING=\"obelisk 0.1\"" -DPACKAGE_BUGREPORT=\"genjix#riseup.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DPACKAGE=\"obelisk\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -I. -std=c++11 -DLEVELDB_ENABLED -I/home/genjix/usr/include -I./../include -DSYSCONFDIR=\"/home/genjix/usr/etc\" -g -O2 -std=c++11 -MT client/interface/blockchain.lo -MD -MP -MF client/interface/.deps/blockchain.Tpo -c client/interface/blockchain.cpp -o client/interface/blockchain.o >/dev/null 2>&1
depbase=`echo client/interface/transaction_pool.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
Welcome to Stack Overflow!
I used to have these problems, too, when I used recursive makefiles as you are doing. Going to a non-recursive make system solved them. Your build system for that project isn't that complex. You might find more concrete advice (and other possible solutions) here on how to go about doing it.
Aren't you are giving make twice in the command ~/obelisk> make; make; make install?
make compares the timestamps and build only the files which require rebuilding. Its very common that there will be all dependency on install, I mean install: all but if once the targets are already build they won't be built again.

Makefile removes object files for no reason

Here is the Makefile code:
CC=gcc
CXX=g++
OBJS=OMXComponent.o Event.o hello_jpeg.o JPEG.o OMXCore.o Locker.o Logger.o
BIN=hello_jpeg.bin
# include ../Makefile.include
CFLAGS+=-DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi
LDFLAGS+=-L$(SDKSTAGE)/opt/vc/lib/ -lGLESv2 -lEGL -lopenmaxil -lbcm_host -lvcos -lvchiq_arm -lpthread -lrt -L../libs/ilclient -L../libs/vgfont
INCLUDES+=-I$(SDKSTAGE)/opt/vc/include/ -I$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -I$(SDKSTAGE)/opt/vc/include/interface/vmcs_host/linux -I./ -I../libs/ilclient -I../libs/vgfont
all: $(BIN) $(LIB)
%.o: %.c
#rm -f $#
$(CC) $(CFLAGS) $(INCLUDES) -g -c $< -o $# -Wno-deprecated-declarations
%.o: %.cpp
#rm -f $#
$(CXX) $(CFLAGS) $(INCLUDES) -g -c $< -o $# -Wno-deprecated-declarations
%.bin: $(OBJS)
$(CC) -o $# -Wl,--whole-archive $(OBJS) $(LDFLAGS) -Wl,--no-whole-archive -rdynamic
I am not sure why, but suddenly when I am calling my Makefile, it started deleting all the object files !!! It was not deleting before, but lately after running the Makefile, this is
what I get in the console window:
rm OMXCore.o JPEG.o OMXComponent.o Logger.o hello_jpeg.o Locker.o Event.o
Any idea why it is removing my object files? and how to stop Make from deleting it?
What is even more strange is that it was not deleting it yesterday, and it all started today, without me doing any upgrades or making any changes!!!
Now when I make a small change in one of my src files, now I have to wait a long time for all the other object files to rebuilt again, which is not necessary and it slows me down.
I am making sure that I am in the correct directory,
I even gave "make" a complete path, in case if it is picking up a different Makefile
make -f /my_full_path/Makefile
While Makefile was running, I was doing "ls" in a different terminal, and I noticed that I am correctly accumulating object files, as below:
-rw-rw-r-- 1 pi pi 1170 Mar 3 19:28 Makefile
-rw-r--r-- 1 pi pi 482052 Mar 3 19:30 OMXComponent.o
-rw-r--r-- 1 pi pi 19984 Mar 3 19:30 Event.o
-rw-r--r-- 1 pi pi 14688 Mar 3 19:30 hello_jpeg.o
-rw-r--r-- 1 pi pi 162260 Mar 3 19:31 JPEG.o
-rw-r--r-- 1 pi pi 215492 Mar 3 19:31 OMXCore.o
-rw-r--r-- 1 pi pi 76384 Mar 3 19:31 Locker.o
-rw-r--r-- 1 pi pi 0 Mar 3 19:31 Logger.o
But all of a sudden, after everything is built, all the object files get removed !!!
And, here is the output of the Makefile command:
pi#raspberrypi /opt/vc/src/hello_pi/hello_jpeg_v2 $ make -f /opt/vc/src/hello_pi/hello_jpeg_v2/Makefile
g++ -g -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I./ -I../libs/ilclient -I../libs/vgfont -g -c OMXComponent.cpp -o OMXComponent.o -Wno-deprecated-declarations
g++ -g -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I./ -I../libs/ilclient -I../libs/vgfont -g -c Event.cpp -o Event.o -Wno-deprecated-declarations
g++ -g -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I./ -I../libs/ilclient -I../libs/vgfont -g -c hello_jpeg.cpp -o hello_jpeg.o -Wno-deprecated-declarations
g++ -g -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I./ -I../libs/ilclient -I../libs/vgfont -g -c JPEG.cpp -o JPEG.o -Wno-deprecated-declarations
g++ -g -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I./ -I../libs/ilclient -I../libs/vgfont -g -c OMXCore.cpp -o OMXCore.o -Wno-deprecated-declarations
g++ -g -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I./ -I../libs/ilclient -I../libs/vgfont -g -c Locker.cpp -o Locker.o -Wno-deprecated-declarations
g++ -g -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I./ -I../libs/ilclient -I../libs/vgfont -g -c Logger.cpp -o Logger.o -Wno-deprecated-declarations
g++ -g -o hello_jpeg.bin -Wl,--whole-archive OMXComponent.o Event.o hello_jpeg.o JPEG.o OMXCore.o Locker.o Logger.o -L/opt/vc/lib/ -lGLESv2 -lEGL -lopenmaxil -lbcm_host -lvcos -lvchiq_arm -lpthread -lrt -L../libs/ilclient -L../libs/vgfont -Wl,--no-whole-archive -rdynamic
rm OMXCore.o JPEG.o OMXComponent.o Logger.o hello_jpeg.o Locker.o Event.o
The files are being removed because make considers them "intermediate". When make forms a chain of rules to produce a prerequisite, it treats all files created by the intermediate chains as "intermediate" and removes then when the target is created. See Chained Rules in the manual for GNU make.
In your case, you can prevent this in two ways: Get rid of the %.bin rule, which seems wrong anyway, because it says that all .bin files depend on a fixed list of object files, and replace it by
$(BIN): $(OBJS)
# as before
or mark the object files as "secondary":
.SECONDARY: $(OBJS)
Just add:
.PRECIOUS: %.o
This will tell make that intermediate files are also precious

Simple Makefile problem

I'm trying to compile a project that uses 2 .cc files and a .h
I'm writing a Makefile but it's not compiling, I get an error:
make
g++ -I/usr/local/include/ -I/usr/local/include/libfreenect -I. -I/usr/include/GL -fPIC -g -Wall `pkg-config --cflags opencv` -L/usr/X11R6/lib -L/usr/lib -L/lib simple_gesture.cc -o simple_gesture `pkg-config --libs opencv` -L/usr/local/lib -lfreenect -lglui -lglut -lGLU -lGL
simple_gesture.cc: In function ‘void depth_cb(freenect_device*, void*, uint32_t)’:
simple_gesture.cc:315: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘clock_t’
simple_gesture.cc:315: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long int’
/tmp/cck2APvc.o: In function `depth_cb(_freenect_device*, void*, unsigned int)':
/home/dany/ToCompile/kinect-apps-playground-fingertip-detection/simple_gesture.cc:313: undefined reference to `FeatureExtractor::Process(unsigned char*, int const*, int)'
collect2: ld returned 1 exit status
make: *** [simple_gesture] Error 1
The Makefile is this:
all: simple_gesture
CFLAGS=-fPIC -g -Wall `pkg-config --cflags opencv`
LIBS = `pkg-config --libs opencv`
INCLUDE = -I/usr/local/include/ -I/usr/local/include/libfreenect -I. -I/usr/include/GL
FREE_LIBS = -L/usr/local/lib -lfreenect
GL_LIBS = -lglui -lglut -lGLU -lGL
GL_FLAGS = -L/usr/X11R6/lib -L/usr/lib -L/lib
feature_extractor: feature_extractor.h feature_extractor.cc
$(CXX) $(INCLUDE) $(CFLAGS) $(GL_FLAGS) $? -o $# $(LIBS) $(FREE_LIBS) $(GL_LIBS)
simple_gesture: simple_gesture.cc
$(CXX) $(INCLUDE) $(CFLAGS) $(GL_FLAGS) $? -o $# $(LIBS) $(FREE_LIBS) $(GL_LIBS)
%.o: %.c
$(CXX) -c $(CFLAGS) $< -o $#
clean:
rm -rf *.o feature_extractor simple_gesture
I think I'm not linking well the files..
Any idea?
[edit]
solved
it was enough:
simple_gesture: feature_extractor.h feature_extractor.cc simple_gesture.cc
$(CXX) $(INCLUDE) $(CFLAGS) $(GL_FLAGS) $? -o $# $(LIBS) $(FREE_LIBS) $(GL_LIBS)
Apparently your simple_gesture.cc depends on some function from FeatureExtractor class. So you should consider linking feature_extractor.o into your simple_gesture.
You need to make the binaries depend on the presence of the object files, not on the source files. You already have a rule for turning the source into an object.
all: simple_gesture
LIBS = `pkg-config --libs opencv`
INCLUDE = -I/usr/local/include/ -I/usr/local/include/libfreenect -I. -I/usr/include/GL
FREE_LIBS = -L/usr/local/lib -lfreenect
GL_LIBS = -lglui -lglut -lGLU -lGL
GL_FLAGS = -L/usr/X11R6/lib -L/usr/lib -L/lib
CFLAGS=-fPIC -g -Wall `pkg-config --cflags opencv` $(INCLUDE)
feature_extractor: feature_extractor.o
$(CXX) $(GL_FLAGS) -o $# $(LIBS) $(FREE_LIBS) $(GL_LIBS) $<
simple_gesture: simple_gesture.o feature_extractor.o
$(CXX) $(GL_FLAGS) -o $# $(LIBS) $(FREE_LIBS) $(GL_LIBS) $<
%.o: %.cc
$(CXX) -c $(CFLAGS) -o $# $<
clean:
rm -rf *.o feature_extractor simple_gesture

Trouble linking libboost libraries to compile sslsniff on RHEL

Trying to build sslsniff on a RHEL 5.2 system here. When compiling sslsniff on RHEL I hit the same errors when using libboost packages (from repositories like rpmforge) and compiling libboost from source (which appeared to be successful.) I tried this on a fresh system as well (no previous/failed/garbage installs of libboost etc.)
# make
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT SSLConnectionManager.o -MD -MP -MF .deps/SSLConnectionManager.Tpo -c -o SSLConnectionManager.o SSLConnectionManager.cpp
mv -f .deps/SSLConnectionManager.Tpo .deps/SSLConnectionManager.Po
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT FirefoxUpdater.o -MD -MP -MF .deps/FirefoxUpdater.Tpo -c -o FirefoxUpdater.o FirefoxUpdater.cpp
mv -f .deps/FirefoxUpdater.Tpo .deps/FirefoxUpdater.Po
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT Logger.o -MD -MP -MF .deps/Logger.Tpo -c -o Logger.o Logger.cpp
mv -f .deps/Logger.Tpo .deps/Logger.Po
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT SessionCache.o -MD -MP -MF .deps/SessionCache.Tpo -c -o SessionCache.o SessionCache.cpp
mv -f .deps/SessionCache.Tpo .deps/SessionCache.Po
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT SSLBridge.o -MD -MP -MF .deps/SSLBridge.Tpo -c -o SSLBridge.o SSLBridge.cpp
mv -f .deps/SSLBridge.Tpo .deps/SSLBridge.Po
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT HTTPSBridge.o -MD -MP -MF .deps/HTTPSBridge.Tpo -c -o HTTPSBridge.o HTTPSBridge.cpp
mv -f .deps/HTTPSBridge.Tpo .deps/HTTPSBridge.Po
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT sslsniff.o -MD -MP -MF .deps/sslsniff.Tpo -c -o sslsniff.o sslsniff.cpp
mv -f .deps/sslsniff.Tpo .deps/sslsniff.Po
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT FingerprintManager.o -MD -MP -MF .deps/FingerprintManager.Tpo -c -o FingerprintManager.o FingerprintManager.cpp
mv -f .deps/FingerprintManager.Tpo .deps/FingerprintManager.Po
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT AuthorityCertificateManager.o -MD -MP -MF .deps/AuthorityCertificateManager.Tpo -c -o AuthorityCertificateManager.o `test -f 'certificate/AuthorityCertificateManager.cpp' || echo './'`certificate/AuthorityCertificateManager.cpp
mv -f .deps/AuthorityCertificateManager.Tpo .deps/AuthorityCertificateManager.Po
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT TargetedCertificateManager.o -MD -MP -MF .deps/TargetedCertificateManager.Tpo -c -o TargetedCertificateManager.o `test -f 'certificate/TargetedCertificateManager.cpp' || echo './'`certificate/TargetedCertificateManager.cpp
mv -f .deps/TargetedCertificateManager.Tpo .deps/TargetedCertificateManager.Po
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT CertificateManager.o -MD -MP -MF .deps/CertificateManager.Tpo -c -o CertificateManager.o `test -f 'certificate/CertificateManager.cpp' || echo './'`certificate/CertificateManager.cpp
mv -f .deps/CertificateManager.Tpo .deps/CertificateManager.Po
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT HttpBridge.o -MD -MP -MF .deps/HttpBridge.Tpo -c -o HttpBridge.o `test -f 'http/HttpBridge.cpp' || echo './'`http/HttpBridge.cpp
mv -f .deps/HttpBridge.Tpo .deps/HttpBridge.Po
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT HttpConnectionManager.o -MD -MP -MF .deps/HttpConnectionManager.Tpo -c -o HttpConnectionManager.o `test -f 'http/HttpConnectionManager.cpp' || echo './'`http/HttpConnectionManager.cpp
mv -f .deps/HttpConnectionManager.Tpo .deps/HttpConnectionManager.Po
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT HttpHeaders.o -MD -MP -MF .deps/HttpHeaders.Tpo -c -o HttpHeaders.o `test -f 'http/HttpHeaders.cpp' || echo './'`http/HttpHeaders.cpp
mv -f .deps/HttpHeaders.Tpo .deps/HttpHeaders.Po
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT UpdateManager.o -MD -MP -MF .deps/UpdateManager.Tpo -c -o UpdateManager.o UpdateManager.cpp
mv -f .deps/UpdateManager.Tpo .deps/UpdateManager.Po
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT OCSPDenier.o -MD -MP -MF .deps/OCSPDenier.Tpo -c -o OCSPDenier.o `test -f 'http/OCSPDenier.cpp' || echo './'`http/OCSPDenier.cpp
mv -f .deps/OCSPDenier.Tpo .deps/OCSPDenier.Po
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sslsniff\" -DVERSION=\"0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -I. -ggdb -g -O2 -MT FirefoxAddonUpdater.o -MD -MP -MF .deps/FirefoxAddonUpdater.Tpo -c -o FirefoxAddonUpdater.o FirefoxAddonUpdater.cpp
mv -f .deps/FirefoxAddonUpdater.Tpo .deps/FirefoxAddonUpdater.Po
g++ -ggdb -g -O2 -lssl -lboost_filesystem -lpthread -lboost_thread -llog4cpp -o sslsniff SSLConnectionManager.o FirefoxUpdater.o Logger.o SessionCache.o SSLBridge.o HTTPSBridge.o sslsniff.o FingerprintManager.o AuthorityCertificateManager.o TargetedCertificateManager.o CertificateManager.o HttpBridge.o HttpConnectionManager.o HttpHeaders.o UpdateManager.o OCSPDenier.o FirefoxAddonUpdater.o
SSLConnectionManager.o: In function `__static_initialization_and_destruction_0':
/usr/local/include/boost/system/error_code.hpp:208: undefined reference to `boost::system::get_system_category()'
/usr/local/include/boost/system/error_code.hpp:209: undefined reference to `boost::system::get_generic_category()'
/usr/local/include/boost/system/error_code.hpp:214: undefined reference to `boost::system::get_generic_category()'
/usr/local/include/boost/system/error_code.hpp:215: undefined reference to `boost::system::get_generic_category()'
/usr/local/include/boost/system/error_code.hpp:216: undefined reference to `boost::system::get_system_category()'
There's more, but I guess there's a post length limit..
Most of them appear related to boost::system so I added -lboost_system to the linker command and got farther:
# g++ -ggdb -g -O2 -lssl -lboost_filesystem -lpthread -lboost_thread -llog4cpp -o sslsniff SSLConnectionManager.o FirefoxUpdater.o Logger.o SessionCache.o SSLBridge.o HTTPSBridge.o sslsniff.o FingerprintManager.o AuthorityCertificateManager.o TargetedCertificateManager.o CertificateManager.o HttpBridge.o HttpConnectionManager.o HttpHeaders.o UpdateManager.o OCSPDenier.o FirefoxAddonUpdater.o -lboost_system
SSLConnectionManager.o: In function `thread<boost::_bi::bind_t<void, boost::_mfi::mf3<void, SSLConnectionManager, boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::asio::ip::basic_endpoint<boost::asio::ip::tcp>, bool>, boost::_bi::list4<boost::_bi::value<SSLConnectionManager*>, boost::_bi::value<boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >, boost::_bi::value<boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> >, boost::_bi::value<bool> > > >':
/usr/local/include/boost/thread/detail/thread.hpp:191: undefined reference to `boost::thread::start_thread()'
SSLConnectionManager.o: In function `~thread_data':
/usr/local/include/boost/thread/detail/thread.hpp:40: undefined reference to `boost::detail::thread_data_base::~thread_data_base()'
/usr/local/include/boost/thread/detail/thread.hpp:40: undefined reference to `boost::detail::thread_data_base::~thread_data_base()'
/usr/local/include/boost/thread/detail/thread.hpp:40: undefined reference to `boost::detail::thread_data_base::~thread_data_base()'
/usr/local/include/boost/thread/detail/thread.hpp:40: undefined reference to `boost::detail::thread_data_base::~thread_data_base()'
Now the errors are related to boost::detail and boost::filesystem::detail.
I've tried using boost 1.35 and 1.42 (latest).
On my own Ubuntu system, I installed the libraries from Ubuntu repositories and I was able to compile+link sslsniff just fine.
Thanks in advance.
It looks like the system had boost1.33 installed already. yum erase boost took care of that:
---> Package boost.i386 0:1.33.1-10.el5 set to be erased
---> Package boost.x86_64 0:1.33.1-10.el5 set to be erased
---> Package boost-devel.i386 0:1.33.1-10.el5 set to be erased
---> Package boost-devel.x86_64 0:1.33.1-10.el5 set to be erased
Went to rebuild and made sure it was using 1.35.. some were under non-standard names (because of the existing 1.33 possibly?) so I added links..
# make
g++ -ggdb -g -O2 -lssl -lboost_filesystem -lpthread -lboost_thread -llog4cpp -o sslsniff SSLConnectionManager.o FirefoxUpdater.o Logger.o SessionCache.o SSLBridge.o HTTPSBridge.o sslsniff.o FingerprintManager.o AuthorityCertificateManager.o TargetedCertificateManager.o CertificateManager.o HttpBridge.o HttpConnectionManager.o HttpHeaders.o UpdateManager.o OCSPDenier.o FirefoxAddonUpdater.o
/usr/bin/ld: cannot find -lboost_filesystem
collect2: ld returned 1 exit status
make: *** [sslsniff] Error 1
# cd /usr/lib
# ln -s libboost_filesystem-gcc41-mt-1_35.so libboost_filesystem.so
# ln -s libboost_thread-gcc41-mt-1_35.so libboost_thread.so
# cd ~/sslsniff-0.6
# make
g++ -ggdb -g -O2 -lssl -lboost_filesystem -lpthread -lboost_thread -llog4cpp -o sslsniff SSLConnectionManager.o FirefoxUpdater.o Logger.o SessionCache.o SSLBridge.o HTTPSBridge.o sslsniff.o FingerprintManager.o AuthorityCertificateManager.o TargetedCertificateManager.o CertificateManager.o HttpBridge.o HttpConnectionManager.o HttpHeaders.o UpdateManager.o OCSPDenier.o FirefoxAddonUpdater.o
#
But when I try to run it, I get a (non-boost!) library loading error:
# ./sslsniff
./sslsniff: error while loading shared libraries: liblog4cpp.so.4: cannot open shared object file: No such file or directory
When I installed liblog4cpp I/it didn't run ldconfig afterwards to update the ld library cache. Did it myself and it worked:
# ldconfig
# ./sslsniff
Usage: ./sslsniff [options]
Modes:
-a Authority mode. Specify a certificate that will act as a CA.
-t Targeted mode. Specify a directory full of certificates to target.
Required Options:
-c <file|directory> File containing CA cert/key (authority mode) or
directory containing a collection of certs/keys
(targeted mode)
-s <port> Port to listen on for SSL interception.
-w <file> File to log to
Optional Options:
-u <updateLocation> Loction of any Firefox XML update files.
-m <certificateChain> Location of any intermediary certificates.
-h <port> Port to listen on for HTTP interception (required for
fingerprinting).
-f <ff,ie,safari,opera> Only intercept requests from the specified browser(s).
-d Deny OCSP requests for our certificates.
-p Only log HTTP POSTs
-e <url> Intercept Mozilla Addon Updates
-j <sha256> The sha256sum value of the addon to inject

Resources