Thread: BUG #1807: cannot build postgresql: libascii_and_mic.so.0.0: No such file or directory
BUG #1807: cannot build postgresql: libascii_and_mic.so.0.0: No such file or directory
From
"Janet Hempstead"
Date:
The following bug has been logged online: Bug reference: 1807 Logged by: Janet Hempstead Email address: hempsteadj@rogers.com PostgreSQL version: 8.0.3 Operating system: Solaris 9 (sparc) Description: cannot build postgresql: libascii_and_mic.so.0.0: No such file or directory Details: I am trying to build postgresql 8.0.3 on a Sun Ultra 5 running Solaris 9. I have the Sunfreeware (small) version of gcc 3.3.2 installed. I have searched and I cannot find a similar problem report and I have been unable to resolve this compile problem (although I think it is in the order that things are specified on the gcc line). I cannot add -m64 to the compile line because there are other Sunfreeware packages installed that are not 64-bit-enabled (I think it was readline): is this *really* the problem? Here is my ./configure invocation: export LDFLAGS='-L /usr/lib -L /usr/local/lib -L /usr/local/ssl/lib' export CPPFLAGS='-fPIC -I /usr/include -I /usr/local/include -I /usr/local/ssl/include' export CFLAGS='-fPIC -I /usr/include -I /usr/local/include -I /usr/local/ssl/include' export CXXFLAGS=$CFLAGS export LDFLAGS_SL='' ./configure \ --with-openssl \ --with-pam \ --with-perl \ --enable-thread-safety \ --disable-nls Here is the context of the error message: -Wmissing-prototypes -Wpointer-arith -Wendif-labels -fno-strict-aliasing -fPIC -I../../../../../../src/include -fPIC -I /usr/include -I /usr/local/include -I /usr/local/ssl/include -c -o ascii_and_mic.o ascii_and_mic.c gcc -shared -h libascii_and_mic.so.0 ascii_and_mic.o -L../../../../../../src/port -L -L -L -o libascii_and_mic.so.0.0 gcc: libascii_and_mic.so.0.0: No such file or directory make[3]: *** [libascii_and_mic.so.0.0] Error 1 make[3]: Leaving directory `/lib001/postgresql-8.0.3/src/backend/utils/mb/conversion_procs/ascii_and_mi c' make[2]: *** [all] Error 2 make[2]: Leaving directory `/lib001/postgresql-8.0.3/src/backend/utils/mb/conversion_procs' make[1]: *** [all] Error 2 make[1]: Leaving directory `/lib001/postgresql-8.0.3/src' make: *** [all] Error 2 I am probably doing something really stupid; please let me know. Thanks! Janet
Re: BUG #1807: cannot build postgresql: libascii_and_mic.so.0.0: No such file or directory
From
Tom Lane
Date:
"Janet Hempstead" <hempsteadj@rogers.com> writes: > I am trying to build postgresql 8.0.3 on a Sun Ultra 5 running Solaris 9. > ... > export LDFLAGS='-L /usr/lib -L /usr/local/lib -L /usr/local/ssl/lib' > ... > gcc -shared -h libascii_and_mic.so.0 ascii_and_mic.o > -L../../../../../../src/port -L -L -L -o libascii_and_mic.so.0.0 > gcc: libascii_and_mic.so.0.0: No such file or directory Hmm ... I think what happened here is that the first -L ate the second -L as argument, and then the third -L ate the -o, leaving libascii_and_mic.so.0.0 looking like an input filename rather than an output filename to gcc. But this is of course only the symptom --- the question is how did those argument-less -L switches get into the command line? I'm guessing that your LDFLAGS switch got munged into this. The recommended, supported way of specifying library directories is not through LDFLAGS, but like this: configure ... --with-libs=/usr/lib:/usr/local/lib:/usr/local/ssl/lib I think that your LDFLAGS approach might have worked if you'd left out the spaces between the -L's and the directories, but given the way we whack LDFLAGS around in the makefiles, it definitely won't work with spaces :-( regards, tom lane