Instalar psycopg2 en FreeBSD

Me ví en la situación de tener que trabajar con Postgres sobre FreeBSD y necesitaba un script para jalar datos de unas bases de datos en formato DBF (si, DBF pueden creerlo?) fue asi que encontre un script llamado dbf2pgsql que fue hecho por Hiroo Imaki.

Luego de descargarlo, lo modifiqué un poco para que se adaptara a mis necesidades y cuando lo ejecuté encontré un problema, me hacia falta la librería psycopg2 que es un magnífica librería que permite la interacción entre Python y Postgres, el problema es que por lo visto da muchos problemas para poder ser instalado.

El primer requisito para poder instalar psycopg2 es tener instalado Setuptools luego de instalarlo trate de instalar pysopg2

python setup.py build

No lo pude hacer porque tenía el siguiente error
error: static declaration of ’round’ follows non-static declaration

Luego de mucho buscar por una solución me encontré con este post de Reed Obrien
http://reedobrien.blogspot.com/2008/02/error-building-psycopg-custom-egg.html

Por lo visto es un error para poder hacer el build en FreeBSD, solucion pasa por editar el archivo config.h y comentar las siguientes líneas:
#if defined(__FreeBSD__) || (defined(_WIN32) && !defined(__GNUC__)) || defined(__sun__) || defined(sun)
/* what's this, we have no round function either? */
/*
static double round(double num)
{
return (num >= 0) ? floor(num + 0.5) : ceil(num - 0.5);
}
*/
#endif

Luego de esto cruce los dedos:
python setup.py build
Bingo! funcionó sin problemas, y ahora el paso final
python setup.py install

Y ahora ya pude correr con éxito el script dbf2pgsql, tardé mucho en dar con la respuesta, asi que espero que esto pueda ser útil.

Vistas: 207 views      Fecha: Tuesday, October 7th, 2008 at 19:29 pm
Categorias: Programacion.     tags: , , , , , , .
Seguimiento del Post: RSS 2.0 feed.
You can leave a response, or trackback from your own site.

3 Comments so far

  1. y si copiabas el dbf a un linux donde instalar psycopg2 esta a un apt-get/yum/uprmi/emerge de distancia
    la base de datos del elefantito y de ahi a subirla al freebsd ?

    ^_^

  2. BlackHand:
    El problema es que no hay ningún Linux a la mano y lo peor de todo es que es un script que tendrá que correr en un cron dado que la data en los DBF se actualiza todos los días, algunos clientes son un poco tercos respecto a la plataforma que quieren usar, este es uno de ellos :(

  3. Buenas noches trabajo en Ubuntu i386, tengo instalados varios aplicativos conmuchos datos DBF utilizano Foxpro para SCO Unix, corriendo muy bien en LInux. Necesito pasar las Tablas DBF a Postgresql. Me puedes ampliar el proceso para poder hacerlo. gracias.

Have your say

Fields in bold are required. Email addresses are never published or distributed.

Some HTML code is allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
URIs must be fully qualified (eg: http://www.domainname.com) and all tags must be properly closed.

Line breaks and paragraphs are automatically converted.

Please keep comments relevant. Off-topic, offensive or inappropriate comments may be edited or removed.

Additional comments powered by BackType

  1. Search Website



  2. Random Post

    Udev en kernels 2.6

  3. Recent Posts

    1. Vendo, remato y regalo por mudanza
    2. Proximos conciertos en Peru 2010
    3. Lo bueno, lo malo y lo feo del 2009
    4. Google Wave Pulp Fiction Style
    5. HugeURL un alargador de direcciones
    6. Advierten sobre los efectos del Paracetamol
    7. Review del concierto de Elexorien y God Dethroned en Lima
    8. Oportunidad de Empleo
    9. Segundo Festival Cultural de Videojuegos – ExpoGames
    10. Operacion Pandemia
  4. Archives



      October 2008
      S M T W T F S
      « Sep   Nov »
       1234
      567891011
      12131415161718
      19202122232425
      262728293031  

  5. Search Website



  6. Peru Blogs