Opened 3 months ago

Last modified 3 months ago

#70260 new defect

hpddm build failure: Undefined symbols: "_dpstrf_"

Reported by: barracuda156 Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.9.3
Keywords: Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), catap (Kirill A. Korinsky)
Port: hpddm

Description

mpicxx-mpich-gcc13 -MT /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_hpddm/hpddm/work/hpddm-2.2.5/lib/libhpddm_fortran.dylib -MMD -MP -MF /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_hpddm/hpddm/work/hpddm-2.2.5/.trash/libhpddm_fortran.Td -Os -arch ppc -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -DHPDDM_NUMBERING='C' -DDMUMPS -DMUMPSSUB -DMU_ARPACK -I./include -I./interface -I/opt/local/include -dynamiclib -install_name /opt/local/lib/libhpddm_fortran.dylib -current_version 2.2.5 -compatibility_version 2 interface/hpddm_fortran.cpp -o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_hpddm/hpddm/work/hpddm-2.2.5/lib/libhpddm_fortran.dylib -L/opt/local/lib -lmumps_common -lesmumps -lsmumps -ldmumps -lcmumps -lzmumps -lpord -L/opt/local/lib -larpack -L/opt/local/lib -lscalapack -L/opt/local/lib -lvecLibFort
mv -f /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_hpddm/hpddm/work/hpddm-2.2.5/.trash/generate_cpp.Td /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_hpddm/hpddm/work/hpddm-2.2.5/.trash/generate_cpp.d || true
Undefined symbols:
  "_dpstrf_", referenced from:
      __ZN5HPDDM15IterativeMethod4RRQRILb0EdEEvciiPT0_S3_NS_20underlying_type_specIS2_E4typeERiPiPKS6_S3_RKi in ccBSo8Nj.o
ld: symbol(s) not found
collect2: error: ld returned 1 exit status
make: *** [/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_hpddm/hpddm/work/hpddm-2.2.5/lib/libhpddm_fortran.dylib] Error 1
make: *** Waiting for unfinished jobs....
mv -f /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_hpddm/hpddm/work/hpddm-2.2.5/.trash/schwarz_cpp.Td /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_hpddm/hpddm/work/hpddm-2.2.5/.trash/schwarz_cpp.d || true
mv -f /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_hpddm/hpddm/work/hpddm-2.2.5/.trash/hpddm_c.Td /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_hpddm/hpddm/work/hpddm-2.2.5/.trash/hpddm_c.d || true
Undefined symbols:
  "_dpstrf_", referenced from:
      __ZN5HPDDM15IterativeMethod4RRQRILb0EdEEvciiPT0_S3_NS_20underlying_type_specIS2_E4typeERiPiPKS6_S3_RKi in ccV1SGPI.o
ld: symbol(s) not found
collect2: error: ld returned 1 exit status

Change History (3)

comment:1 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)

The build worked on build machines running macOS 10.7–13 but we saw the same error on the 10.6 build machines:

https://build.macports.org/builders/ports-10.6_x86_64-builder/builds/207893/steps/install-port/logs/stdio

Searching for dpstrf I found it is part of BLAS. Maybe the problem is that the build uses BLAS_LIBS="-L/opt/local/lib -lvecLibFort" and maybe libvecLibFort doesn't have this symbol on 10.6 and earlier.

comment:2 in reply to:  1 Changed 3 months ago by barracuda156

Replying to ryandesign:

The build worked on build machines running macOS 10.7–13 but we saw the same error on the 10.6 build machines:

https://build.macports.org/builders/ports-10.6_x86_64-builder/builds/207893/steps/install-port/logs/stdio

Searching for dpstrf I found it is part of BLAS. Maybe the problem is that the build uses BLAS_LIBS="-L/opt/local/lib -lvecLibFort" and maybe libvecLibFort doesn't have this symbol on 10.6 and earlier.

This sounds very likely.

I will see if this will build against OpenBLAS instead. Thank you for pointing out.

comment:3 in reply to:  1 Changed 3 months ago by barracuda156

Replying to ryandesign:

This returns me to a need to fix our broken linearalgebra PG. Currently it forces +accelerate on older platforms, and my last attempt to sort this out did not quite work out.

Note: See TracTickets for help on using tickets.