На самом деле я могу скомпилировать Orion Context Broker в архитектуру i686?

Я смотрел на доступные пакеты RPM и только одна версия (0.8.1-dev) имеет с любой архитектурой.

Вы можете скомпилировать Context Broker в 32-битной архитектуре? (I686)

Я сделал тест, и я думаю, что невозможно скомпилировать и установить его без изменений в исходном коде.

Выше есть мой результат установки:

[root@localhost fiware-orion]# make install INSTALL_DIR=/usr
./scripts/build/compileInfo.sh --release
27c27
< #define COMPILE_TIME     "Thu Aug 7 09:27:06 BRT 2014"---
> #define COMPILE_TIME     "nodate"mkdir -p  BUILD_RELEASE || true
cd BUILD_RELEASE && cmake .. -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_ARCH=i686 -DCMAKE_INSTALL_PREFIX=/usr
CMAKE_BUILD_TYPE set to RELEASE
Compiling in system Linux-2.6.32-431.el6.i686
CMAKE_BUILD_TYPE: 'RELEASE'
cmake: RELEASE compilation
Building for i686
cmake: OK
contextBroker: Other DISTRO: 'CentOS_6.5'
proxyCoap: Other DISTRO: 'CentOS_6.5'
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/fiware-orion/BUILD_RELEASE
cd BUILD_RELEASE && make -j1
make[1]: Entrando no diretório `/tmp/fiware-orion/BUILD_RELEASE'
make[2]: Entrando no diretório `/tmp/fiware-orion/BUILD_RELEASE'
make[3]: Entrando no diretório `/tmp/fiware-orion/BUILD_RELEASE'
make[3]: Saindo do diretório `/tmp/fiware-orion/BUILD_RELEASE'
[0%] Built target lm
make[3]: Entrando no diretório `/tmp/fiware-orion/BUILD_RELEASE'
make[3]: Saindo do diretório `/tmp/fiware-orion/BUILD_RELEASE'
make[3]: Entrando no diretório `/tmp/fiware-orion/BUILD_RELEASE'
[0%] Building CXX object src/lib/parseArgs/CMakeFiles/pa.dir/paLimitCheck.cpp.o
cc1plus: warnings being treated as errors
/tmp/fiware-orion/src/lib/parseArgs/paLimitCheck.cpp: In function ‘int limits(PaiArgument*, PaiArgument*)’:
/tmp/fiware-orion/src/lib/parseArgs/paLimitCheck.cpp:175: error: format ‘%ld’ expects type ‘long int’, but argument 4 has type ‘int64_t’
/tmp/fiware-orion/src/lib/parseArgs/paLimitCheck.cpp:175: error: format ‘%ld’ expects type ‘long int’, but argument 4 has type ‘int64_t’
/tmp/fiware-orion/src/lib/parseArgs/paLimitCheck.cpp:180: error: format ‘%ld’ expects type ‘long int’, but argument 4 has type ‘int64_t’
/tmp/fiware-orion/src/lib/parseArgs/paLimitCheck.cpp:180: error: format ‘%ld’ expects type ‘long int’, but argument 5 has type ‘int64_t’
(...)
make[3]: Saindo do diretório `/tmp/fiware-orion/BUILD_RELEASE'
make[2]: ** [src/lib/parseArgs/CMakeFiles/pa.dir/all] Erro 2
make[2]: Saindo do diretório `/tmp/fiware-orion/BUILD_RELEASE'
make[1]: ** [all] Erro 2
make[1]: Saindo do diretório `/tmp/fiware-orion/BUILD_RELEASE'
make: ** [release] Erro 2

PS: извините за язык ОС

1

Решение

Да, боюсь, вам придется изменить исходный код, чтобы скомпилировать брокер в 32-битной среде. Никогда не думал об этом …

Не должно быть слишком сложно модифицировать код, чтобы иметь возможность компилировать и в 32-битной среде, но нам нужна веская причина, чтобы тратить время на подобные вещи.
Вы всегда можете отправить запрос об этом на github (вы знаете, где он находится :-)).

1

Другие решения


По вопросам рекламы [email protected]