Проблемы с $libdir на PostgreSQL

const char* byte_to_binary( int x )
{
    static char b[sizeof(int)*8+1] = {0};
    int y;
    long long z;
    for (z=1LL<<sizeof(int)*8-1,y=0; z>0; z>>=1,y++)
    {
        b[y] = ( ((x & z) == z) ? '1' : '0');
    }

    b[y] = 0;

    return b;
}
12
задан Joe Germuska 28 August 2009 в 21:26
поделиться

1 ответ

Отредактировал исходный ответ, поскольку он был неправильным

Теперь, когда я просмотрел код postgresql, я должен признать, что эта строка должна расширяться с 2001 года ;-). Однако расширение очень ограничено. Он только расширяет $ libdir , за которым следует разделитель каталогов. Тем не менее, ваш вывод показывает, что строка не была расширена, потому что указанная здесь строка является строкой, фактически используемой для загрузки библиотеки.

Это означает, что замена не удалась. Присмотревшись к нему поближе, я вижу, что расширение будет успешным, только если целевой файл действительно существует. Предположим, что ваш разделитель каталогов - / и DLSUFFIX - это .so , а файл /usr/local/pgsql/lib/liblwgeom.so на самом деле существует, я не имею ни малейшего понятия, почему, черт возьми, это не удается; -)

1
ответ дан 2 December 2019 в 23:07
поделиться
Другие вопросы по тегам:

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