Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 May 2009 17:26:06 -0700
From:      Chris Cowart <ccowart@rescomp.berkeley.edu>
To:        Yuri <yuri@rawbw.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Why so many ports have run-dependencies on non-system gcc versions?
Message-ID:  <20090522002606.GG49013@hal.rescomp.berkeley.edu>
In-Reply-To: <4A15EB1D.2070604@rawbw.com>
References:  <4A15EB1D.2070604@rawbw.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--RwGu8mu1E+uYXPWP
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Yuri wrote:
> When I tried to delete gcc-4.3.4_20090517 I got this message:
> pkg_delete: package 'gcc-4.3.4_20090517' is required by these other packa=
ges
> and may not be deinstalled:
> blas-1.0_3
> cgnslib-2.5.3_1
> fftw3-3.2
> fftw3-float-3.2_1
> fr-med-2.3.5
> getdp-1.2.1_7
> gmsh-2.3.1
> lapack-3.2.1
> libofa-0.9.3_3
> libsamplerate-0.1.7_1
> octave-3.0.5_1
> suitesparse-3.3.0
>=20
> When I tried to delete gcc-4.2.5_20090325 I got this:
> pkg_delete: package 'gcc-4.2.5_20090325' is required by these other packa=
ges
> and may not be deinstalled:
> pdftk-1.41
>=20
> Why all these ports depend on gcc?
> They may want to compile with different gcc therefore incurring the=20
> build-dependency.
> But why I can't now uninstall those gccs? Looks like they are all=20
> run-dependency.


gcc provides a shared library that some applications link to. Take for
example:

ccowart dev-aux bin $ ldd sabcmd=20
sabcmd:
        libsablot.so.70 =3D> /usr/local/lib/libsablot.so.70 (0x2807f000)
        libiconv.so.3 =3D> /usr/local/lib/libiconv.so.3 (0x28148000)
        libexpat.so.6 =3D> /usr/local/lib/libexpat.so.6 (0x2823d000)
        libstdc++.so.6 =3D> /usr/lib/libstdc++.so.6 (0x2825d000)
        libm.so.5 =3D> /lib/libm.so.5 (0x28352000)
        libgcc_s.so.1 =3D> /lib/libgcc_s.so.1 (0x28367000)
        libc.so.7 =3D> /lib/libc.so.7 (0x28372000)

I can see this as being a real reason why a particular gcc needs to be
around at runtime. Look at the dynamic linking information with ldd. If
it doesn't depend on a file provided by those versions of gcc, it's
probably an inaccuracy in the port's dependency list.

--=20
Chris Cowart
Network Technical Lead
Network & Infrastructure Services, RSSP-IT
UC Berkeley

--RwGu8mu1E+uYXPWP
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.10 (FreeBSD)

iQIcBAEBAwAGBQJKFfEdAAoJEIGh6j3cHUNPiJ4P/ix/gVgJM7mkxlWYh0lAumIs
qWUcwoKz2Oe/stJGv5wtDsNzHN03XFzKVRAyBOcINSoTjj4m4374JZpVRoUX1l4F
MahmioLuuHNxCaT8EMKaQhk6yYQ0iLXxdW/iIG4w6awOxyhGVg0V03uAiEXjA2KH
jG++1sbxh7lTrFThHVwYOJRuGSPcskV1ytedK95iUW80Lilb1f/eRsaACNGzjk6w
rcScf28qDDJgH8CLhuTB4Z55K9IwECzOKe6NeInSPntb0kw0Zyw8sAvbn6XAcWoE
VdrVI/3oAkzaQkbzVfLFaI952CWgo98YXOv4jZMJo2NH/1+nq7n3fa5sfzLgskG+
Dw59vUUPHMncVxDMLtADspthbuwbHrok+PLoaNE704zrorUlECL39vv3OGPDeHUH
8cNKmBIJdwjHaBf9vu/mI5h+JYkgylURPAUQXR11PA0FL74OALogvIWil1G9fpjp
fyVMC5OCTfxk1LrKKWXeYNfo2jU4K87HoOTPcHa25IpVDuI/FuEXsqZ24MWm/iKp
ddK6uQYzIez0srnTfeZ+vMRfptH0YwwMvpIPKc3mWD9/4DJGeY8Non6ik2dH7gbw
9rQGLhM4YhOn+AfdelbMgjlnb+dxfYl9WlAdBhUaMCgzeFpuIQxAxJuEQOORfEYS
k/c0S5fh2FmOzNX9tgOf
=MaK9
-----END PGP SIGNATURE-----

--RwGu8mu1E+uYXPWP--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090522002606.GG49013>