Compiling Error (Ubuntu 8.04) - Omri - 01-31-2010
Hi all,
After I failed to use getdeb/playdeb to install VDrift, I tried to compile the source code. I used the tutorial in the wiki:
http://wiki.vdrift.net/Compiling
First I made sure all the dependencies are installed by:
Code: sudo apt-get install g++ scons libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-net1.2-dev libvorbis-dev libglew-dev libasio-dev libboost-dev
Then I extracted the archive (source code of the last release - 2009-06-15), and when I tried to run scons (while in the vdrift folder of course) I got this error message:
Code: scons: Reading SConscript files ...
Checking for C++ header file asio.hpp... (cached) yes
Checking for C++ header file boost/bind.hpp... (cached) yes
Checking for C++ header file GL/gl.h... (cached) yes
Checking for C++ header file GL/glu.h... (cached) yes
Checking for C++ header file SDL/SDL.h... (cached) yes
Checking for C++ header file SDL/SDL_image.h... (cached) yes
Checking for C++ header file SDL/SDL_rotozoom.h... (cached) yes
Checking for C++ header file vorbis/vorbisfile.h... (cached) yes
Checking for C++ header file GL/glew.h... (cached) yes
scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/httpget.o -c -Wall -Wextra -Wno-unused-parameter -pthread -g3 -march=athlon64 -D_GNU_SOURCE=1 -D_REENTRANT -Iinclude -Ibullet -I/usr/include/SDL src/httpget.cpp
In file included from /usr/include/asio/impl/io_service.ipp:24,
from /usr/include/asio/io_service.hpp:498,
from /usr/include/asio/basic_io_object.hpp:20,
from /usr/include/asio/basic_socket.hpp:20,
from /usr/include/asio/basic_datagram_socket.hpp:25,
from /usr/include/asio.hpp:18,
from include/httpget.h:7,
from src/httpget.cpp:1:
/usr/include/asio/detail/epoll_reactor.hpp:29:59: error: boost/date_time/posix_time/posix_time_types.hpp: No such file or directory
In file included from /usr/include/asio.hpp:62,
from include/httpget.h:7,
from src/httpget.cpp:1:
/usr/include/asio/read_until.hpp:23:27: error: boost/regex.hpp: No such file or directory
In file included from /usr/include/asio/detail/timer_queue.hpp:32,
from /usr/include/asio/detail/epoll_reactor.hpp:46,
from /usr/include/asio/impl/io_service.ipp:24,
from /usr/include/asio/io_service.hpp:498,
from /usr/include/asio/basic_io_object.hpp:20,
from /usr/include/asio/basic_socket.hpp:20,
from /usr/include/asio/basic_datagram_socket.hpp:25,
from /usr/include/asio.hpp:18,
from include/httpget.h:7,
from src/httpget.cpp:1:
/usr/include/asio/detail/timer_queue_base.hpp:42: error: âboost::posix_timeâ has not been declared
/usr/include/asio/detail/timer_queue_base.hpp:42: error: âtime_durationâ declared as a âvirtualâ field
/usr/include/asio/detail/timer_queue_base.hpp:42: error: expected â;â before âwait_durationâ
In file included from /usr/include/asio/detail/epoll_reactor.hpp:46,
from /usr/include/asio/impl/io_service.ipp:24,
from /usr/include/asio/io_service.hpp:498,
from /usr/include/asio/basic_io_object.hpp:20,
from /usr/include/asio/basic_socket.hpp:20,
from /usr/include/asio/basic_datagram_socket.hpp:25,
from /usr/include/asio.hpp:18,
from include/httpget.h:7,
from src/httpget.cpp:1:
/usr/include/asio/detail/timer_queue.hpp:100: error: âboost::posix_timeâ has not been declared
/usr/include/asio/detail/timer_queue.hpp:100: error: âtime_durationâ declared as a âvirtualâ field
/usr/include/asio/detail/timer_queue.hpp:100: error: expected â;â before âwait_durationâ
/usr/include/asio/detail/timer_queue.hpp:107: error: expected `;' before âvirtualâ
In file included from /usr/include/asio/impl/io_service.ipp:24,
from /usr/include/asio/io_service.hpp:498,
from /usr/include/asio/basic_io_object.hpp:20,
from /usr/include/asio/basic_socket.hpp:20,
from /usr/include/asio/basic_datagram_socket.hpp:25,
from /usr/include/asio.hpp:18,
from include/httpget.h:7,
from src/httpget.cpp:1:
/usr/include/asio/detail/epoll_reactor.hpp: In member function âint asio::detail::epoll_reactor<Own_Thread>::get_timeout()â:
/usr/include/asio/detail/epoll_reactor.hpp:536: error: âboost::posix_timeâ has not been declared
/usr/include/asio/detail/epoll_reactor.hpp:536: error: expected `;' before âminimum_wait_durationâ
/usr/include/asio/detail/epoll_reactor.hpp:541: error: âboost::posix_timeâ has not been declared
/usr/include/asio/detail/epoll_reactor.hpp:541: error: expected `;' before âwait_durationâ
/usr/include/asio/detail/epoll_reactor.hpp:543: error: âwait_durationâ was not declared in this scope
/usr/include/asio/detail/epoll_reactor.hpp:543: error: âminimum_wait_durationâ was not declared in this scope
/usr/include/asio/detail/epoll_reactor.hpp:547: error: âminimum_wait_durationâ was not declared in this scope
/usr/include/asio/detail/epoll_reactor.hpp:547: error: âboost::posix_timeâ has not been declared
In file included from /usr/include/asio/impl/io_service.ipp:26,
from /usr/include/asio/io_service.hpp:498,
from /usr/include/asio/basic_io_object.hpp:20,
from /usr/include/asio/basic_socket.hpp:20,
from /usr/include/asio/basic_datagram_socket.hpp:25,
from /usr/include/asio.hpp:18,
from include/httpget.h:7,
from src/httpget.cpp:1:
/usr/include/asio/detail/select_reactor.hpp: In member function âtimeval* asio::detail::select_reactor<Own_Thread>::get_timeout(timeval&)â:
/usr/include/asio/detail/select_reactor.hpp:380: error: âboost::posix_timeâ has not been declared
/usr/include/asio/detail/select_reactor.hpp:380: error: expected `;' before âminimum_wait_durationâ
/usr/include/asio/detail/select_reactor.hpp:385: error: âboost::posix_timeâ has not been declared
/usr/include/asio/detail/select_reactor.hpp:385: error: expected `;' before âwait_durationâ
/usr/include/asio/detail/select_reactor.hpp:387: error: âwait_durationâ was not declared in this scope
/usr/include/asio/detail/select_reactor.hpp:387: error: âminimum_wait_durationâ was not declared in this scope
/usr/include/asio/detail/select_reactor.hpp:391: error: âminimum_wait_durationâ was not declared in this scope
/usr/include/asio/detail/select_reactor.hpp:391: error: âboost::posix_timeâ has not been declared
In file included from /usr/include/asio/deadline_timer_service.hpp:26,
from /usr/include/asio/basic_deadline_timer.hpp:26,
from /usr/include/asio.hpp:19,
from include/httpget.h:7,
from src/httpget.cpp:1:
/usr/include/asio/time_traits.hpp: At global scope:
/usr/include/asio/time_traits.hpp:34: error: âposix_timeâ is not a member of âboostâ
/usr/include/asio/time_traits.hpp:34: error: âposix_timeâ is not a member of âboostâ
/usr/include/asio/time_traits.hpp:34: error: template argument 1 is invalid
In file included from /usr/include/asio/deadline_timer_service.hpp:27,
from /usr/include/asio/basic_deadline_timer.hpp:26,
from /usr/include/asio.hpp:19,
from include/httpget.h:7,
from src/httpget.cpp:1:
/usr/include/asio/detail/deadline_timer_service.hpp: In member function âvoid asio::detail::deadline_timer_service<Time_Traits, Timer_Scheduler>::wait(asio::detail::deadline_timer_service<Time_Traits, Timer_Scheduler>::implementation_type&, asio::error_code&)â:
/usr/include/asio/detail/deadline_timer_service.hpp:143: error: âboost::posix_timeâ has not been declared
/usr/include/asio/detail/deadline_timer_service.hpp:143: error: expected `;' before âtimeoutâ
/usr/include/asio/detail/deadline_timer_service.hpp:146: error: âtimeoutâ was not declared in this scope
In file included from /usr/include/asio.hpp:36,
from include/httpget.h:7,
from src/httpget.cpp:1:
/usr/include/asio/deadline_timer.hpp: At global scope:
/usr/include/asio/deadline_timer.hpp:31: error: âposix_timeâ is not a member of âboostâ
/usr/include/asio/deadline_timer.hpp:31: error: âposix_timeâ is not a member of âboostâ
/usr/include/asio/deadline_timer.hpp:31: error: template argument 1 is invalid
/usr/include/asio/deadline_timer.hpp:31: error: template argument 2 is invalid
/usr/include/asio/deadline_timer.hpp:31: error: template argument 3 is invalid
/usr/include/asio/deadline_timer.hpp:31: error: invalid type in declaration before â;â token
In file included from /usr/include/asio.hpp:62,
from include/httpget.h:7,
from src/httpget.cpp:1:
/usr/include/asio/read_until.hpp:211: error: expected unqualified-id before â&â token
/usr/include/asio/read_until.hpp:211: error: expected â,â or â...â before â&â token
/usr/include/asio/read_until.hpp:242: error: expected unqualified-id before â&â token
/usr/include/asio/read_until.hpp:242: error: expected â,â or â...â before â&â token
/usr/include/asio/read_until.hpp:441: error: expected unqualified-id before â&â token
/usr/include/asio/read_until.hpp:441: error: expected â,â or â...â before â&â token
In file included from /usr/include/asio/read_until.hpp:448,
from /usr/include/asio.hpp:62,
from include/httpget.h:7,
from src/httpget.cpp:1:
/usr/include/asio/impl/read_until.ipp:196: error: expected unqualified-id before â&â token
/usr/include/asio/impl/read_until.ipp:196: error: expected â,â or â...â before â&â token
/usr/include/asio/impl/read_until.ipp: In function âsize_t asio::read_until(SyncReadStream&, asio::basic_streambuf<Allocator>&)â:
/usr/include/asio/impl/read_until.ipp:199: error: âexprâ was not declared in this scope
/usr/include/asio/impl/read_until.ipp: At global scope:
/usr/include/asio/impl/read_until.ipp:206: error: expected unqualified-id before â&â token
/usr/include/asio/impl/read_until.ipp:206: error: expected â,â or â...â before â&â token
/usr/include/asio/impl/read_until.ipp:207: error: redefinition of âtemplate<class SyncReadStream, class Allocator> size_t asio::read_until(SyncReadStream&, asio::basic_streambuf<Allocator>&)â
/usr/include/asio/impl/read_until.ipp:196: error: âtemplate<class SyncReadStream, class Allocator> size_t asio::read_until(SyncReadStream&, asio::basic_streambuf<Allocator>&)â previously declared here
/usr/include/asio/impl/read_until.ipp: In function âsize_t asio::read_until(SyncReadStream&, asio::basic_streambuf<Allocator>&)â:
/usr/include/asio/impl/read_until.ipp:222: error: âmatch_resultsâ is not a member of âboostâ
/usr/include/asio/impl/read_until.ipp:222: error: expected primary-expression before â>â token
/usr/include/asio/impl/read_until.ipp:222: error: âmatch_resultsâ was not declared in this scope
/usr/include/asio/impl/read_until.ipp:223: error: âregex_searchâ is not a member of âboostâ
/usr/include/asio/impl/read_until.ipp:223: error: âexprâ was not declared in this scope
/usr/include/asio/impl/read_until.ipp:224: error: âmatch_defaultâ is not a member of âboostâ
/usr/include/asio/impl/read_until.ipp:224: error: âmatch_partialâ is not a member of âboostâ
/usr/include/asio/impl/read_until.ipp:229: error: âecâ was not declared in this scope
/usr/include/asio/impl/read_until.ipp:247: error: âecâ was not declared in this scope
/usr/include/asio/impl/read_until.ipp:254: error: âecâ was not declared in this scope
/usr/include/asio/impl/read_until.ipp: At global scope:
/usr/include/asio/impl/read_until.ipp:583: error: expected unqualified-id before â&â token
/usr/include/asio/impl/read_until.ipp:583: error: expected â,â or â...â before â&â token
/usr/include/asio/impl/read_until.ipp:657: error: âregexâ in namespace âboostâ does not name a type
/usr/include/asio/impl/read_until.ipp: In constructor âasio::detail::read_until_expr_handler<AsyncReadStream, Allocator, ReadHandler>::read_until_expr_handler(AsyncReadStream&, asio::basic_streambuf<Allocator>&)â:
/usr/include/asio/impl/read_until.ipp:587: error: class âasio::detail::read_until_expr_handler<AsyncReadStream, Allocator, ReadHandler>â does not have any field named âexpr_â
/usr/include/asio/impl/read_until.ipp:587: error: âexprâ was not declared in this scope
/usr/include/asio/impl/read_until.ipp:588: error: ânext_search_startâ was not declared in this scope
/usr/include/asio/impl/read_until.ipp:589: error: âhandlerâ was not declared in this scope
/usr/include/asio/impl/read_until.ipp: In member function âvoid asio::detail::read_until_expr_handler<AsyncReadStream, Allocator, ReadHandler>::operator()(const asio::error_code&, size_t)â:
/usr/include/asio/impl/read_until.ipp:617: error: âmatch_resultsâ is not a member of âboostâ
/usr/include/asio/impl/read_until.ipp:617: error: expected primary-expression before â>â token
/usr/include/asio/impl/read_until.ipp:617: error: âmatch_resultsâ was not declared in this scope
/usr/include/asio/impl/read_until.ipp:618: error: âregex_searchâ is not a member of âboostâ
/usr/include/asio/impl/read_until.ipp:618: error: âexpr_â was not declared in this scope
/usr/include/asio/impl/read_until.ipp:619: error: âmatch_defaultâ is not a member of âboostâ
/usr/include/asio/impl/read_until.ipp:619: error: âmatch_partialâ is not a member of âboostâ
/usr/include/asio/impl/read_until.ipp: At global scope:
/usr/include/asio/impl/read_until.ipp:693: error: expected unqualified-id before â&â token
/usr/include/asio/impl/read_until.ipp:693: error: expected â,â or â...â before â&â token
/usr/include/asio/impl/read_until.ipp: In function âvoid asio::async_read_until(AsyncReadStream&, asio::basic_streambuf<Allocator>&)â:
/usr/include/asio/impl/read_until.ipp:707: error: âmatch_resultsâ is not a member of âboostâ
/usr/include/asio/impl/read_until.ipp:707: error: expected primary-expression before â>â token
/usr/include/asio/impl/read_until.ipp:707: error: âmatch_resultsâ was not declared in this scope
/usr/include/asio/impl/read_until.ipp:708: error: âregex_searchâ is not a member of âboostâ
/usr/include/asio/impl/read_until.ipp:708: error: âexprâ was not declared in this scope
/usr/include/asio/impl/read_until.ipp:709: error: âmatch_defaultâ is not a member of âboostâ
/usr/include/asio/impl/read_until.ipp:709: error: âmatch_partialâ is not a member of âboostâ
/usr/include/asio/impl/read_until.ipp:716: error: âhandlerâ was not declared in this scope
/usr/include/asio/impl/read_until.ipp:734: error: âhandlerâ was not declared in this scope
/usr/include/asio/impl/read_until.ipp:743: error: âexprâ was not declared in this scope
/usr/include/asio/impl/read_until.ipp:743: error: âhandlerâ was not declared in this scope
In file included from src/httpget.cpp:1:
include/httpget.h: At global scope:
include/httpget.h:32: error: field âresult_â has incomplete type
include/httpget.h:34: error: field âerror_output_â has incomplete type
include/httpget.h: In member function âstd::string httpget::Getter::GetError() constâ:
include/httpget.h:48: error: âerror_output_â was not declared in this scope
src/httpget.cpp: In member function âvoid httpget::Getter::handle_resolve(const asio::error_code&, asio::ip::basic_resolver_iterator<asio::ip::tcp>)â:
src/httpget.cpp:114: error: âerror_output_â was not declared in this scope
src/httpget.cpp: In member function âvoid httpget::Getter::handle_connect(const asio::error_code&, asio::ip::basic_resolver_iterator<asio::ip::tcp>)â:
src/httpget.cpp:140: error: âerror_output_â was not declared in this scope
src/httpget.cpp: In member function âvoid httpget::Getter::handle_write_request(const asio::error_code&)â:
src/httpget.cpp:156: error: âerror_output_â was not declared in this scope
src/httpget.cpp: In member function âvoid httpget::Getter::handle_read_status_line(const asio::error_code&)â:
src/httpget.cpp:175: error: âerror_output_â was not declared in this scope
src/httpget.cpp:181: error: âerror_output_â was not declared in this scope
src/httpget.cpp:194: error: âerror_output_â was not declared in this scope
src/httpget.cpp: In member function âvoid httpget::Getter::handle_read_headers(const asio::error_code&)â:
src/httpget.cpp:214: error: âresult_â was not declared in this scope
src/httpget.cpp:224: error: âerror_output_â was not declared in this scope
src/httpget.cpp: In member function âvoid httpget::Getter::handle_read_content(const asio::error_code&)â:
src/httpget.cpp:234: error: âresult_â was not declared in this scope
src/httpget.cpp:244: error: âerror_output_â was not declared in this scope
src/httpget.cpp: In member function âstd::string httpget::Getter::GetResult() constâ:
src/httpget.cpp:264: error: âresult_â was not declared in this scope
scons: *** [build/httpget.o] Error 1
scons: building terminated because of errors.
Can you please help me figure out what went wrong?
Thanks!
P.S: If you know how I can get a deb package without getdeb/playdeb, that would also be great.
- NaN - 01-31-2010
I think you are missing: libboost-date-time-dev and libboost-regex-dev
- Omri - 01-31-2010
Great, now it compiles, thanks!
I installed it in my home folder, so that its path is /home/omri/share/games/vdrift/data . But how do I run it?
- NaN - 01-31-2010
Hmmm, enter "vdrift" in your terminal.
- Omri - 01-31-2010
Nothing seems to happen...
Code: bash: vdrift: command not found
- NaN - 01-31-2010
run: find / -name vdrift
I guess it is installed by default into: /usr/share/games/vdrift/bin/
Have a look here: http://vdrift.net/Forum/viewtopic.php?t=1154&sid=c837cdf61d6756f78a718a36c827115d
- Omri - 01-31-2010
I chose to install the game in my home folder (because I'm running out of space in the other partition), and the game is installed in:
/home/omri/share/games/vdrift
but how do I run it?
- NaN - 02-01-2010
Sorry I should have been more explicit.
Vdrift consists of a data folder containing tracks, cars and other stuff and a executable binary. I guess you have a data folder in /home/omri/share/games/vdrift, right? But you are missing the vdrift binary to run the game. The binary is installed separated from the game data(sorry don't have linux here to check it).
If you want to run the game you have to locate your compiled/installed vdrift binary. To do this you could run the command "find / -name vdrift".
- Omri - 02-01-2010
Thanks, it's in /home/omri/bin, now it works
|