[oe-users] (Somewhat urgent) build problem
Yang
c17mswr02 at sneakemail.com
Thu Sep 20 00:17:43 UTC 2007
Hi, I'm trying to get pygresql into my image. pygresql is a Python C
module that provides bindings to Postgres. Here is my package for
pygresql (pgdb.bb):
SECTION = "network"
DESCRIPTION = "PGDB"
LICENSE ="GPL"
PR="r1"
DEPENDS = "postgresql"
RDEPENDS = "postgresql"
SRC_URI = "ftp://ftp.pygresql.org/pub/distrib/PyGreSQL.tgz"
S = "${WORKDIR}/PyGreSQL-3.8.1"
inherit distutils
It fails, however, with the following:
NOTE: package pgdb-1.0: started
NOTE: package pgdb-1.0-r1: task do_compile: started
ERROR: function do_compile failed
ERROR: log data follows
(/data2/yang/oe/tmp/work/i486-linux/pgdb-1.0-r1/temp/log.do_compile.32140)
| sh: pg_config: command not found
| Traceback (most recent call last):
| File "setup.py", line 81, in <module>
| pg_include_dir = pg_config('includedir')
| File "setup.py", line 51, in pg_config
| raise Exception, "pg_config tool is not available."
| Exception: pg_config tool is not available.
| FATAL: python setup.py build_ext execution failed.
NOTE: Task failed:
/data2/yang/oe/tmp/work/i486-linux/pgdb-1.0-r1/temp/log.do_compile.32140
This is because pygresql's setup.py runs 'pg_config' to get
information about the postgresql installation. I see pg_config in the
following places under tmp/:
./work/i486-linux/postgresql-8.2.4-r0/postgresql-8.2.4/src/bin/pg_config
./work/i486-linux/postgresql-8.2.4-r0/postgresql-8.2.4/src/bin/pg_config/pg_config
./work/i486-linux/postgresql-8.2.4-r0/install/postgresql-dbg/usr/bin/.debug/pg_config
./work/i486-linux/postgresql-8.2.4-r0/install/postgresql/usr/bin/pg_config
./rootfs/usr/bin/pg_config
I'm not sure how to make this visible to the distutil class'
do_compile(). So that's the first problem.
The second (potential) problem: later on down the line the build
process will also require the postgres development headers (eg
postgres.h). These are only available at the following locations:
./work/i486-linux/postgresql-8.1.8-r0/postgresql-8.1.8/src/include/postgres.h
./work/i486-linux/postgresql-8.2.4-r0/postgresql-8.2.4/src/include/postgres.h
./work/i486-linux/postgresql-8.2.4-r0/install/postgresql-dev/usr/include/postgresql/server/postgres.h
./work/i486-linux/pgdb-1.0-r1/PyGreSQL-3.8.1/include/postgres.h
I have no idea how that last instance of postgres.h got there; it was
not part of the original PyGreSql.tgz, and when I build on my host
machine, an include directory is never created. If this is all a sign
that finding the headers won't be a problem down the line, then great
- otherwise, how do I ensure that the headers are visible (like
pg_config)?
Any guidance would be tremendously appreciated. Thanks a lot!
Yang
More information about the Openembedded-users
mailing list