Попытка скомпилировать powertop для руки с помощью кросс-компиляции в Ubuntu с проблемой malloc

Я пытался собрать powertop для устройства руки. Я видел здесь довольно много разговоров о powertop, и я использую Ubuntu для кросс-компиляции для armv7l.

Конфигурация проходит проверку и выдает:

checking for uint32_t... yes
checking for uint64_t... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... no
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for getpagesize... yes
checking for working mmap... no
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... no
checking for working strtod... no
checking for pow... yes

Она попадает в devlist.cpp и умирает из-за отсутствия malloc.

...
CXX      cpu/powertop-intel_cpus.o
CXX      powertop-devlist.o
devlist.cpp: In function ‘void collect_open_devices()’:
devlist.cpp:147: error: ‘rpl_malloc’ was not declared in this scope
devlist.cpp: In function ‘void register_devpower(const char*, double, device*)’:
devlist.cpp:249: error: ‘rpl_malloc’ was not declared in this scope
make[3]: *** [powertop-devlist.o] Error 1
make[3]: Leaving directory `/home/lucid/powertop-2.4/src'
make[2]: *** [all] Error 2
...

Если я пропущу devlist.cpp, то получу другие проблемы с памятью, как и выше.

Наверное, мой вопрос: как я могу изменить конфигурацию или сделать так, чтобы правильно использовать malloc? Нужно ли создавать другую библиотеку? Мой набор инструментов должен иметь все, что мне нужно.

Я звоню настроить и сделать так:

./configure --prefix=/home/lucid/timesys/i_MX53start/toolchain --sysconfdir=/home/lucid/timesys/i_MX53start/toolchain/etc --disable-static --target=armv7l-timesys-linux --host=i686 --build=armv7l-timesys-linux && make
0
задан 20 August 2013 в 19:31

1 ответ

Возможно, вам нужно установить некоторые переменные окружения для запуска из вашей цепочки инструментов. Пример, который я использую ниже, для цепочки инструментов, установленной в моем локальном каталоге, например, у вас:

MY_ARM_BASE=${HOME}/dev/toolchain/arm-2008q3
C_INCLUDE_PATH=${MY_ARM_BASE}/lib/gcc/arm-none-linux-gnueabi/4.3.2/include:${MY_ARM_BASE}/lib/gcc/arm-none-linux-gnueabi/4.3.2/include-fixed
LIBRARY_PATH=${MY_ARM_BASE}/arm-none-linux-gnueabi/libc/lib:${MY_ARM_BASE}/arm-none-linux-gnueabi/libc/usr/lib
CPLUS_INCLUDE_PATH=${MY_ARM_BASE}/arm-none-linux-gnueabi/include/c++/4.3.2
#OBJC_INCLUDE_PATH
COMPILER_PATH=${MY_ARM_BASE}/bin
#LD_RUN_PATH
#GPROF_PATH
#######
CC=${COMPILER_PATH}/gcc
CXX=${COMPILER_PATH}/g++
RANLIB=${COMPILER_PATH}/ranlib
STRIP=${COMPILER_PATH}/strip
export C_INCLUDE_PATH LIBRARY_PATH CPLUS_INCLUDE_PATH COMPILER_PATH
export CC CXX RANLIB STRIP
0
ответ дан 20 August 2013 в 19:31

Другие вопросы по тегам:

Похожие вопросы: