Date: Fri, 25 Oct 2002 23:32:04 -0700 From: Adam Weinberger <adamw@FreeBSD.ORG> To: Chip Wiegand <chip@wiegand.org> Cc: questions@FreeBSD.ORG Subject: Re: eterm build error Message-ID: <20021026063204.GC80277@vectors.cx> In-Reply-To: <20021025231741.492263e1.chip@wiegand.org> References: <3DBA277A.30801@wiegand.org> <20021026060416.GA80277@vectors.cx> <20021025231741.492263e1.chip@wiegand.org>
next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 >> (10.25.2002 @ 2317 PST): Chip Wiegand said, in 2.4K: << > Adam Weinberger wrote this stuff on Fri, 25 Oct 2002 23:04:16 -0700: > > In x11/eterm/Makefile, libast needs to bump the major revision. Change > > the part of LIB_DEPENDS that says "ast.1" to "ast.2" and redo your > > portinstall. > > > > - -Adam > > Thanks Adam, > that worked. How do you learn about something like that? Simple answer: read the porter's handbook. http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/index.html More explanatory answer: Hopefully it'll help explain a good ports diagnostic process... - From the log you gave, installing eterm made you build a dependency which was already installed. If you build x, but the ports system installs y, then y is a dependency of x. Part of the ports build is a list of things that are required to make the port work. The eterm Makefile has a list of libraries that eterm needs: LIB_DEPENDS= Imlib2.1:${PORTSDIR}/graphics/imlib2 \ ast.1:${PORTSDIR}/devel/libast "ast.1" means "look for the library libast.so.2". eterm also looks for libImlib2.so.1. Get it? Now, your log showed that your system built libast but it was already installed. Here's a little diagram: Build eterm -> Port needs libast.so.1 -> It doesn't exist -> Install libast -> It's already installed -> Barf. So, there can only be one of two problems: either libast.so.1 DOES exist and it's not being found (a transient linker error cuz you mucked with /etc/make.conf or ldd), or the more likely possibility: libast.so.1 doesn't exist. % monkey@smacky:~% pkg_info -L libast\*|grep \.so /usr/X11R6/include/libast/socket.h /usr/X11R6/lib/libast.so /usr/X11R6/lib/libast.so.2 or: % monkey@smacky:~% grep \.so /usr/ports/devel/libast/pkg-plist include/libast/socket.h lib/libast.so lib/libast.so.2 There's the problem: libast.so is up to version 2. Fix what eterm is looking for, and it'll stop digging in the wrong holes. Summary: If a port tries to install a package that's already installed, it's looking for a wrong library version number, or a file that doesn't exist. This usually happens because something is out of date. Find what it's looking for, and find out what it SHOULD be looking for. - -Adam - -- Adam Weinberger adam@vectors.cx adamw@FreeBSD.ORG -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.0 (FreeBSD) iD8DBQE9ujbko8KM2ULHQ/0RAs0RAJ9dOzzMukdHxF1Odie3PwIoBIYj0wCgtsDD sefX8FP27itsk1YXN6Ew41A= =uslD -----END PGP SIGNATURE----- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021026063204.GC80277>