Как собрать CuneiForm по старый Линукс

Если у вас не собирается CuneiForm под Линукс с ошибкой
Kern/rstr/librstr.so.1.1.0: undefined reference to `htobe32'
То значит у вас очень старый glibc. Чтобы исправить ситуацию нужно в файл cuneiform_src/Kern/rstr/src/perc.c, в начало, добавить следующий код:
#include <endian.h>

uint32_t htobe32(uint32_t x) {
    union { uint32_t u32; uint8_t v[4]; } ret;
    ret.v[0] = (uint8_t)(x >> 24);
    ret.v[1] = (uint8_t)(x >> 16);
    ret.v[2] = (uint8_t)(x >> 8);
    ret.v[3] = (uint8_t) x;
    return ret.u32;
}

#define swapbytes(a) do { (a) = htobe32(a); } while (0)
Тогда всё соберётся. У меня собралось под ЦентОС 5.2.
18 апреля 2013 09:15

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML: