Ticket #199 (closed defect: invalid)

Opened 10 years ago

Last modified 10 years ago

problems installing com_err on ppc64

Reported by: corsair Owned by: ciaranm
Priority: Sometime Milestone:
Component: clients/paludis Version: 0.22.2
Keywords: Cc:
Blocked By: Blocking:
Distribution:

Description

hello,

I'm using paludis 0.22.2 in a chroot on my ppc64 machine. unfortunately sys-libs/com_err-1.39 does not install:

[...]
>>> Starting src_install
make: Entering directory `/var/tmp/paludis/sys-libs/com_err-1.39/work/e2fsprogs-1.39/lib/et'
	MKINSTALLDIRS /usr/lib /usr/lib
mkdir /var/tmp/paludis/sys-libs/com_err-1.39/image/usr
mkdir /var/tmp/paludis/sys-libs/com_err-1.39/image/usr/lib
	INSTALL-ELF-LIB /usr/lib/libcom_err.so.2.1
	SYMLINK /usr/lib/libcom_err.so.2
	SYMLINK /usr/lib/libcom_err.so
	LDCONFIG
	MKINSTALLDIRS /usr/lib /usr/include/et /usr/share/et /usr/bin /usr/share/man/man1 /usr/share/man/man3
mkdir /var/tmp/paludis/sys-libs/com_err-1.39/image/usr/include
mkdir /var/tmp/paludis/sys-libs/com_err-1.39/image/usr/include/et
mkdir /var/tmp/paludis/sys-libs/com_err-1.39/image/usr/share
mkdir /var/tmp/paludis/sys-libs/com_err-1.39/image/usr/share/et
mkdir /var/tmp/paludis/sys-libs/com_err-1.39/image/usr/bin
mkdir /var/tmp/paludis/sys-libs/com_err-1.39/image/usr/share/man
mkdir /var/tmp/paludis/sys-libs/com_err-1.39/image/usr/share/man/man1
mkdir /var/tmp/paludis/sys-libs/com_err-1.39/image/usr/share/man/man3
mkdir /var/tmp/paludis/sys-libs/com_err-1.39/image/usr/lib/pkgconfig
	INSTALL_DATA /usr/lib/libcom_err.a
	INSTALL_DATA /usr/include/et/com_err.h
	INSTALL_DATA /usr/share/et/et_c.awk
	INSTALL_DATA /usr/share/et/et_h.awk
	INSTALL_SCRIPT /usr/bin/compile_et
	INSTALL_DATA /usr/share/man/man3/com_err.3
	INSTALL_DATA /usr/share/man/man1/compile_et.1
	INSTALL_DATA /usr/lib/pkgconfig/com_err.pc
make: Leaving directory `/var/tmp/paludis/sys-libs/com_err-1.39/work/e2fsprogs-1.39/lib/et'
mv: cannot stat `/var/tmp/paludis/sys-libs/com_err-1.39/image//usr/lib64/*.so*': No such file or directory

!!! ERROR in sys-libs/com_err-1.39:
!!! In src_install at line 3452
!!! move .so

!!! Call stack:
!!!    * src_install (/var/tmp/paludis/sys-libs/com_err-1.39/temp/loadsaveenv:3452)
!!!    * ebuild_f_install (/usr/libexec/paludis/src_install.bash:48)
!!!    * ebuild_main (/usr/libexec/paludis/ebuild.bash:354)
!!!    * main (/usr/libexec/paludis/ebuild.bash:372)

die trap: exiting with error.

Install error:
  * In program paludis com_err -i:
  * When performing install action from command line:
  * When executing install task:
  * When installing 'sys-libs/com_err-1.39':
  * Install error: Install failed for 'sys-libs/com_err-1.39::gentoo'

here is the directory structure using paludis:

(chroot) G5 ~ # ls -l /var/tmp/paludis/sys-libs/com_err-1.39/image/usr/
total 20
drwxr-xr-x 2 root root 4096 2007-04-20 19:05 bin
drwxr-xr-x 3 root root 4096 2007-04-20 19:05 include
drwxr-xr-x 3 root root 4096 2007-04-20 19:05 lib
drwxr-xr-x 2 root root 4096 2007-04-20 19:05 lib64
drwxr-xr-x 4 root root 4096 2007-04-20 19:05 share
(chroot) G5 ~ # ls -l /var/tmp/paludis/sys-libs/com_err-1.39/image/usr/lib64/
total 48
-rw-r--r-- 1 root root 45300 2007-04-20 19:05 libcom_err.a
(chroot) G5 ~ # ls -l /var/tmp/paludis/sys-libs/com_err-1.39/image/usr/lib/
total 84
-r--r--r-- 1 root root 45300 2007-04-20 19:05 libcom_err.a
lrwxrwxrwx 1 root root    15 2007-04-20 19:05 libcom_err.so -> libcom_err.so.2
lrwxrwxrwx 1 root root    17 2007-04-20 19:05 libcom_err.so.2 -> libcom_err.so.2.1
-rwxr-xr-x 1 root root 29844 2007-04-20 19:05 libcom_err.so.2.1
drwxr-xr-x 2 root root  4096 2007-04-20 19:05 pkgconfig
(chroot) G5 ~ #

and here is the directory structure using portage (after 'ebuild ... install'):

G5 ~ # ls -l /var/tmp/portage/sys-libs/com_err-1.39/image/lib64/ -l
total 68
lrwxrwxrwx 1 root root    15 2007-04-20 19:12 libcom_err.so -> libcom_err.so.2
lrwxrwxrwx 1 root root    17 2007-04-20 19:12 libcom_err.so.2 -> libcom_err.so.2.1
-rwxr-xr-x 1 root root 75880 2007-04-20 19:12 libcom_err.so.2.1

as you can see the library is in the wrong place using paludis.

Change History

comment:1 Changed 10 years ago by corsair

whoops.. wrong directory listing for portage. here is the correct one:

G5 ~ # ls -l /var/tmp/portage/sys-libs/com_err-1.39/image/usr/lib64/
total 20
-rw-r--r-- 1 root root 13388 2007-04-20 19:12 libcom_err.a
-rwxr-xr-x 1 root root   331 2007-04-20 19:12 libcom_err.so
drwxr-xr-x 2 root root    23 2007-04-20 19:12 pkgconfig

comment:2 Changed 10 years ago by corsair

same happens with sys-libs/ss-1.39, sys-fs/e2fsprogs-1.39 and sys-libs/cracklib-2.8.9-r1.

comment:3 Changed 10 years ago by ciaranm

What profile? Last time we saw this it was because people were using amd64 parent profiles rather than leaf profiles and so weren't getting a proper environment for libdir things.

comment:4 Changed 10 years ago by corsair

  • Summary changed from problems installing com_err on ppc64 (get_libdir problem?) to problems installing com_err on ppc64

I have set this in /etc/paludis/repositories/gentoo.conf:

profiles = ${ROOT}/usr/portage/profiles/default-linux/ppc/ppc64/2007.0/64bit-userland/970/pmac

Although I think this is not a $(get_libdir) problem. In the ebuild there is this line:

mv "${D}"/usr/$(get_libdir)/*.so* "${D}"/$(get_libdir)/ || die "move .so"

and paludis wants to:

mv: cannot stat `/var/tmp/paludis/sys-libs/ss-1.39/image//usr/lib64/*.so*': No such file or directory

'lib64' is correct, but the "make install" phase from ss copies/links the libraries to 'lib' instead of 'lib64':

[...]
>>> Starting src_install
make: Entering directory `/var/tmp/paludis/sys-libs/ss-1.39/work/e2fsprogs-1.39/lib/ss'
	MKINSTALLDIRS /usr/lib /usr/lib
mkdir /var/tmp/paludis/sys-libs/ss-1.39/image/usr/lib
	INSTALL-ELF-LIB /usr/lib/libss.so.2.0
	SYMLINK /usr/lib/libss.so.2
	SYMLINK /usr/lib/libss.so
[...]

P.S.: ss as an example. same for the other packages.

comment:5 Changed 10 years ago by ciaranm

Can you compare the ./configure calls made by Portage and Paludis please?

comment:6 Changed 10 years ago by corsair

paludis:

./configure --prefix=/usr --host=powerpc64-unknown-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --enable-elf-shlibs --with-ldopts= --enable-nls --build=powerpc64-unknown-linux-gnu

portage:

./configure --prefix=/usr --host=powerpc64-unknown-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --enable-elf-shlibs --with-ldopts= --enable-nls --libdir=/usr/lib64 --build=powerpc64-unknown-linux-gnu

=> portage adds "--libdir=/usr/lib64"

comment:7 Changed 10 years ago by ciaranm

        local libcmd=
        if [[ -n "${ABI}" ]] ; then
            local v="LIBDIR_${ABI}"
            if [[ -n "${!v}" ]] ; then
                libcmd="--libdir=${ECONF_PREFIX}/$(ebuild_get_libdir)"
            fi
        fi

Mmm, I'm guessing ABI isn't getting defined by the profile.

comment:8 Changed 10 years ago by corsair

  • Status changed from new to closed
  • Resolution set to invalid

yes, you are right. doing an "export ABI=ppc64" before "paludis -i ss" fixed the problem.

So we have to fix the ppc64 profiles. Thanks a lot for this hint!

Note: See TracTickets for help on using tickets.