Consegui fazer uma "receita de bolo" para compilar no Ubuntu 10.04,
montei uma virtual machine zerada sem instalar nada e precisei apenas
dos comandos abaixo:
Install Linux
sudo apt-get update
sudo apt-get install mercurial subversion make cmake libboost-all-dev
build-essential
svn checkout
http://google-perftools.googlecode.com/svn/trunk/ google
cd google/
./configure
make
make install
sudo make install
cd ..
hg clone
https://tio.googlecode.com/hg/ tio
cd tio/tio
cmake . && make
Agora estou tentando fazer para o Mac, mas estou com alguns problemas:
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/wiltondeoliveiragarcia/tio/
tio
wilton:tio wiltondeoliveiragarcia$ sudo make
Scanning dependencies of target tio
[ 16%] Building CXX object CMakeFiles/tio.dir/Command.cpp.o
[ 33%] Building CXX object CMakeFiles/tio.dir/ContainerManager.cpp.o
[ 50%] Building CXX object CMakeFiles/tio.dir/TioTcpServer.cpp.o
[ 66%] Building CXX object CMakeFiles/tio.dir/TioTcpSession.cpp.o
[ 83%] Building CXX object CMakeFiles/tio.dir/pch.cpp.o
[100%] Building CXX object CMakeFiles/tio.dir/tio.cpp.o
In file included from /Users/wiltondeoliveiragarcia/tio/tio/
LogDbStorage.h:3,
from /Users/wiltondeoliveiragarcia/tio/tio/tio.cpp:7:
/Users/wiltondeoliveiragarcia/tio/tio/logdb.h: In member function
‘bool logdb::File::Open(const char*)’:
/Users/wiltondeoliveiragarcia/tio/tio/logdb.h:117: error: ‘O_DIRECT’
was not declared in this scope
/Users/wiltondeoliveiragarcia/tio/tio/logdb.h: In member function
‘unsigned int logdb::File::Write(void*, unsigned int)’:
/Users/wiltondeoliveiragarcia/tio/tio/logdb.h:129: error: ‘fdatasync’
was not declared in this scope
In file included from /Users/wiltondeoliveiragarcia/tio/tio/tio.cpp:7:
/Users/wiltondeoliveiragarcia/tio/tio/LogDbStorage.h: In member
function ‘virtual void
tio::LogDbStorage::LogDbVectorStorage::Set(const tio::TioData&, const
tio::TioData&, const tio::TioData&)’:
/Users/wiltondeoliveiragarcia/tio/tio/LogDbStorage.h:213: error:
conversion from ‘long int’ to ‘const tio::TioData’ is ambiguous
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:124: note:
candidates are: tio::TioData::TioData(const char*, bool)
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:106:
note: tio::TioData::TioData(double)
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:100:
note: tio::TioData::TioData(int)
/Users/wiltondeoliveiragarcia/tio/tio/LogDbStorage.h: In member
function ‘virtual void
tio::LogDbStorage::LogDbVectorStorage::Insert(const tio::TioData&,
const tio::TioData&, const tio::TioData&)’:
/Users/wiltondeoliveiragarcia/tio/tio/LogDbStorage.h:246: error:
conversion from ‘long int’ to ‘const tio::TioData’ is ambiguous
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:124: note:
candidates are: tio::TioData::TioData(const char*, bool)
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:106:
note: tio::TioData::TioData(double)
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:100:
note: tio::TioData::TioData(int)
/Users/wiltondeoliveiragarcia/tio/tio/LogDbStorage.h: In member
function ‘virtual void
tio::LogDbStorage::LogDbVectorStorage::Delete(const tio::TioData&,
const tio::TioData&, const tio::TioData&)’:
/Users/wiltondeoliveiragarcia/tio/tio/LogDbStorage.h:292: error:
conversion from ‘long int’ to ‘const tio::TioData’ is ambiguous
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:124: note:
candidates are: tio::TioData::TioData(const char*, bool)
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:106:
note: tio::TioData::TioData(double)
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:100:
note: tio::TioData::TioData(int)
/Users/wiltondeoliveiragarcia/tio/tio/LogDbStorage.h:292: error:
conversion from ‘long int’ to ‘const tio::TioData’ is ambiguous
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:124: note:
candidates are: tio::TioData::TioData(const char*, bool)
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:106:
note: tio::TioData::TioData(double)
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:100:
note: tio::TioData::TioData(int)
/Users/wiltondeoliveiragarcia/tio/tio/LogDbStorage.h:300: error:
conversion from ‘long int’ to ‘const tio::TioData’ is ambiguous
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:124: note:
candidates are: tio::TioData::TioData(const char*, bool)
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:106:
note: tio::TioData::TioData(double)
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:100:
note: tio::TioData::TioData(int)
/Users/wiltondeoliveiragarcia/tio/tio/LogDbStorage.h:300: error:
conversion from ‘long int’ to ‘const tio::TioData’ is ambiguous
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:124: note:
candidates are: tio::TioData::TioData(const char*, bool)
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:106:
note: tio::TioData::TioData(double)
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:100:
note: tio::TioData::TioData(int)
/Users/wiltondeoliveiragarcia/tio/tio/LogDbStorage.h: In member
function ‘virtual void
tio::LogDbStorage::LogDbVectorStorage::GetRecord(const tio::TioData&,
tio::TioData*, tio::TioData*, tio::TioData*)’:
/Users/wiltondeoliveiragarcia/tio/tio/LogDbStorage.h:340: error:
conversion from ‘long int’ to ‘const tio::TioData’ is ambiguous
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:124: note:
candidates are: tio::TioData::TioData(const char*, bool)
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:106:
note: tio::TioData::TioData(double)
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:100:
note: tio::TioData::TioData(int)
/Users/wiltondeoliveiragarcia/tio/tio/LogDbStorage.h:340: error:
conversion from ‘long int’ to ‘const tio::TioData’ is ambiguous
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:124: note:
candidates are: tio::TioData::TioData(const char*, bool)
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:106:
note: tio::TioData::TioData(double)
/Users/wiltondeoliveiragarcia/tio/tio/Container.h:100:
note: tio::TioData::TioData(int)
make[2]: *** [CMakeFiles/tio.dir/tio.cpp.o] Error 1
make[1]: *** [CMakeFiles/tio.dir/all] Error 2
make: *** [all] Error 2
--
Wilton de Oliveira Garcia
On May 16, 3:17 pm, Rodrigo Strauss <
rodr...@1bit.com.br> wrote:
> Dê um update no código, deve estar funcionando agora. Tinha até um
> TODO no código para resolver isso.
>
> Testei ontem no Ubuntu e o Tio não estava rodando em debug no Linux,
> parava em um ASSERT dentro do logdb.h, que é o log de transações. Se
> você tiver problemas com isso, rode em Release (cmake
> -DCMAKE_BUILD_TYPE=Release) e não use o os containers do tipo
> persistent por enquanto. Já estou corrigindo isso. :-)
>
> Rodrigo Strausshttp://
www.1bit.com.br
>
> 2010/5/16 Dimas Kotvan <
dimas.kot...@gmail.com>: