Date: Wed, 2 Jan 2008 00:57:13 -0600 From: "Rick C. Petty" <rick-freebsd@kiwi-computer.com> To: freebsd-emulation@freebsd.org Cc: infofarmer@FreeBSD.org Subject: is graphics/linux-cairo broken? Message-ID: <20080102065713.GA67906@keira.kiwi-computer.com>
next in thread | raw e-mail | index | archive | help
Like many people, I upgrade my ports by building everything in a staging area using chroot(1). For the last few days I've had a terrible time with this process because I've been bumping into a problem with the graphics/linux-cairo port (there may be others??). I'm running 6.3-PRERELEASE and I've csup'd my world/kernel and staging area multiple times today. Here's the output when I hit linux-cairo: ===> Cleaning for linux-cairo-1.0.2 ===> Vulnerability check disabled, database not found ===> Extracting for linux-cairo-1.0.2 => MD5 Checksum OK for rpm/i386/fedora/4/cairo-1.0.2-2.gst.1.4.i386.rpm. => SHA256 Checksum OK for rpm/i386/fedora/4/cairo-1.0.2-2.gst.1.4.i386.rpm. ===> linux-cairo-1.0.2 depends on file: /usr/local/bin/rpm2cpio - found ===> Patching for linux-cairo-1.0.2 ===> Configuring for linux-cairo-1.0.2 ===> Installing for linux-cairo-1.0.2 ===> Generating temporary packing list ===> Checking if graphics/linux-cairo already installed cd /usr/ports/graphics/linux-cairo/work && /usr/bin/find * -type d -exec /bin/mkdir -p "/compat/linux/{}" \; cd /usr/ports/graphics/linux-cairo/work && /usr/bin/find * ! -type d | /usr/bin/cpio -pm -R root:wheel /compat/linux 1523 blocks ===> Running ldconfig /sbin/ldconfig -m /compat/linux/lib /libexec/ld-elf.so.1: Undefined symbol "__stdoutp" referenced from COPY relocation in /bin/sh *** Error code 1 Stop in /usr/ports/graphics/linux-cairo. ===>>> Installation of new port failed ===>>> Aborting update /libexec/ld-elf.so.1: Undefined symbol "__stdoutp" referenced from COPY relocation in ps /libexec/ld-elf.so.1: Undefined symbol "__stdinp" referenced from COPY relocation in rm /libexec/ld-elf.so.1: Undefined symbol "__stdinp" referenced from COPY relocation in rm ~~~~~~~~~~ Obviously any further commands break with similar undefined symbols. The problem is that FreeBSD's ldconfig is being run (instead of Linux's) to merge /compat/linux/lib in with the FreeBSD bits. Since I was thankfully running in a chroot, I can just remove the /var/run/ld-elf.so.hints file but I also have to remove /compat/linux/lib from my ldconfig directories. The FreeBSD libs shouldn't be mixing with the Linux libs, right? My guess is linux-cairo shouldn't be setting USE_LDCONFIG or it should redefine LDCONFIG to use ${LINUXBASE}/sbin/ldconfig and perhaps run it via chroot. If I'm correct, this isn't the only port which is broken. A bunch of other linux ports do something similar and in different ways (see "grep -i ldconfig /usr/ports/*/linux*/Makefile"). How come I'm the first to be hosed by this? Or maybe I'm missing something obvious? -- Rick C. Petty
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080102065713.GA67906>