2010/12/21 Jorge Vilela <jorge.com...@gmail.com>:
> Leonardo, a saída é:
> supo...@ns5:~/postgis-1.5.2$ cat
> /home/suporte/postgis-1.5.2/postgis/sqldefines.h | grep
> POSTGIS_PGSQL_VERSION
> #define POSTGIS_PGSQL_VERSION 842

Hmm .. a princípio um /bug/ que não tenho tempo de identificar o
porquê (talvez o script de configure), mas para resolver vc poderia
alterar o arquivo /home/suporte/postgis-1.5.2/postgis_config.h.

Na linha 81 modifique:

 #define POSTGIS_PGSQL_VERSION 842

para

 #define POSTGIS_PGSQL_VERSION 84

E compile novamente.

Contexto da falha:

Isso ocorre porque na versão 9_0_0 do postgres, a estrutura
WindowAggState foi modificada e foi adicionado o membro
  MemoryContext aggcontext, enquanto na 8_* levava outro nome.

A princípio o programa lwgeom_accum.c lê a variável de forma errada:

#if POSTGIS_PGSQL_VERSION > 84
    else if (fcinfo->context && IsA(fcinfo->context, WindowAggState))
        aggcontext = ((WindowAggState *) fcinfo->context)->aggcontext;
#endif

Onde #if POSTGIS_PGSQL_VERSION > 84 é uma condição verdadeira para o
valor de constante (842) que o configure gerou baseado na saída do
pg_config.

Como disse é uma suposição e preciso de mais tempo para ivnestigar se
realmente é um bicho, e se for o caso, enviar um patch.

Abraço!

-Leo
-- 
Leonardo Cezar
http://postgreslogia.wordpress.com
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a