<!-- BaNnErBlUrFlE-BoDy-start -->
<!-- Preheader Text : BEGIN -->
<div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">
This sounds most like the problem of libtool. Libtool figures out all the library dependency and adds those required. The reason I asked for the testings is to rule out the possibility of interference from environment variable settings, such
</div>
<!-- Preheader Text : END -->
<!-- Email Banner : BEGIN -->
<div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">ZjQcmQRYFpfptBannerStart</div>
<!--[if ((ie)|(mso))]>
<table border="0" cellspacing="0" cellpadding="0" width="100%" style="padding: 16px 0px 16px 0px; direction: ltr" ><tr><td>
<table border="0" cellspacing="0" cellpadding="0" style="padding: 0px 10px 5px 6px; width: 100%; border-radius:4px; border-top:4px solid #90a4ae;background-color:#D0D8DC;"><tr><td valign="top">
<table align="left" border="0" cellspacing="0" cellpadding="0" style="padding: 4px 8px 4px 8px">
<tr><td style="color:#000000; font-family: 'Arial', sans-serif; font-weight:bold; font-size:14px; direction: ltr">
This Message Is From an External Sender
</td></tr>
<tr><td style="color:#000000; font-weight:normal; font-family: 'Arial', sans-serif; font-size:12px; direction: ltr">
This message came from outside your organization.
</td></tr>
</table>
</td></tr></table>
</td></tr></table>
<![endif]-->
<![if !((ie)|(mso))]>
<div dir="ltr" id="pfptBannery81tbed" style="all: revert !important; display:block !important; text-align: left !important; margin:16px 0px 16px 0px !important; padding:8px 16px 8px 16px !important; border-radius: 4px !important; min-width: 200px !important; background-color: #D0D8DC !important; background-color: #D0D8DC; border-top: 4px solid #90a4ae !important; border-top: 4px solid #90a4ae;">
<div id="pfptBannery81tbed" style="all: unset !important; float:left !important; display:block !important; margin: 0px 0px 1px 0px !important; max-width: 600px !important;">
<div id="pfptBannery81tbed" style="all: unset !important; display:block !important; visibility: visible !important; background-color: #D0D8DC !important; color:#000000 !important; color:#000000; font-family: 'Arial', sans-serif !important; font-family: 'Arial', sans-serif; font-weight:bold !important; font-weight:bold; font-size:14px !important; line-height:18px !important; line-height:18px">
This Message Is From an External Sender
</div>
<div id="pfptBannery81tbed" style="all: unset !important; display:block !important; visibility: visible !important; background-color: #D0D8DC !important; color:#000000 !important; color:#000000; font-weight:normal; font-family: 'Arial', sans-serif !important; font-family: 'Arial', sans-serif; font-size:12px !important; line-height:18px !important; line-height:18px; margin-top:2px !important;">
This message came from outside your organization.
</div>
</div>
<div style="clear: both !important; display: block !important; visibility: hidden !important; line-height: 0 !important; font-size: 0.01px !important; height: 0px"> </div>
</div>
<![endif]>
<div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">ZjQcmQRYFpfptBannerEnd</div>
<!-- Email Banner : END -->
<!-- BaNnErBlUrFlE-BoDy-end -->
<html>
<head><!-- BaNnErBlUrFlE-HeAdEr-start -->
<style>
#pfptBannery81tbed { all: revert !important; display: block !important;
visibility: visible !important; opacity: 1 !important;
background-color: #D0D8DC !important;
max-width: none !important; max-height: none !important }
.pfptPrimaryButtony81tbed:hover, .pfptPrimaryButtony81tbed:focus {
background-color: #b4c1c7 !important; }
.pfptPrimaryButtony81tbed:active {
background-color: #90a4ae !important; }
</style>
<!-- BaNnErBlUrFlE-HeAdEr-end -->
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
This sounds most like the problem of libtool.
<div>Libtool figures out all the library dependency and adds those required.<br>
<div><br>
</div>
<div>The reason I asked for the testings is to rule out the possibility of</div>
<div>interference from environment variable settings, such as LD_LIBRARY_PATH</div>
<div>or modules loaded. PnetCDF only needs MPI compilers, so the minimal</div>
<div>configure command-line option is --with-mpi</div>
<div><br>
</div>
<div>Could you please send me the file "config.log"?</div>
<div><br>
<div>Wei-keng </div>
<div><br>
<blockquote type="cite">
<div>On Mar 11, 2024, at 11:36 AM, Max R. Dechantsreiter <max@performancejones.com> wrote:</div>
<br class="Apple-interchange-newline">
<div>
<div>Hi Wei-Keng,<br>
<br>
<blockquote type="cite">Could you modify build_pnetcdf.txt to compile a simple F90 program<br>
(example programs can be found from MPICH repo in<br>
https://urldefense.com/v3/__https://github.com/pmodels/mpich/tree/main/examples__;!!Dq0X2DkFhyF93HkjWTBQKhk!Qe-o1JhyzY0PqJpYUc01_4WRS9WF7O7reBH9vDAZtx2kXnt1lYpf1m85yJ2aQgdn2FjM2uQWiGP1XLSCw6pMtqM$ )<br>
<br>
This is to see if the environment variables set in build_pnetcdf.txt<br>
also work without PnetCDF? For example, run this command:<br>
mpifort pi3f90.f90<br>
</blockquote>
<br>
I don't quite understand this - I know my AOCC OpenMPI<br>
works, because I have used it, set up the same way, to<br>
build other tools/applications (e.g., HDF5).<br>
<br>
<blockquote type="cite">If that works, could you try this configure command, without running<br>
build_pnetcdf.txt? i.e. no environment variables are set.<br>
./configure --with-mpi=$HOME/AOCC/opt/amd/ompi/5.0.2<br>
</blockquote>
<br>
I presume by this you meant I should set the environment<br>
for AOCC tools and OpenMPI, but not set the 'configure'<br>
variables (such as LIBS). Then with<br>
<br>
./configure --with-mpi=$HOME/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0<br>
<br>
I still have libamdlibm after libm:<br>
<br>
libtool: link: /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/bin/mpicc -g -O2 -o ncmpidump ncmpidump.o vardata.o dumplib.o ../../../src/libs/.libs/libpnetcdf.a -L/home/maxd/AOCC/opt/amd/ompi/hwloc-2.10.0_aocc-4.2.0/lib /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libmpi_usempif08.so
/home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libmpi_usempi_ignore_tkr.so /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libmpi_mpifh.so -L/home/maxd/AOCC/opt/amd/aocc/4.2.0/lib /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libmpi.so
/home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libopen-pal.so -lpthread -lrt /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libpmix.so -lutil -ldl -levent_core -levent_pthreads /home/maxd/AOCC/opt/amd/ompi/hwloc-2.10.0_aocc-4.2.0/lib/libhwloc.so
-lm -lamdlibm -pthread -Wl,-rpath -Wl,/home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib -Wl,-rpath -Wl,/home/maxd/AOCC/opt/amd/ompi/hwloc-2.10.0_aocc-4.2.0/lib -Wl,-rpath -Wl,/home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib -Wl,-rpath -Wl,/home/maxd/AOCC/opt/amd/ompi/hwloc-2.10.0_aocc-4.2.0/lib<br>
<br>
How is libtool (or configure) deciding to use libamdlibm -<br>
is it based on the compiler?<br>
<br>
Best regards,<br>
<br>
Max<br>
---<br>
<br>
<br>
<blockquote type="cite">If the above failed, please send me file config.log.<br>
<br>
Wei-keng<br>
<br>
On Mar 11, 2024, at 10:37 AM, Max R. Dechantsreiter <max@performancejones.com> wrote:<br>
<br>
Hi Wei-keng,<br>
<br>
...Same problem. I am attaching my build procedure.<br>
<br>
I even tried hacking the Makefile and libtool, to no effect.<br>
<br>
Best regards,<br>
<br>
Max<br>
---<br>
<br>
<br>
On Mon, Mar 11, 2024 at 03:12:27PM +0000, Wei-Keng Liao wrote:<br>
Hi, Max<br>
<br>
Could you give the release candidate 1.13.0.rc1 a try?<br>
The configure utility files have been updated since 1.12.3,<br>
which may fix the problem.<br>
<br>
https://urldefense.com/v3/__https://github.com/Parallel-NetCDF/Parallel-NetCDF.github.io/raw/master/Release/pnetcdf-1.13.0.rc1.tar.gz__;!!Dq0X2DkFhyF93HkjWTBQKhk!QaDTsobUHYLC8K-towJw_kn5rctCrB6wv3OdDy6h4_9yKnUNepXT1b2RCV-EcqmdpdkcMAcwrT2IN4hDGUZIk9s$<br>
<br>
Wei-keng<br>
<br>
On Mar 11, 2024, at 6:36 AM, Max R. Dechantsreiter <max@performancejones.com> wrote:<br>
<br>
Hello Wei-Keng,<br>
<br>
Building PnetCDF 1.12.3 with AOCC compilers, I found that<br>
libamdlm is linked after libm ('-lm -lamdlibm') instead of<br>
before as it should be; so far I have not found any way to<br>
change this. If I set LIBS='-lamdlibm' and configure, both<br>
FCLIBS and FLIBS in the resulting Makefile are assigned<br>
<br>
-L/home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib -L/usr/lib/gcc/x86_64-linux-gnu/10 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/home/maxd/AOCC/opt/amd/aocc/4.2.0/bin/../lib -L/lib -L/usr/lib -L/home/maxd/AOCC/opt/amd/aocl/4.2.0/aocc/lib
-L/home/maxd/AOCC/opt/amd/aocc/4.2.0/lib -L/home/maxd/AOCC/opt/amd/aocc/4.2.0/lib32 -L. -lamdlibm -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi -lflangmain -lflang -lflangrti -lpgmath -lquadmath -lompstub -lm -lrt -lpthread<br>
<br>
which is promising. However, in the link it's wrong:<br>
<br>
libtool: link: /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/bin/mpif90 -I../../src/binding/f90 -ffree-form -I. -DN_DIM=3 -DMAXBLOCKS=100 -DIONMAX=13 -march=broadwell -mtune=broadwell -O3 -freciprocal-math -fPIC -o flash_benchmark_io get_mfluid_property.o
flash_release.o flash_benchmark_io.o checkpoint_ncmpi_parallel.o plotfile_ncmpi_parallel.o -L../../src/libs /home/maxd/AOCC/Build/pnetcdf-1.12.3/src/libs/.libs/libpnetcdf.a -L/home/maxd/AOCC/opt/amd/ompi/hwloc-2.10.0_aocc-4.2.0/lib /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libmpi_usempif08.so
/home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libmpi_usempi_ignore_tkr.so /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libmpi_mpifh.so -L/home/maxd/AOCC/opt/amd/aocc/4.2.0/lib /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libmpi.so
/home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libopen-pal.so -lpthread -lrt /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libpmix.so -lutil -ldl -levent_core -levent_pthreads /home/maxd/AOCC/opt/amd/ompi/hwloc-2.10.0_aocc-4.2.0/lib/libhwloc.so
-lm -lamdlibm -pthread -rpath /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib -rpath /home/maxd/AOCC/opt/amd/ompi/hwloc-2.10.0_aocc-4.2.0/lib -rpath /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib -rpath /home/maxd/AOCC/opt/amd/ompi/hwloc-2.10.0_aocc-4.2.0/lib<br>
<br>
Any suggestion for how to remedy this?<br>
<br>
Best regards,<br>
<br>
Max<br>
---<br>
Max R. Dechantsreiter<br>
President<br>
Performance Jones L.L.C.<br>
max@performancejones.com<br>
Skype: PerformanceJones (UTC+01:00)<br>
+1 414 446-3100 (telephone/voicemail)<br>
https://urldefense.com/v3/__http://www.linkedin.com/in/benchmarking__;!!Dq0X2DkFhyF93HkjWTBQKhk!XoFfRmNF4v6X3b67Y51DU9xey_PcSw1VYyTqFCWAsLtD1l0FSMXpDqzdhbHEA9T8wvV7jXjXnH3AaDZYp90LdZg$<br>
<br>
<build_pnetcdf.txt><br>
<br>
</blockquote>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</body>
</html>