OpenCSW Bug Tracker


Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0003929 [libpq] packaging minor always 2009-09-30 11:16 2009-09-30 14:12
Reporter alexs77 View Status public  
Assigned To dam
Priority normal Resolution won't fix  
Status closed  
Summary 0003929: libpq installs only partially - not checking if postgresql binaries exists
Description While installing libpq-8.3.1,REV=2008.05.02-SunOS5.8-sparc-CSW.pkg with pkgutil:

/opt/csw/postgresql/bin/ecpg <linked pathname>
ERROR: attribute verification of </opt/csw/postgresql/bin/ecpg> failed
    pathname does not exist
    unable to create link to </opt/csw/bin/isaexec>
/opt/csw/postgresql/bin/pg_config <linked pathname>
ERROR: attribute verification of </opt/csw/postgresql/bin/pg_config> failed
    pathname does not exist
    unable to create link to </opt/csw/bin/isaexec>

Installation of <CSWlibpq> partially failed.

There's no /opt/csw/postgresql directory on my system. I don't use postgresql and am not planing to use it.
Additional Information
Tags No tags attached.
Attached Files

- Relationships

-  Notes
(0006775)
dam (administrator)
2009-09-30 11:27

The directory /opt/csw/postgresql should be installed from the package as libpq belongs to postgres. Apart from that is looks like it can't find isaexec. Do you have CSWisaexec installed and /opt/csw/bin/isaexec is in place?
(0006779)
alexs77 (reporter)
2009-09-30 12:03

I don't have postgres installed. I also didn't uninstall it. I suppose libpq got installed to satisfy some dependency - having had a look at http://www.opencsw.org/packages/libpq, [^] I suppose it's because of CSWnagiosp. There's no need for CSWpostgresql and there's also no Dependency set for CSWlibpq ? CSWpostgresql. Please do *NOT* add one! Apps can work fine without the main package.

CSWisaexec is installed.

--($ /etc/opt/csw/nagios)-- ls -la /opt/csw/bin/isaexec
-r-xr-xr-x 24 root bin 10044 Jan 23 2005 /opt/csw/bin/isaexec
(0006781)
dam (administrator)
2009-09-30 13:18

The directory /opt/csw/postgresql should be created during installation of CSWlibpq. Strange. Please try adding the package manually after download it with 'pkg-get -d libpq' and see why it is failing there.
(0006782)
alexs77 (reporter)
2009-09-30 13:29

Oh.

There's of course a /opt/csw/postgresql directory (my mistake, sorry!):

--($ ~/src)-- ls -la /opt/csw/postgresql/
total 10
drwxr-xr-x 5 root bin 5 Sep 30 13:26 .
drwxr-xr-x 21 root bin 24 Sep 30 13:26 ..
drwxr-xr-x 4 root bin 6 Sep 30 13:26 bin
drwxr-xr-x 4 root bin 18 Sep 30 13:26 include
drwxr-xr-x 3 root bin 35 Sep 30 13:26 lib

So, it just fails to create the link?


Here's the full output of running pkgadd:

--($ ~/src)-- sudo env LC_ALL=C LANG=C pkgadd -d libpq-8.3.1\,REV\=2008.05.02-SunOS5.8-sparc-CSW.pkg

The following packages are available:
  1 CSWlibpq libpq - libraries needed by postgresql server and clients
                  (sparc) 8.3.1,REV=2008.05.02

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]:

Processing package instance <CSWlibpq> from </export/home/webservd/src/libpq-8.3.1,REV=2008.05.02-SunOS5.8-sparc-CSW.pkg>

libpq - libraries needed by postgresql server and clients(sparc) 8.3.1,REV=2008.05.02
PostgreSQL Database Management System
(formerly known as Postgres, then as Postgres95)

Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group

Portions Copyright (c) 1994, The Regents of the University of California

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose, without fee, and without a written agreement
is hereby granted, provided that the above copyright notice and this
paragraph and the following two paragraphs appear in all copies.

IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO
PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
## Executing checkinstall script.
## Processing package information.
## Processing system information.
   1 package pathname is already properly installed.
## Verifying package dependencies.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.

Installing libpq - libraries needed by postgresql server and clients as <CSWlibpq>

## Installing part 1 of 1.
/opt/csw/postgresql/bin/pg_config32 <symbolic link>
/opt/csw/postgresql/bin/pg_config64 <symbolic link>
/opt/csw/postgresql/bin/sparcv8/ecpg
/opt/csw/postgresql/bin/sparcv8/pg_config
/opt/csw/postgresql/bin/sparcv9/ecpg
/opt/csw/postgresql/bin/sparcv9/pg_config
/opt/csw/postgresql/include/ecpgerrno.h
/opt/csw/postgresql/include/ecpglib.h
/opt/csw/postgresql/include/ecpgtype.h
/opt/csw/postgresql/include/internal/libpq-int.h
/opt/csw/postgresql/include/internal/pqexpbuffer.h
/opt/csw/postgresql/include/libpq-fe.h
/opt/csw/postgresql/include/libpq/libpq-fs.h
/opt/csw/postgresql/include/pg_config.h
/opt/csw/postgresql/include/pg_config_os.h
/opt/csw/postgresql/include/pgtypes_date.h
/opt/csw/postgresql/include/pgtypes_error.h
/opt/csw/postgresql/include/pgtypes_interval.h
/opt/csw/postgresql/include/pgtypes_numeric.h
/opt/csw/postgresql/include/pgtypes_timestamp.h
/opt/csw/postgresql/include/postgres_ext.h
/opt/csw/postgresql/include/sql3types.h
/opt/csw/postgresql/include/sqlca.h
/opt/csw/postgresql/lib/32 <symbolic link>
/opt/csw/postgresql/lib/64 <symbolic link>
/opt/csw/postgresql/lib/libecpg.a
/opt/csw/postgresql/lib/libecpg.so <symbolic link>
/opt/csw/postgresql/lib/libecpg.so.4 <symbolic link>
/opt/csw/postgresql/lib/libecpg.so.4.2
/opt/csw/postgresql/lib/libecpg.so.5
/opt/csw/postgresql/lib/libecpg.so.5.1
/opt/csw/postgresql/lib/libecpg.so.5.2
/opt/csw/postgresql/lib/libecpg.so.6 <symbolic link>
/opt/csw/postgresql/lib/libecpg.so.6.0
/opt/csw/postgresql/lib/libecpg_compat.so.2
/opt/csw/postgresql/lib/libecpg_compat.so.2.2
/opt/csw/postgresql/lib/libpgtypes.a
/opt/csw/postgresql/lib/libpgtypes.so <symbolic link>
/opt/csw/postgresql/lib/libpgtypes.so.1 <symbolic link>
/opt/csw/postgresql/lib/libpgtypes.so.1.2
/opt/csw/postgresql/lib/libpgtypes.so.2
/opt/csw/postgresql/lib/libpgtypes.so.2.1
/opt/csw/postgresql/lib/libpgtypes.so.2.2
/opt/csw/postgresql/lib/libpgtypes.so.3 <symbolic link>
/opt/csw/postgresql/lib/libpgtypes.so.3.0
/opt/csw/postgresql/lib/libpq.a
/opt/csw/postgresql/lib/libpq.so <symbolic link>
/opt/csw/postgresql/lib/libpq.so.3 <symbolic link>
/opt/csw/postgresql/lib/libpq.so.3.2
/opt/csw/postgresql/lib/libpq.so.4 <symbolic link>
/opt/csw/postgresql/lib/libpq.so.4.1
/opt/csw/postgresql/lib/libpq.so.5 <symbolic link>
/opt/csw/postgresql/lib/libpq.so.5.0
/opt/csw/postgresql/lib/libpq.so.5.1
/opt/csw/postgresql/lib/sparcv8 <symbolic link>
/opt/csw/postgresql/lib/sparcv9/libecpg.a
/opt/csw/postgresql/lib/sparcv9/libecpg.so <symbolic link>
/opt/csw/postgresql/lib/sparcv9/libecpg.so.4 <symbolic link>
/opt/csw/postgresql/lib/sparcv9/libecpg.so.4.2
/opt/csw/postgresql/lib/sparcv9/libecpg.so.5
/opt/csw/postgresql/lib/sparcv9/libecpg.so.5.1
/opt/csw/postgresql/lib/sparcv9/libecpg.so.5.2
/opt/csw/postgresql/lib/sparcv9/libecpg.so.6 <symbolic link>
/opt/csw/postgresql/lib/sparcv9/libecpg.so.6.0
/opt/csw/postgresql/lib/sparcv9/libecpg_compat.so.2
/opt/csw/postgresql/lib/sparcv9/libecpg_compat.so.2.2
/opt/csw/postgresql/lib/sparcv9/libpgtypes.a
/opt/csw/postgresql/lib/sparcv9/libpgtypes.so <symbolic link>
/opt/csw/postgresql/lib/sparcv9/libpgtypes.so.1 <symbolic link>
/opt/csw/postgresql/lib/sparcv9/libpgtypes.so.1.2
/opt/csw/postgresql/lib/sparcv9/libpgtypes.so.2
/opt/csw/postgresql/lib/sparcv9/libpgtypes.so.2.1
/opt/csw/postgresql/lib/sparcv9/libpgtypes.so.2.2
/opt/csw/postgresql/lib/sparcv9/libpgtypes.so.3 <symbolic link>
/opt/csw/postgresql/lib/sparcv9/libpgtypes.so.3.0
/opt/csw/postgresql/lib/sparcv9/libpq.a
/opt/csw/postgresql/lib/sparcv9/libpq.so <symbolic link>
/opt/csw/postgresql/lib/sparcv9/libpq.so.3 <symbolic link>
/opt/csw/postgresql/lib/sparcv9/libpq.so.3.2
/opt/csw/postgresql/lib/sparcv9/libpq.so.4 <symbolic link>
/opt/csw/postgresql/lib/sparcv9/libpq.so.4.1
/opt/csw/postgresql/lib/sparcv9/libpq.so.5 <symbolic link>
/opt/csw/postgresql/lib/sparcv9/libpq.so.5.0
/opt/csw/postgresql/lib/sparcv9/libpq.so.5.1
[ verifying class <none> ]
/opt/csw/postgresql/bin/ecpg <linked pathname>
ERROR: attribute verification of </opt/csw/postgresql/bin/ecpg> failed
    pathname does not exist
    unable to create link to </opt/csw/bin/isaexec>
/opt/csw/postgresql/bin/pg_config <linked pathname>
ERROR: attribute verification of </opt/csw/postgresql/bin/pg_config> failed
    pathname does not exist
    unable to create link to </opt/csw/bin/isaexec>

Installation of <CSWlibpq> partially failed.
(0006783)
dam (administrator)
2009-09-30 13:35

Ok, and /opt/csw/bin/isaexec is there?
Please try "truss -f pkgadd ... 2>&1 | grep isaexec" to see how it fails.
(0006784)
alexs77 (reporter)
2009-09-30 13:53

Yes, isexec exists:

--($ ~/src)-- ls -la /opt/csw/bin/isaexec
-r-xr-xr-x 24 root bin 10044 Jan 23 2005 /opt/csw/bin/isaexec

--($ ~/src)-- sudo env LC_ALL=C LANG=C truss -fo /tmp/pkgadd.truss pkgadd -d libpq-8.3.1\,REV\=2008.05.02-SunOS5.8-sparc-CSW.pkg
[...]
--($ ~/src)-- grep isaexec /tmp/pkgadd.truss
17744: open("/var/sadm/pkg/CSWisaexec/pkginfo", O_RDONLY) = 11
17744: access("/var/sadm/pkg/.save.CSWisaexec/pkginfo", F_OK) Err#2 ENOENT
17744: access("/var/sadm/pkg/CSWisaexec/pkginfo", F_OK) = 0
17744: open("/var/sadm/pkg/CSWisaexec/pkginfo", O_RDONLY) = 11
17744: access("/var/sadm/pkg/CSWisaexec/!I-Lock!", F_OK) Err#2 ENOENT
17744: access("/var/sadm/pkg/CSWisaexec/!R-Lock!", F_OK) Err#2 ENOENT
17744: stat64("/opt/csw/bin/isaexec", 0xFFBFCFC0) = 0
17744: link("/opt/csw/bin/isaexec", "/opt/csw/postgresql/bin/ecpg") Err#18 EXDEV
17744: stat64("/opt/csw/bin/isaexec", 0xFFBFCFC0) = 0
17744: link("/opt/csw/bin/isaexec", "/opt/csw/postgresql/bin/pg_config") Err#18 EXDEV

You're trying to create a hardlink?

That won't work:

--($ ~/src)-- zfs list | grep csw
data/zones/race-monitoring/ds/opt/csw 356M 314G 23.0M /opt/csw
data/zones/race-monitoring/ds/opt/csw/X11 4.50M 314G 4.50M /opt/csw/X11
data/zones/race-monitoring/ds/opt/csw/apache2 7.73M 314G 7.73M /opt/csw/apache2
data/zones/race-monitoring/ds/opt/csw/bdb4 38.6K 314G 38.6K /opt/csw/bdb4
data/zones/race-monitoring/ds/opt/csw/bdb44 41.3K 314G 41.3K /opt/csw/bdb44
data/zones/race-monitoring/ds/opt/csw/bin 41.1M 314G 41.1M /opt/csw/bin
data/zones/race-monitoring/ds/opt/csw/etc 430K 314G 430K /opt/csw/etc
data/zones/race-monitoring/ds/opt/csw/gcc4 78.9M 314G 78.9M /opt/csw/gcc4
data/zones/race-monitoring/ds/opt/csw/include 2.89M 314G 2.89M /opt/csw/include
data/zones/race-monitoring/ds/opt/csw/lib 98.2M 314G 98.2M /opt/csw/lib
data/zones/race-monitoring/ds/opt/csw/libexec 3.18M 314G 3.18M /opt/csw/libexec
data/zones/race-monitoring/ds/opt/csw/sbin 1.11M 314G 1.11M /opt/csw/sbin
data/zones/race-monitoring/ds/opt/csw/share 95.3M 314G 95.3M /opt/csw/share
data/zones/race-monitoring/ds/opt/csw/ssl 36.0K 314G 36.0K /opt/csw/ssl
data/zones/race-monitoring/ds/opt/csw/var 24.0K 314G 24.0K /opt/csw/var

IOW: /opt/csw/bin and /opt/csw (and thus /opt/csw/postgresql) are seperate filesystems.

Does it HAVE TO be a hardlink? Why no symlink?
(0006785)
dam (administrator)
2009-09-30 13:59

It is customary to make hardlinks to isaexec, although there is no direct necessity. The behaviour is duplicated from the Sun configuration where isaexec lives in /usr/lib/isaexec. Splitting off /bin is really uncustomary and I would discourage excessive filesystem splits. If you really want you can make /opt/csw/var a separate filesystem, everything else below /opt/csw should stay in one filesystem.
(0006786)
alexs77 (reporter)
2009-09-30 14:02
edited on: 2009-09-30 14:02

Okay. Understood. Going to merge together everything in "csw" filesystem. After that, I am very confident that the package is going to install cleanly.

You may go ahead and close the issue now already.

BTW: Thanks for your fast reponses and help!



Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker