From owner-freebsd-ports@FreeBSD.ORG Thu Feb 3 13:19:18 2011 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5AA891065670; Thu, 3 Feb 2011 13:19:18 +0000 (UTC) (envelope-from rhurlin@gwdg.de) Received: from amailer.gwdg.de (amailer.gwdg.de [134.76.10.18]) by mx1.freebsd.org (Postfix) with ESMTP id E372E8FC13; Thu, 3 Feb 2011 13:19:17 +0000 (UTC) Received: from wald.nfv.gwdg.de ([134.76.242.31] helo=pc028.nfv) by mailer.gwdg.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from ) id 1Pkz5g-0006Pe-CU; Thu, 03 Feb 2011 14:19:16 +0100 Message-ID: <4D4AAB54.9030001@gwdg.de> Date: Thu, 03 Feb 2011 14:19:16 +0100 From: Rainer Hurling User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; de-DE; rv:1.9.2.13) Gecko/20101221 Thunderbird/3.1.7 MIME-Version: 1.0 To: thierry@FreeBSD.org References: <4D49C48A.7080604@gwdg.de> <20110202212907.GC29365@graf.pompo.net> <4D4A9559.2010502@gwdg.de> <20110203133557.33003e7j1xacsls0@graf.pompo.net> In-Reply-To: <20110203133557.33003e7j1xacsls0@graf.pompo.net> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 8bit X-Authenticated: Id:rhurlin X-Spam-Level: - X-Virus-Scanned: (clean) by exiscan+sophie Cc: freebsd-ports@freebsd.org Subject: Re: net/mpich2: libraries with many 'undefined symbols' X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Feb 2011 13:19:18 -0000 Am 03.02.2011 13:35 (UTC+1) schrieb thierry@FreeBSD.org: > Selon Rainer Hurling le jeu 3 fév 12:45:29 2011 : > >>> These symbols belong to libmpl: >>> >>> nm -A /usr/local/lib/libmpl.a | grep MPL_ >>> >>> So you have to link with -lmpl (and maybe with -lopa too). >> >> I think I do understand this for software which uses MPICH2. >> >> With your suggestion I am able to build math/R package 'Rmpi' without >> errors any more and to install it. For this I only had to extend the >> configure script of the R package: >> >> -PKG_LIBS="-L${MPI_LIBPATH} -lmpich ${MPI_LIBS}" >> +PKG_LIBS="-L${MPI_LIBPATH} -lmpich -lmpl -lopa ${MPI_LIBS}" > > Great! > >> Sorry for my ignorance: >> Is it ok to have symbols like MPL_trfree, MPI_F_STATUS_IGNORE and >> others 'undefined' within libmpich? > > I think so: this is a design choice (by the authors). > >> Why are there symbol names visible in libmpich.a, but not in >> libmpich.so.2.0? Is this intended? > > No, the static libraries and the shared ones are identical. If you link > statically, you also need libmpl.a Ok, so I usually have to take care to link libraries like libmpl, libopa etc. in addition to libmpich (or using the wrappers if possible). >>> Another solution could be to link with mpicc and friends instead of >>> gcc/g++/gfortran, as these wrappers set the correct flags and link to >>> the correct libraries as required. >> >> Yes. I know of mpicc, mpic++, mpicxx and others. I tried to use them >> in my experimental port math/sprng, but it seems a little bit tricky. >> >>> Yet another solution could be to configure mpich2 with >>> --enable-lib-depend, but this is experimental... What would be the consequence of configuring mpich2 with --enable-lib-depend? Would dependencies like libmpl be more integrated in libmpich? >>> BTW, a new version has been released, and I have plan to upgrade it >>> after the ports thaw. >> >> Nice, looking forward to it. > > The new release installs more pkgconfig (.pc) files, thus it should > become easier to guess the correct flags and libs. > > Regards, Thanks again for your answers. They are very helpful to me. Rainer Hurling