1

我正在查看可用的 RPM 包,并且只有一个版本(0.8.1-dev)具有任何架构。

您可以在 32 位架构中编译 Context Broker 吗?(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:对不起操作系统语言

4

1 回答 1

1

是的,恐怕您必须修改源代码才能在 32 位环境中编译代理。从来没有真正想过...

修改代码以使其也能够以 32 位编译应该不会太难,但我们需要一个充分的理由来花时间在这样的事情上。您可以随时在 github 上发送有关它的请求(您知道它在哪里 :-))。

于 2014-08-08T09:51:29.910 回答