All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Böszörményi Zoltán" <zboszor@gmail.com>
To: openembedded-devel@lists.openembedded.org
Cc: Khem Raj <raj.khem@gmail.com>
Subject: Re: [meta-oe][PATCH v3] mpich: Upgrade to 4.1.1
Date: Wed, 7 Jun 2023 09:28:02 +0200	[thread overview]
Message-ID: <8b2cdabf-7e71-bb12-ce14-eefea762c403@gmail.com> (raw)
In-Reply-To: <20230607072321.589315-1-zboszor@gmail.com>

2023. 06. 07. 9:23 keltezéssel, Zoltán Böszörményi írta:
> mpich 4.1+ has its own official way to allow cross-compiling,
> use it.
>
> Remove the old PACKAGECONFIG[x11], the configuration option
> does not exist anymore.
>
> Add PACKAGECONFIG knobs to allow building the C++ and FORTRAN
> parts. Both are needed by intel-oneapi-mkl in meta-intel. Don't
> enable either by default to keep the current minimalistic build.
>
> Remove configuration options that don't exist in the new version.
>
> Set TOOLCHAIN = "gcc".
>
> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
> ---
>   meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb | 58 -----------------
>   meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb | 64 +++++++++++++++++++
>   2 files changed, 64 insertions(+), 58 deletions(-)
>   delete mode 100644 meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb
>   create mode 100644 meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb
>
> diff --git a/meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb b/meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb
> deleted file mode 100644
> index 000f73981..000000000
> --- a/meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb
> +++ /dev/null
> @@ -1,58 +0,0 @@
> -SUMMARY = "Message Passing Interface (MPI) implementation"
> -HOMEPAGE = "http://www.mpich.org/"
> -SECTION = "devel"
> -
> -LICENSE = "BSD-2-Clause"
> -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=bd4d7ab13df98988b1ca2a4e01c8c163"
> -
> -SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz"
> -SRC_URI[sha256sum] = "17406ea90a6ed4ecd5be39c9ddcbfac9343e6ab4f77ac4e8c5ebe4a3e3b6c501"
> -
> -RDEPENDS:${PN} += "bash perl libxml2"
> -
> -EXTRA_OECONF = "--enable-debuginfo \
> -    --enable-fast \
> -    --enable-shared  \
> -    --with-pm=gforker  \
> -    --disable-rpath \
> -    --disable-f77 \
> -    --disable-fc \
> -    --disable-fortran \
> -    --disable-cxx \
> -    BASH_SHELL='${USRBINPATH}/env bash' \
> -    PERL='${USRBINPATH}/env perl' \
> -    --with-device=ch3:nemesis \
> -    --with-rdmacm=no \
> -    --disable-numa \
> -"
> -
> -PACKAGECONFIG += " \
> -    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
> -"
> -PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11"
> -
> -# libmpi.so needs symbols like __multf3 and somehow it does not respect --rtlib option passed by clang
> -LDFLAGS:append:x86-64 = " -lgcc"
> -LDFLAGS:append:x86 = " -lgcc"
> -
> -inherit autotools gettext pkgconfig
> -
> -do_configure() {
> -    for d in confdb test/mpi test/mpi/confdb src/pm/hydra/confdb \
> -        src/pm/hydra/tools/topo/hwloc/hwloc/config src/pm/hydra/mpl/confdb \
> -        modules/yaksa/m4 modules/json-c modules/ucx modules/hwloc/config \
> -        test/mpi/dtpools/confdb src/mpl/confdb src/mpi/romio/confdb;  do
> -        install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/$d
> -        install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/$d
> -    done
> -#    cd ${S}
> -#    autoupdate
> -#    autoreconf --verbose --install --force
> -#    cd ${B}
> -    oe_runconf
> -}
> -
> -do_install:append() {
> -    sed -i 's,${S}/,,g' ${D}/${libdir}/libmpi.la
> -    sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc
> -}
> diff --git a/meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb b/meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb
> new file mode 100644
> index 000000000..cb9c0f1dd
> --- /dev/null
> +++ b/meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb
> @@ -0,0 +1,64 @@
> +SUMMARY = "Message Passing Interface (MPI) implementation"
> +HOMEPAGE = "http://www.mpich.org/"
> +SECTION = "devel"
> +
> +LICENSE = "BSD-2-Clause"
> +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=f1804c45b8b4e816e53eb1f175d810f3"
> +
> +SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz"
> +SRC_URI[sha256sum] = "ee30471b35ef87f4c88f871a5e2ad3811cd9c4df32fd4f138443072ff4284ca2"
> +
> +TOOLCHAIN = "gcc"
> +
> +RDEPENDS:${PN} += "bash perl libxml2"
> +
> +EXTRA_OECONF = "--enable-debuginfo \
> +    --enable-fast \
> +    --enable-shared  \
> +    --with-pm=gforker  \
> +    BASH_SHELL='${USRBINPATH}/env bash' \
> +    PERL='${USRBINPATH}/env perl' \
> +    --with-device=ch3:nemesis \
> +"
> +
> +PACKAGECONFIG ??= ""
> +
> +PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx"
> +PACKAGECONFIG[fortran] = "--with-cross=${WORKDIR}/cross_values.txt --enable-fortran,--disable-f77 --disable-fc --disable-fortran,libgfortran"
> +
> +# libmpi.so needs symbols like __multf3 and somehow it does not respect --rtlib option passed by clang
> +LDFLAGS:append:x86-64 = " -lgcc"
> +LDFLAGS:append:x86 = " -lgcc"
> +
> +inherit autotools gettext pkgconfig qemu
> +
> +DEPENDS += "qemu-native"
> +
> +do_configure() {
> +    if [ "${@bb.utils.contains('PACKAGECONFIG', 'fortran', '1', '', d)}" = "1" ]; then
> +        qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}"
> +        cat > ${WORKDIR}/qemuwrapper << EOF
> +#!/bin/sh
> +$qemu_binary "\$@"
> +EOF
> +        chmod +x ${WORKDIR}/qemuwrapper
> +
> +        sed -i 's:my \(.*\) ./t`;:my \1 ${WORKDIR}/qemuwrapper ${WORKDIR}/t`;:' ${S}/maint/gen_cross.pl
> +
> +        cd ${WORKDIR}
> +        perl ${S}/maint/gen_cross.pl
> +    fi
> +
> +    sed -i 's:\(CROSS_F90_INTEGER_MODEL_MAP=.*\) }"$:\1 }, ":' ${WORKDIR}/cross_values.txt

This must be in the if [] above. Just sent v4 with this fix.

> +
> +    cd ${S}
> +    ./autogen.sh
> +
> +    cd ${B}
> +    oe_runconf
> +}
> +
> +do_install:append() {
> +    sed -i 's,${S}/,,g' ${D}/${libdir}/libmpi.la
> +    sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc
> +}



  reply	other threads:[~2023-06-07  7:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-07  7:23 [meta-oe][PATCH v3] mpich: Upgrade to 4.1.1 Zoltán Böszörményi
2023-06-07  7:28 ` Böszörményi Zoltán [this message]
2023-06-08 16:41   ` Khem Raj
2023-06-08 17:23     ` Khem Raj
2023-06-08 21:10       ` Khem Raj
2023-06-09  4:15         ` Böszörményi Zoltán

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8b2cdabf-7e71-bb12-ce14-eefea762c403@gmail.com \
    --to=zboszor@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    --cc=raj.khem@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.