From owner-freebsd-ports@FreeBSD.ORG Mon Aug 12 19:15:52 2013 Return-Path: Delivered-To: freebsd-ports@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 39E534BF for ; Mon, 12 Aug 2013 19:15:52 +0000 (UTC) (envelope-from bsam@passap.ru) Received: from forward3h.mail.yandex.net (forward3h.mail.yandex.net [IPv6:2a02:6b8:0:f05::3]) by mx1.freebsd.org (Postfix) with ESMTP id E3A952557 for ; Mon, 12 Aug 2013 19:15:51 +0000 (UTC) Received: from smtp2h.mail.yandex.net (smtp2h.mail.yandex.net [84.201.187.145]) by forward3h.mail.yandex.net (Yandex) with ESMTP id 9EB6513618DB for ; Mon, 12 Aug 2013 23:15:49 +0400 (MSK) Received: from smtp2h.mail.yandex.net (localhost [127.0.0.1]) by smtp2h.mail.yandex.net (Yandex) with ESMTP id 707971701A92 for ; Mon, 12 Aug 2013 23:15:49 +0400 (MSK) Received: from 93.91.10.81.tel.ru (93.91.10.81.tel.ru [93.91.10.81]) by smtp2h.mail.yandex.net (nwsmtp/Yandex) with ESMTP id xHJQZpZVL3-Fn5mx9pZ; Mon, 12 Aug 2013 23:15:49 +0400 Message-ID: <52093464.2030601@passap.ru> Date: Mon, 12 Aug 2013 23:15:48 +0400 From: Boris Samorodov Organization: =?UTF-8?B?0JfQkNCeICLQktCQ0KDQoiI=?= User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130806 Thunderbird/17.0.7 MIME-Version: 1.0 To: FreeBSD ports list Subject: How to create lib (and run) dependency list at Makefile Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Aug 2013 19:15:52 -0000 Hi All, recently I've upgaded my ports. Then I get: ----- % pkg_libchk -a rasqal-0.9.30: /usr/local/bin/roqet misses libcurl.so.6 rasqal-0.9.30: /usr/local/lib/librasqal.so.3 misses libcurl.so.6 ----- So, I assume that textproc/rasqal was not bumped after ftp/curl update. The dependency was not specified. I tested a patch and filed a PR. But while working with port I get strange (at least to me) results. The binary file which is installed by textproc/rasqal is bin/roqet. Let's see which libraries (installed from ports) it uses: ----- % ldd -f '%p\n' /usr/local/bin/roqet | grep '/usr/local' /usr/local/lib/librasqal.so.3 /usr/local/lib/libraptor2.so.0 /usr/local/lib/libicuuc.so.50 /usr/local/lib/libxslt.so.2 /usr/local/lib/libyajl.so.2 /usr/local/lib/libxml2.so.5 /usr/local/lib/libiconv.so.3 /usr/local/lib/libcurl.so.7 /usr/local/lib/libicudata.so.50 ----- That means this file depends upon (origins): ----- converters/libiconv devel/icu devel/yajl ftp/curl textproc/libxml2 textproc/libxslt textproc/raptor2 ----- Am I right that those ports should be specified as LIB (or RUN) dependencies for textproc/rasqal? Here is the current run dependencies (for the whole port, not just one binary file!): ----- % make -C /usr/ports/textproc/rasqal run-depends-list /usr/ports/devel/pcre /usr/ports/textproc/raptor2 ----- Seems that I'm mistaken somewhere, because 6(!) library dependencies are not registered! PS. All those ports shows up as indirect dependencies (checked with 'make all-depends-list'). But imho they should be a _direct_ ones. Am I wrong here? Thanks! -- WBR, Boris Samorodov (bsam) FreeBSD Committer, http://www.FreeBSD.org The Power To Serve