Re: [gentoo-user] Any advice on using postgresql-{base,server} ebuilds?
Am Samstag, 3. Januar 2009 04:55:13 schrieb Mark David Dumlao: I've looked around a bit and various sources, and some experimentation, seem to say that the new postgresql-{base,server}-8.3.5 ebuilds for 8.3.5 don't play well with some packages, particularly, php-5.2.8-r1 seems to be unable to run or build against it when called with postgres flag. It built fine for me and works. I'm considering manually rolling out postgresql (I've already downloaded source) if at the very least just to check which files it can't find. === trying to run php-cli madum...@trixie /usr/portage/sys-kernel $ php php: error while loading shared libraries: libpq.so.4: cannot open shared object file: No such file or directory === /trying to run php-cli This happens when you have built php against an older version of postgresql. Current libpq version is 5. Now libpq is part of the old postgres packages and they seemed to work out just fine, so I wondered, maybe I should just make overlay ebuilds using the postgresql/libpq form, then just version bump them to 8.3.5? Why? That's probably going to take me a while though to compile though, so I wonder if anyone has done this? No, why? === emerging php That's usually the right thing to do. madum...@trixie /usr/portage/sys-kernel $ tail -n 40 /var/tmp/portage/dev-lang/php-5.2.8-r1/temp/build.log /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c: In function '_php_pgsql_notice_handler': /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:362 : warning: passing argument 2 of '_php_pgsql_trim_message' from incompatible pointer type /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:366 : warning: cast from pointer to integer of different size /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c: In function 'php_pgsql_do_connect': /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:747 : error: 'PG_VERSION' undeclared (first use in this function) /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:747 : error: (Each undeclared identifier is reported only once /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:747 : error: for each function it appears in.) /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:770 : warning: cast from pointer to integer of different size /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c: In function 'php_pgsql_get_link_info': /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:958 : error: 'PG_VERSION' undeclared (first use in this function) /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c: In function 'php_pgsql_get_field_info': /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:186 3: warning: comparison is always false due to limited range of data type /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c: In function 'zif_pg_lo_create': /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:255 9: error: 'INV_READ' undeclared (first use in this function) /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:255 9: error: 'INV_WRITE' undeclared (first use in this function) /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:256 3: warning: comparison is always false due to limited range of data type /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c: In function 'zif_pg_lo_open': /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:270 7: error: 'INV_READ' undeclared (first use in this function) /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:270 9: error: 'INV_WRITE' undeclared (first use in this function) /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c: In function 'zif_pg_lo_import': /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:294 7: warning: comparison is always false due to limited range of data type /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c: In function 'php_pgsql_result2array': /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:579 1: warning: passing argument 3 of 'php_addslashes' from incompatible pointer type make: *** [ext/pgsql/pgsql.lo] Error 1 Is that all from the compilation of the file pgsql.c. Please post the whole output for this file, starting with gcc invocation. Bye... Dirk signature.asc Description: This is a digitally signed message part.
Re: [gentoo-user] Any advice on using postgresql-{base,server} ebuilds?
Found it. The clue was the libpq.so.4, which as Dirk said, was from an older postgresql build. I wondered why my postgres kept reporting version 4 rather than the 5 I had installed, and searched the build logs. It seems that the library information is reported by pg_config, and that my /usr/bin/pg_config was left over from the old install and not deleted/clobbered by eselect-postgresql. An eselect postgresql reset-all / set-all / update got me back in action.
[gentoo-user] Any advice on using postgresql-{base,server} ebuilds?
I've looked around a bit and various sources, and some experimentation, seem to say that the new postgresql-{base,server}-8.3.5 ebuilds for 8.3.5 don't play well with some packages, particularly, php-5.2.8-r1 seems to be unable to run or build against it when called with postgres flag. I'm considering manually rolling out postgresql (I've already downloaded source) if at the very least just to check which files it can't find. === trying to run php-cli madum...@trixie /usr/portage/sys-kernel $ php php: error while loading shared libraries: libpq.so.4: cannot open shared object file: No such file or directory === /trying to run php-cli Now libpq is part of the old postgres packages and they seemed to work out just fine, so I wondered, maybe I should just make overlay ebuilds using the postgresql/libpq form, then just version bump them to 8.3.5? That's probably going to take me a while though to compile though, so I wonder if anyone has done this? === emerging php madum...@trixie /usr/portage/sys-kernel $ tail -n 40 /var/tmp/portage/dev-lang/php-5.2.8-r1/temp/build.log /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c: In function '_php_pgsql_notice_handler': /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:362: warning: passing argument 2 of '_php_pgsql_trim_message' from incompatible pointer type /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:366: warning: cast from pointer to integer of different size /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c: In function 'php_pgsql_do_connect': /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:747: error: 'PG_VERSION' undeclared (first use in this function) /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:747: error: (Each undeclared identifier is reported only once /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:747: error: for each function it appears in.) /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:770: warning: cast from pointer to integer of different size /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c: In function 'php_pgsql_get_link_info': /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:958: error: 'PG_VERSION' undeclared (first use in this function) /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c: In function 'php_pgsql_get_field_info': /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:1863: warning: comparison is always false due to limited range of data type /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c: In function 'zif_pg_lo_create': /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:2559: error: 'INV_READ' undeclared (first use in this function) /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:2559: error: 'INV_WRITE' undeclared (first use in this function) /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:2563: warning: comparison is always false due to limited range of data type /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c: In function 'zif_pg_lo_open': /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:2707: error: 'INV_READ' undeclared (first use in this function) /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:2709: error: 'INV_WRITE' undeclared (first use in this function) /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c: In function 'zif_pg_lo_import': /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:2947: warning: comparison is always false due to limited range of data type /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c: In function 'php_pgsql_result2array': /var/tmp/portage/dev-lang/php-5.2.8-r1/work/php-5.2.8/ext/pgsql/pgsql.c:5791: warning: passing argument 3 of 'php_addslashes' from incompatible pointer type make: *** [ext/pgsql/pgsql.lo] Error 1 * * ERROR: dev-lang/php-5.2.8-r1 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 4483: Called src_compile_normal * environment, line 4602: Called php5_2-sapi_src_compile * environment, line 3516: Called die * The specific snippet of code: * emake || die make failed * The die message: * make failed * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/dev-lang/php-5.2.8-r1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-lang/php-5.2.8-r1/temp/environment'. * === /emerging php Or maybe it's the php ebuild that needs some help. I've recently had some trouble getting it to compile against readline-5.