Re: Compiler / linker error

From: Harold Gutch <logix(at)foobar.franken.de>
Date: Mon, 15 Mar 2021 08:02:07 +0100

Hi,

On Mon, Mar 15, 2021 at 06:19:46AM +0100, Stefan Huerter wrote:
> Guckux Harold
>
> >>/usr/ports/sysutils/slurm-wlm/work/slurm-20.02.1/src/api/.libs/libslurmfull.so
> >>../.libs/libhdf5_api.a -lsysinfo -lprocstat -lm -ldl -lz -lsz -lhdf5
> >>-pthread -Wl,-rpath -Wl,/usr/local/lib/slurm
> >>ld: error: undefined symbol: H5PTclose
> >>>>>referenced by sh5util.c:1120
> >>>>> sh5util.o:(_extract_series_table)
> >>>>>referenced by sh5util.c:1121
> >>>>> sh5util.o:(_extract_series_table)
> >>>>>referenced by sh5util.c:1111
> >>>>> sh5util.o:(_extract_series_table)
> >>>>>referenced by sh5util.c:1585
> >>>>> sh5util.o:(_extract_item_step)
> >>>>>referenced by sh5util.c:1600
> >>>>> sh5util.o:(_extract_item_step)
> >>>>>did you mean: H5Tclose
> >>>>>defined in: /usr/local/lib/libhdf5.so
> >Die Funktion sollte es eigentlich schon geben bzw. die sollte schon
> >von libhdf5.so exportiert werden, was für eine Version von HDF5 ist
> >das denn?
>
> [root(at)alpina ~]# pkg info hdf5
> hdf5-1.10.6,1
> Name : hdf5
> Version : 1.10.6,1

OK, die sollte das haben. Mh... aber das Symbol scheint in libhdf5_hl
zu sein.

Kannst du mal bitte folgendes probieren:

  ldd /usr/local/lib/libhdf5.so | grep H5PTclose
  ldd /usr/local/lib/libhdf5_hl.so | grep H5PTclose

> >Wenn du aber HDF5 in SLURM nicht unbedingt brauchst kannst du SLURM
> >auch ohne HDF5-Unterstützung compilieren. Ohne Ports geht das mit
> >"./configure --with-hdf5=no" - wenn du den Port ohne expliziten
> >HDF5-Support baust, schaut configure hier vermutlich nach ob du HDF5
> >hast und bindet das dann ein, sprich, du wirst das wohl explizit
> >abwählen müssen. Das könnte (ungetestet!) mit
>
> Das ist ein Punkt, welchen ich leider nicht beantworten kann, da mir
> so manche "Verkettung" resp. dependencies nicht geläufig ist, viele
> der Ports haben "default" options und damit fahr ich seit
> "Jahrzehnten" recht gut, gelegentlich setzte ich "optimization"
> Schalter oder nehm noch was anderes dazu - zB digikam mit der mySQL
> Anbindung...

Dann brauchst du es vermutlich nicht ;-).

HDF5 in SLURM braucht man eigentlich nur wenn man explizit das beim
Accounting haben will. Wenn man einen sehr großen Cluster hat und
Statistiken über eine große Anzahl von Jobs (z.B. die Verteilung der
Laufzeit der Jobs, Speicherbenutzung etc.) erstellen will, dann kann
es von Vorteil sein wenn die gleich beim Accounting als HDF5 abgelegt
werden. Wenn du nicht sicher bist ob du das brauchst dann brauchst du
es wohl nicht ;-).

> Ich habe mir jetzt damit "beholfen" (also mich beschissen :D ), indem
> ich über pkg das Paket installiert habe, jetzt bin ich mit den Ports
> fast durch ;)

AFAIK werden die binary Pakete in leeren Umgebungen gebaut - Jail +
Abhängigkeiten des Ports/Pakets und sonst nichts. Also auch kein HDF5,
damit kam der configure von SLURM gar nicht erst auf die Idee die
HDF5-Komponenten einzubinden.

Der Port sollte an der Stelle aber gefixt werden - wenn man den Port
ohne die HDF5-Option baut dann sollte der wohl ein "--with-hdf5=no" im
configure mitbekommen. Und *mit* HDF5-Option sollte der möglicherweise
gegen libhdf5_hl linken, das ist gerade aber ein wenig Spekulation...

Gruß,
  Harold

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-chat" in the body of the message
Received on Mon 15 Mar 2021 - 08:02:24 CET

search this site