From owner-freebsd-ports@FreeBSD.ORG Mon Apr 27 19:56:50 2015 Return-Path: Delivered-To: ports@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 078D1AE5; Mon, 27 Apr 2015 19:56:50 +0000 (UTC) Received: from gw.catspoiler.org (unknown [IPv6:2001:4978:f:678::2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AA1781498; Mon, 27 Apr 2015 19:56:49 +0000 (UTC) Received: from FreeBSD.org (mousie.catspoiler.org [192.168.101.2]) by gw.catspoiler.org (8.13.3/8.13.3) with ESMTP id t3RJuaWd008600; Mon, 27 Apr 2015 12:56:40 -0700 (PDT) (envelope-from truckman@FreeBSD.org) Message-Id: <201504271956.t3RJuaWd008600@gw.catspoiler.org> Date: Mon, 27 Apr 2015 12:56:36 -0700 (PDT) From: Don Lewis Subject: Re: all those c++ ABI variations in ports To: db@db.net cc: ports@FreeBSD.org, gnome@FreeBSD.org, kwm@FreeBSD.org In-Reply-To: <20150427124935.GA89535@night.db.net> MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Apr 2015 19:56:50 -0000 On 27 Apr, Diane Bruce wrote: > A problem I have not seen noted here are ports that load run time modules. > > gnuradio is a case in point. The dependancies are all built (by default) > with stock clang++ & system libs but some of the runtime code it loads > for operation has modules compiled with gfortran. That should be a valid combination. Fortran is part of ports gcc, but code compiled with it doesn't link to libstdc++, so there should not be a conflict with code compiled with clang++ and linked to libc++. I haven't run into any issues with octave built with openblas, which is the combo that you describe. % ldd /usr/local/bin/octave /usr/local/bin/octave: libX11.so.6 => /usr/local/lib/libX11.so.6 (0x800823000) libutil.so.9 => /lib/libutil.so.9 (0x800b5c000) libm.so.5 => /lib/libm.so.5 (0x800d6e000) libc++.so.1 => /usr/lib/libc++.so.1 (0x800f96000) libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x801255000) libgcc_s.so.1 => /usr/local/lib/gcc48/libgcc_s.so.1 (0x801471000) libthr.so.3 => /lib/libthr.so.3 (0x801687000) libc.so.7 => /lib/libc.so.7 (0x8018ab000) libxcb.so.1 => /usr/local/lib/libxcb.so.1 (0x801c57000) librpcsvc.so.5 => /usr/lib/librpcsvc.so.5 (0x801e76000) libXau.so.6 => /usr/local/lib/libXau.so.6 (0x80207f000) libpthread-stubs.so.0 => /usr/local/lib/libpthread-stubs.so.0 (0x802281000) libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 (0x802482000) % ldd /usr/local/lib/octave/3.8.2/liboctave.so /usr/local/lib/octave/3.8.2/liboctave.so: libcurl.so.4 => /usr/local/lib/libcurl.so.4 (0x802341000) libumfpack.so.1 => /usr/local/lib/libumfpack.so.1 (0x8025aa000) libsuitesparseconfig.so.1 => /usr/local/lib/libsuitesparseconfig.so.1 (0x802858000) libcholmod.so.1 => /usr/local/lib/libcholmod.so.1 (0x802a59000) libamd.so.1 => /usr/local/lib/libamd.so.1 (0x802d43000) libcamd.so.1 => /usr/local/lib/libcamd.so.1 (0x802f4a000) libcolamd.so.1 => /usr/local/lib/libcolamd.so.1 (0x803152000) libccolamd.so.1 => /usr/local/lib/libccolamd.so.1 (0x803359000) libcxsparse.so.1 => /usr/local/lib/libcxsparse.so.1 (0x803564000) libarpack.so.1 => /usr/local/lib/libarpack.so.1 (0x80378f000) libqrupdate.so.1 => /usr/local/lib/libqrupdate.so.1 (0x803a27000) libfftw3_threads.so.3 => /usr/local/lib/libfftw3_threads.so.3 (0x803c3d000) libfftw3.so.3 => /usr/local/lib/libfftw3.so.3 (0x803e43000) libfftw3f_threads.so.3 => /usr/local/lib/libfftw3f_threads.so.3 (0x8041a8000) libfftw3f.so.3 => /usr/local/lib/libfftw3f.so.3 (0x8043ae000) libopenblasp.so => /usr/local/lib/libopenblasp.so (0x804800000) libreadline.so.8 => /lib/libreadline.so.8 (0x806576000) libncurses.so.8 => /lib/libncurses.so.8 (0x8067b9000) libpcre.so.1 => /usr/local/lib/libpcre.so.1 (0x806a06000) libgfortran.so.3 => /usr/local/lib/gcc48/libgfortran.so.3 (0x806c79000) libquadmath.so.0 => /usr/local/lib/gcc48/libquadmath.so.0 (0x806f90000) libutil.so.9 => /lib/libutil.so.9 (0x8071cb000) libc++.so.1 => /usr/lib/libc++.so.1 (0x8073dd000) libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x80769c000) libm.so.5 => /lib/libm.so.5 (0x8078b8000) libthr.so.3 => /lib/libthr.so.3 (0x807ae0000) libc.so.7 => /lib/libc.so.7 (0x800821000) libgcc_s.so.1 => /usr/local/lib/gcc48/libgcc_s.so.1 (0x807d04000) libssl.so.7 => /usr/lib/libssl.so.7 (0x807f1a000) libheimntlm.so.11 => /usr/lib/libheimntlm.so.11 (0x808186000) libhx509.so.11 => /usr/lib/libhx509.so.11 (0x80838c000) libcom_err.so.5 => /usr/lib/libcom_err.so.5 (0x8085d6000) libcrypto.so.7 => /lib/libcrypto.so.7 (0x8087d8000) libasn1.so.11 => /usr/lib/libasn1.so.11 (0x808bce000) libwind.so.11 => /usr/lib/libwind.so.11 (0x808e6b000) libheimbase.so.11 => /usr/lib/libheimbase.so.11 (0x809093000) libroken.so.11 => /usr/lib/libroken.so.11 (0x809297000) libcrypt.so.5 => /lib/libcrypt.so.5 (0x8094a9000) libz.so.6 => /lib/libz.so.6 (0x8096c9000) libkrb5.so.11 => /usr/lib/libkrb5.so.11 (0x8098df000) libgssapi.so.10 => /usr/lib/libgssapi.so.10 (0x809b57000) libgssapi_krb5.so.10 => /usr/lib/libgssapi_krb5.so.10 (0x809d60000) libheimipcc.so.11 => /usr/lib/private/libheimipcc.so.11 (0x809f7e000)