Thread: initdb & multibyte
When running initdb: postgres@interno:/ > /usr/local/pgsql/bin/initdb -D /home/data -L /usr/local/pgsql/lib -E UNICODE We get the error: initdb: pg_encoding failed Perhaps you did not configure PostgreSQL for multibyte support or the program was not successfully installed. We are using Linux kernel 2.2.16 (suse 7) Newly compiled & installed PostgreSQL 7.02 with multibyte support. Are their some special libraries we need for multibyte? muchas gracias, Alan
source <source@celasmaya.edu.gt> writes: > We get the error: > initdb: pg_encoding failed Hmm. Someone else told me about seeing the same thing on a Linux box, but I didn't hear what the resolution was. initdb is not very good about giving you details about failures of the programs it calls --- in particular, pg_encoding's stdout/stderr is rerouted to /dev/null in the script :-(. I'd recommend changing the initdb script to not redirect pg_encoding's output, and then you'll be able to see what pg_encoding is unhappy about. Let us know... regards, tom lane
OK, now we get: /usr/local/pgsql/bin/pg_encoding: error in loading shared libraries: /usr/local/pgsql/bin/pg_encoding: undefined symbol: pg_char_to_encoding initdb: pg_encoding failed Perhaps you did not configure PostgreSQL for multibyte support or the program was not successfully installed. ---------- source <source@celasmaya.edu.gt> writes: > We get the error: > initdb: pg_encoding failed Hmm. Someone else told me about seeing the same thing on a Linux box, but I didn't hear what the resolution was. initdb is not very good about giving you details about failures of the programs it calls --- in particular, pg_encoding's stdout/stderr is rerouted to /dev/null in the script :-(. I'd recommend changing the initdb script to not redirect pg_encoding's output, and then you'll be able to see what pg_encoding is unhappy about. Let us know... regards, tom lane
source <source@celasmaya.edu.gt> writes: > OK, now we get: > /usr/local/pgsql/bin/pg_encoding: error in loading shared libraries: > /usr/local/pgsql/bin/pg_encoding: undefined symbol: pg_char_to_encoding > initdb: pg_encoding failed Ah. pg_char_to_encoding() is in libpq.so, but only if you built the system with multibyte configure option selected. I'll bet that the dynamic loader is finding a copy of libpq.so built without multibyte support. Do you have another postgres installation on the machine? (At least some linux distros ship with postgres libraries in /usr/lib) You probably need to use ldconfig to tell the system about the location of the newly installed postgres shared libs, and make sure those are in front of the old ones in the loader search path. regards, tom lane
source writes: > initdb: pg_encoding failed I'd guess that you didn't set up your shared library paths correctly, as outlined in the installation instructions. export LD_LIBRARY_PATH=/usr/local/pgsql/lib -- Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/