Date: Mon, 12 Sep 2011 13:05:27 -0700 From: Doug Barton <dougb@FreeBSD.org> To: lev@FreeBSD.org Cc: ports@FreeBSD.org Subject: Re: Print +REQUIRED_BY as tree? Message-ID: <4E6E6607.2030104@FreeBSD.org> In-Reply-To: <181642832.20110912235833@serebryakov.spb.ru> References: <503309410.20110912205856@serebryakov.spb.ru> <CA940116.21806%freebsdlists-ports@chillibear.com> <865325899.20110912230621@serebryakov.spb.ru> <4E6E60C7.90304@FreeBSD.org> <181642832.20110912235833@serebryakov.spb.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On 09/12/2011 12:58, Lev Serebryakov wrote: > How could I determine which ports are directly lined with libgcc from > gcc44? ldd? Yes, that's really the only answer. I have the following function which would work: old_libs () { local file nf; [ -e ~/old-lib-list ] && unlink ~/old-lib-list; cd /usr/local/ || { echo 'cd to /usr/local/ failed'; return 1 }; for file in `find GNUstep bin lib* sbin -type f 2>/dev/null`; do case "$file" in lib\/firefox* | lib\/linux-* | lib\/thunderbird*) continue ;; esac; if nf=`ldd -a $file 2>/dev/null | egrep "(not found|${1:-asjklssafjklasdfjkl})"`; then echo $file; echo $nf; echo ''; fi; done > ~/old-lib-list; cd -; if [ ! -s ~/old-lib-list ]; then echo 'Nothing found'; unlink ~/old-lib-list; fi } You could run old_libs <name of libgcc> and it would tell you which things are linked against it. Alternatively you could do the following with portmaster: portmaster -o lang/gcc45 gcc-4.4 portmaster -R -r gcc-4.5 hth, Doug -- Nothin' ever doesn't change, but nothin' changes much. -- OK Go Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E6E6607.2030104>