Thread: Error running initdb
I'm new to postgresql, first of all, and I'm not sure if this is the correct list.... I have built 7.4.2 on Solaris 8/SPARC. I *think* "make install" generated all the expected artifacts. When I run initdb, I get the following output: % initdb -D /home/dparker/servers/install/data/testdb1 The files belonging to this database system will be owned by user "dparker". This user must also own the server process. The database cluster will be initialized with locale C. fixing permissions on existing directory /home/dparker/servers/install/data/testdb1... ok creating directory /home/dparker/servers/install/data/testdb1/base... ok creating directory /home/dparker/servers/install/data/testdb1/global... ok creating directory /home/dparker/servers/install/data/testdb1/pg_xlog... ok creating directory /home/dparker/servers/install/data/testdb1/pg_clog... ok selecting default max_connections... 100 selecting default shared_buffers... 1000 creating configuration files... ok creating template1 database in /home/dparker/servers/install/data/testdb1/base/1... ok initializing pg_shadow... ok enabling unlimited row size for system tables... ok initializing pg_depend... ok creating system views... ok loading pg_description... ok creating conversions... ERROR: could not access file "$libdir/ascii_and_mic": No such file or directory initdb: failed The ascii_and_mic.so is in $PREFIX/lib/postgresql. I've tried copying it up one level, and also tried including that path in LD_LIBRARY_PATH. The value for $libdir in config.status appears to be correct. I'm pretty sure I'm missing something obvious. Can somebody give me a clue where to look? Thanks! - DAP ====================================================== David Parker Tazz Networks (401) 709-5130
"David Parker" <dparker@tazznetworks.com> wrote: > > I'm new to postgresql, first of all, and I'm not sure if this is the > correct list.... > > I have built 7.4.2 on Solaris 8/SPARC. I *think* "make install" > generated all the expected > artifacts. > > When I run initdb, I get the following output: > > % initdb -D /home/dparker/servers/install/data/testdb1 [snip] > creating conversions... ERROR: could not access file > "$libdir/ascii_and_mic": No such file or directory > > initdb: failed > > The ascii_and_mic.so is in $PREFIX/lib/postgresql. I've tried copying it > up one level, and also tried including that path in LD_LIBRARY_PATH. The > value for $libdir in config.status appears to be correct. > > I'm pretty sure I'm missing something obvious. Can somebody give me a > clue where to look? [snip] Had you searched the mailing list's archives, you would've seen this... | From jseymour Tue May 4 19:26:27 2004 | To: pgsql-admin@postgresql.org | Subject: Re: [ADMIN] initdb error | | "Kevin Schroeder" <kschroeder@mirageworks.com> wrote: | > Message-ID: <5a6301c431fd$1cb1d580$0200a8c0@WORKSTATION> | > | > Hello, | > I'm trying to install PostgreSQL on Solaris 9. Everything's compiled | > properly but when I run initdb I get the following error: | > | [snip] | > creating conversions... ERROR: could not load library | > "/usr/local/pgsql/lib/ascii_and_mic.so": ld.so.1: | > /usr/local/pgsql/bin/postgres: fatal: libgcc_s.so.1: open failed: No such | > file or directory | > | > I found libgcc_s.so.1 in /usr/local/lib and that directory is in | > $LD_LIBRARY_PATH. Is there anything that I'm missing here or that I need to | > look for in my configure settings? | | Is that directory in LD_LIBRARY_PATH when you're su'd to the postgreSQL | user? | | I added | | LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib; export LD_LIBRARY_PATH | | to /etc/init.d/postgresql and created a .profile in its home directory | with that in it. | | Solved all those problems :). | | You can also solve such problems by using the -R switch during build | (man ld) and with Solaris 8/9's new "crle" utility. Jim
Thanks for the response. As it happens, I DID search the archives, but did not see this post. I saw a couple of related questions with no follow-up answers.... I am not running this under a separate username, so the LD_LIBRARY_PATH set in my own .cshrc should apply, I would think. Does /etc/init.d/postgresql still need to be modified, even if there is no special postgresql user? - DAP -----Original Message----- From: Jim Seymour [mailto:jseymour@linxnet.com] Sent: Tuesday, June 01, 2004 11:57 AM To: pgsql-admin@postgresql.org Subject: Re: [ADMIN] Error running initdb "David Parker" <dparker@tazznetworks.com> wrote: > > I'm new to postgresql, first of all, and I'm not sure if this is the > correct list.... > > I have built 7.4.2 on Solaris 8/SPARC. I *think* "make install" > generated all the expected > artifacts. > > When I run initdb, I get the following output: > > % initdb -D /home/dparker/servers/install/data/testdb1 [snip] > creating conversions... ERROR: could not access file > "$libdir/ascii_and_mic": No such file or directory > > initdb: failed > > The ascii_and_mic.so is in $PREFIX/lib/postgresql. I've tried copying > it up one level, and also tried including that path in > LD_LIBRARY_PATH. The value for $libdir in config.status appears to be correct. > > I'm pretty sure I'm missing something obvious. Can somebody give me a > clue where to look? [snip] Had you searched the mailing list's archives, you would've seen this... | From jseymour Tue May 4 19:26:27 2004 | To: pgsql-admin@postgresql.org | Subject: Re: [ADMIN] initdb error | | "Kevin Schroeder" <kschroeder@mirageworks.com> wrote: | > Message-ID: <5a6301c431fd$1cb1d580$0200a8c0@WORKSTATION> | > | > Hello, | > I'm trying to install PostgreSQL on Solaris 9. Everything's | > compiled properly but when I run initdb I get the following error: | > | [snip] | > creating conversions... ERROR: could not load library | > "/usr/local/pgsql/lib/ascii_and_mic.so": ld.so.1: | > /usr/local/pgsql/bin/postgres: fatal: libgcc_s.so.1: open failed: No | > such file or directory | > | > I found libgcc_s.so.1 in /usr/local/lib and that directory is in | > $LD_LIBRARY_PATH. Is there anything that I'm missing here or that I | > need to look for in my configure settings? | | Is that directory in LD_LIBRARY_PATH when you're su'd to the | postgreSQL user? | | I added | | LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib; export | LD_LIBRARY_PATH | | to /etc/init.d/postgresql and created a .profile in its home directory | with that in it. | | Solved all those problems :). | | You can also solve such problems by using the -R switch during build | (man ld) and with Solaris 8/9's new "crle" utility. Jim ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org
"David Parker" <dparker@tazznetworks.com> wrote: > [snip] > > I am not running this under a separate username, so the LD_LIBRARY_PATH > set in my own .cshrc should apply, I would think. Does > /etc/init.d/postgresql still need to be modified, even if there is no > special postgresql user? [snip] /etc/init.d/postgresql? Erm, that's a system startup script, which will be run by root. You're not running pgsql as root, are you? Or you're saying pgsql is being run under your user i.d.? Either way: I think the answer to your question is "Yes." Anyway, you were talking about initdb, not postmaster startup at boot. If you're setting LD_LIBRARY_PATH and there's not a permissions problem, that should be sufficient. Jim
The reference to /etc/init.d/postgresql was taken from the posting you pointed me to - I was just trying to determine what part, if any, of that posting was relevant to my problem. Running configure with "--without-rpath" seems to have fixed the problem. Thanks. - DAP -----Original Message----- From: Jim Seymour [mailto:jseymour@linxnet.com] Sent: Tuesday, June 01, 2004 1:09 PM To: pgsql-admin@postgresql.org Subject: Re: [ADMIN] Error running initdb "David Parker" <dparker@tazznetworks.com> wrote: > [snip] > > I am not running this under a separate username, so the > LD_LIBRARY_PATH set in my own .cshrc should apply, I would think. Does > /etc/init.d/postgresql still need to be modified, even if there is no > special postgresql user? [snip] /etc/init.d/postgresql? Erm, that's a system startup script, which will be run by root. You're not running pgsql as root, are you? Or you're saying pgsql is being run under your user i.d.? Either way: I think the answer to your question is "Yes." Anyway, you were talking about initdb, not postmaster startup at boot. If you're setting LD_LIBRARY_PATH and there's not a permissions problem, that should be sufficient. Jim ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend