Thread: Problem with executing PostgreSQL on Embedded Linux

Problem with executing PostgreSQL on Embedded Linux

From
"woonhak kang"
Date:
I am porting PostgreSQL 8.1.4 to Embedded Linux 2.x.
Cross-compiling had little problem with zic (timezone),
but I changed cross-compiled zic to native-compiled one so I can
cross-compile correctly I think.

However, executing postgresql on my ebmedded linux has problem with initdb.
(root accout problem was solved by by-passing checking uid==0 in some source
files)

When I execute initdb, creating some directories and selecting default
variable definitions were fine.
While creating template1 database in $LOCAL_DB/base/1, it exits with
following error message.

Error message - /pgsql/postgres: can't resolve symbol '__isinf'

Anybody know about that problem?



Re: Problem with executing PostgreSQL on Embedded Linux

From
Thomas Pundt
Date:
Hi,

On Tuesday 10 October 2006 19:23, woonhak kang wrote:
| I am porting PostgreSQL 8.1.4 to Embedded Linux 2.x.
[...]
| When I execute initdb, creating some directories and selecting default
| variable definitions were fine.
| While creating template1 database in $LOCAL_DB/base/1, it exits with
| following error message.
|
| Error message - /pgsql/postgres: can't resolve symbol '__isinf'

"isinf" normally lives in libm; libm normally gets linked to the postgres
binary:

cd ~/postgresql-8.1.4/src
grep -- -lm Makefile.global
LIBS = -lssl -lcrypto -lz -lreadline -lcrypt -lresolv -lnsl -ldl -lm

ldd /usr/bin/postgres | grep libm
        libm.so.6 => /lib/tls/libm.so.6 (0x40277000)

nm /lib/tls/libm.so.6 | grep isinf
0000d0c0 t __GI___isinf
000140f0 t __GI___isinff
0001bc50 t __GI___isinfl
0000d0c0 t __isinf
000140f0 t __isinff
0001bc50 t __isinfl
0000d0c0 t isinf
000140f0 t isinff
0001bc50 t isinfl

So the obvious question seems to be: is your postgres binary linked against
libm? Just a guess though - I'm not on any kind of Embedded Linux ...

Ciao,
Thomas

--
Thomas Pundt <thomas.pundt@rp-online.de> ---- http://rp-online.de/ ----