binrCaxp7Bhrc.bin
Description:
Dynamic linking is first-class citizen in BSD systems, there's no libdl. dlfcn(3) functions are provided for any dynamically linked program on NetBSD, and they are provided by libc on FreeBSD.
diff --git a/auxdir/x_ac_dlfcn.m4 b/auxdir/x_ac_dlfcn.m4 new file mode 100644 index 0000000..66b48da --- /dev/null +++ b/auxdir/x_ac_dlfcn.m4 @@ -0,0 +1,10 @@ +# $NetBSD$ + +AC_DEFUN([X_AC_DLFCN], [ + AC_MSG_CHECKING([library containing dlopen]) + AC_CHECK_LIB([], [dlopen], [ac_have_dlopen=yes; DL_LIBS=""], + [AC_CHECK_LIB([dl], [dlopen], [ac_have_dlopen=yes; DL_LIBS="-ldl"], + [AC_CHECK_LIB([svdl], [dlopen], [ac_have_dlopen=yes; DL_LIBS="-lsvdl"])])]) + + AC_SUBST(DL_LIBS) +]) diff --git a/configure.ac b/configure.ac index ac75d49..496dc5b 100644 --- a/configure.ac +++ b/configure.ac @@ -129,6 +129,10 @@ dnl Checks for structures. dnl X_AC__SYSTEM_CONFIGURATION +dnl Check for dlfcn +dnl +X_AC_DLFCN + dnl check to see if glibc's program_invocation_name is available: dnl X_AC_SLURM_PROGRAM_INVOCATION_NAME diff --git a/src/common/Makefile.am b/src/common/Makefile.am index 6880f5a..8ad3b62 100644 --- a/src/common/Makefile.am +++ b/src/common/Makefile.am @@ -132,7 +132,7 @@ libspank_la_SOURCES = \ plugstack.c plugstack.h \ optz.c optz.h -libcommon_la_LIBADD = -ldl +libcommon_la_LIBADD = $(DL_LIBS) libcommon_la_LDFLAGS = $(LIB_LDFLAGS) -module --export-dynamic diff --git a/src/plugins/select/bluegene/Makefile.am b/src/plugins/select/bluegene/Makefile.am index ca93187..505f17a 100644 --- a/src/plugins/select/bluegene/Makefile.am +++ b/src/plugins/select/bluegene/Makefile.am @@ -13,7 +13,7 @@ pkglib_LTLIBRARIES = select_bluegene.la noinst_LTLIBRARIES = libba_common.la libconfigure_api.la -convenience_libs = $(top_builddir)/src/api/libslurm.o -ldl +convenience_libs = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) # These are needed for pack/unpack of structures for cross-cluster stuff select_bluegene_la_SOURCES = select_bluegene.c \ diff --git a/src/plugins/select/bluegene/ba/Makefile.am b/src/plugins/select/bluegene/ba/Makefile.am index 4817834..6ef2658 100644 --- a/src/plugins/select/bluegene/ba/Makefile.am +++ b/src/plugins/select/bluegene/ba/Makefile.am @@ -23,7 +23,7 @@ wire_testSOURCES = wire_test.c # compile against the block_allocator.o since we don't really want to # link against the bridge_linker. -wire_test_LDADD = $(top_builddir)/src/api/libslurm.o -ldl \ +wire_test_LDADD = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) \ ../libba_common.la $(libblock_allocator_la_OBJECTS) total += ../libba_common.la $(top_builddir)/src/api/libslurm.o diff --git a/src/plugins/select/bluegene/ba_bgq/Makefile.am b/src/plugins/select/bluegene/ba_bgq/Makefile.am index f8da9f4..27296d4 100644 --- a/src/plugins/select/bluegene/ba_bgq/Makefile.am +++ b/src/plugins/select/bluegene/ba_bgq/Makefile.am @@ -23,7 +23,7 @@ wire_test_SOURCES = wire_test.c # compile against the block_allocator.o since we don't really want to # link against the bridge_linker. -wire_test_LDADD = $(top_builddir)/src/api/libslurm.o -ldl \ +wire_test_LDADD = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) \ ../libba_common.la $(libblock_allocator_la_OBJECTS) total += ../libba_common.la $(top_builddir)/src/api/libslurm.o diff --git a/src/plugins/select/bluegene/sfree/Makefile.am b/src/plugins/select/bluegene/sfree/Makefile.am index 426db63..edf6f76 100644 --- a/src/plugins/select/bluegene/sfree/Makefile.am +++ b/src/plugins/select/bluegene/sfree/Makefile.am @@ -7,7 +7,7 @@ INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src/common $(BG_INCLUDES) sbin_PROGRAMS = sfree -sfree_LDADD = $(top_builddir)/src/api/libslurm.o -ldl +sfree_LDADD = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) sfree_SOURCES = sfree.c sfree.h opts.c sfree_LDFLAGS = -export-dynamic -lm $(CMD_LDFLAGS) diff --git a/src/sacct/Makefile.am b/src/sacct/Makefile.am index 09e9d7a..d203aaf 100644 --- a/src/sacct/Makefile.am +++ b/src/sacct/Makefile.am @@ -7,7 +7,7 @@ INCLUDES = -I$(top_srcdir) bin_PROGRAMS = sacct -sacct_LDADD = $(top_builddir)/src/db_api/libslurmdb.o -ldl +sacct_LDADD = $(top_builddir)/src/db_api/libslurmdb.o $(DL_LIBS) sacct_LDFLAGS = -export-dynamic $(CMD_LDFLAGS) diff --git a/src/sacctmgr/Makefile.am b/src/sacctmgr/Makefile.am index 76a9a32..584b4b5 100644 --- a/src/sacctmgr/Makefile.am +++ b/src/sacctmgr/Makefile.am @@ -7,7 +7,7 @@ INCLUDES = -I$(top_srcdir) bin_PROGRAMS = sacctmgr -sacctmgr_LDADD = $(top_builddir)/src/db_api/libslurmdb.o -ldl \ +sacctmgr_LDADD = $(top_builddir)/src/db_api/libslurmdb.o $(DL_LIBS) \ $(READLINE_LIBS) sacctmgr_SOURCES = \ diff --git a/src/salloc/Makefile.am b/src/salloc/Makefile.am index 01ed5e9..4ef6a74 100644 --- a/src/salloc/Makefile.am +++ b/src/salloc/Makefile.am @@ -9,7 +9,7 @@ bin_PROGRAMS = salloc salloc_SOURCES = salloc.c salloc.h opt.c opt.h -convenience_libs = $(top_builddir)/src/api/libslurm.o -ldl +convenience_libs = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) salloc_LDADD = \ $(convenience_libs) diff --git a/src/sattach/Makefile.am b/src/sattach/Makefile.am index 036b34f..1f6b885 100644 --- a/src/sattach/Makefile.am +++ b/src/sattach/Makefile.am @@ -12,7 +12,7 @@ sattach_SOURCES = \ sattach.c \ sattach.wrapper.c -convenience_libs = $(top_builddir)/src/api/libslurm.o -ldl +convenience_libs = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) sattach_LDADD = \ $(convenience_libs) diff --git a/src/sbatch/Makefile.am b/src/sbatch/Makefile.am index 0a54592..9b88be8 100644 --- a/src/sbatch/Makefile.am +++ b/src/sbatch/Makefile.am @@ -9,7 +9,7 @@ bin_PROGRAMS = sbatch sbatch_SOURCES = sbatch.c mult_cluster.c mult_cluster.h opt.c opt.h -convenience_libs = $(top_builddir)/src/api/libslurm.o -ldl +convenience_libs = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) sbatch_LDADD = $(convenience_libs) diff --git a/src/sbcast/Makefile.am b/src/sbcast/Makefile.am index 48336a5..6ec2083 100644 --- a/src/sbcast/Makefile.am +++ b/src/sbcast/Makefile.am @@ -6,7 +6,7 @@ AUTOMAKE_OPTIONS = foreign INCLUDES = -I$(top_srcdir) $(BG_INCLUDES) bin_PROGRAMS = sbcast -sbcast_LDADD = $(top_builddir)/src/api/libslurm.o -ldl -lm +sbcast_LDADD = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) -lm noinst_HEADERS = sbcast.h sbcast_SOURCES = agent.c sbcast.c opts.c diff --git a/src/scancel/Makefile.am b/src/scancel/Makefile.am index 95cfb3e..f8aa1d7 100644 --- a/src/scancel/Makefile.am +++ b/src/scancel/Makefile.am @@ -6,7 +6,7 @@ INCLUDES = -I$(top_srcdir) bin_PROGRAMS = scancel -scancel_LDADD = $(top_builddir)/src/api/libslurm.o -ldl +scancel_LDADD = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) noinst_HEADERS = scancel.h scancel_SOURCES = scancel.c opt.c diff --git a/src/scontrol/Makefile.am b/src/scontrol/Makefile.am index 23b4a62..af1c411 100644 --- a/src/scontrol/Makefile.am +++ b/src/scontrol/Makefile.am @@ -20,7 +20,7 @@ scontrol_SOURCES = \ update_part.c \ update_step.c -convenience_libs = $(top_builddir)/src/api/libslurm.o -ldl -lm +convenience_libs = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) -lm scontrol_LDADD = \ diff --git a/src/sdiag/Makefile.am b/src/sdiag/Makefile.am index f170159..2f111e8 100644 --- a/src/sdiag/Makefile.am +++ b/src/sdiag/Makefile.am @@ -6,7 +6,7 @@ AUTOMAKE_OPTIONS = foreign INCLUDES = -I$(top_srcdir) $(BG_INCLUDES) bin_PROGRAMS = sdiag -sdiag_LDADD = $(top_builddir)/src/api/libslurm.o -ldl +sdiag_LDADD = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) sdiag_SOURCES = sdiag.c opts.c diff --git a/src/sinfo/Makefile.am b/src/sinfo/Makefile.am index 0820811..96e06a9 100644 --- a/src/sinfo/Makefile.am +++ b/src/sinfo/Makefile.am @@ -6,7 +6,7 @@ AUTOMAKE_OPTIONS = foreign INCLUDES = -I$(top_srcdir) $(BG_INCLUDES) bin_PROGRAMS = sinfo -sinfo_LDADD = $(top_builddir)/src/api/libslurm.o -ldl +sinfo_LDADD = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) noinst_HEADERS = sinfo.h print.h sinfo_SOURCES = sinfo.c opts.c print.c sort.c diff --git a/src/slurmctld/Makefile.am b/src/slurmctld/Makefile.am index 815172a..67b4631 100644 --- a/src/slurmctld/Makefile.am +++ b/src/slurmctld/Makefile.am @@ -65,7 +65,7 @@ sbin_PROGRAMS = slurmctld slurmctld_LDADD = \ $(top_builddir)/src/common/libdaemonize.la \ - $(top_builddir)/src/api/libslurm.o -ldl + $(top_builddir)/src/api/libslurm.o $(DL_LIBS) slurmctld_LDFLAGS = -export-dynamic $(CMD_LDFLAGS) force: diff --git a/src/slurmd/slurmd/Makefile.am b/src/slurmd/slurmd/Makefile.am index 1cd8f85..439155b 100644 --- a/src/slurmd/slurmd/Makefile.am +++ b/src/slurmd/slurmd/Makefile.am @@ -10,7 +10,7 @@ INCLUDES = -I$(top_srcdir) slurmd_LDADD = \ $(top_builddir)/src/common/libdaemonize.la \ - $(top_builddir)/src/api/libslurm.o -ldl \ + $(top_builddir)/src/api/libslurm.o $(DL_LIBS) \ $(PLPA_LIBS) \ ../common/libslurmd_common.la diff --git a/src/slurmd/slurmstepd/Makefile.am b/src/slurmd/slurmstepd/Makefile.am index 96e7bb6..31d7b1a 100644 --- a/src/slurmd/slurmstepd/Makefile.am +++ b/src/slurmd/slurmstepd/Makefile.am @@ -9,7 +9,7 @@ INCLUDES = -I$(top_srcdir) slurmstepd_LDADD = \ $(top_builddir)/src/common/libdaemonize.la \ - $(top_builddir)/src/api/libslurm.o -ldl \ + $(top_builddir)/src/api/libslurm.o $(DL_LIBS) \ $(PLPA_LIBS) $(PAM_LIBS) $(UTIL_LIBS) \ ../common/libslurmd_common.la diff --git a/src/slurmdbd/Makefile.am b/src/slurmdbd/Makefile.am index b229e2b..15a91a5 100644 --- a/src/slurmdbd/Makefile.am +++ b/src/slurmdbd/Makefile.am @@ -10,7 +10,7 @@ sbin_PROGRAMS = slurmdbd slurmdbd_LDADD = \ $(top_builddir)/src/common/libdaemonize.la \ - $(top_builddir)/src/api/libslurm.o -ldl + $(top_builddir)/src/api/libslurm.o $(DL_LIBS) slurmdbd_SOURCES = \ diff --git a/src/smap/Makefile.am b/src/smap/Makefile.am index 0505839..67438cf 100644 --- a/src/smap/Makefile.am +++ b/src/smap/Makefile.am @@ -18,7 +18,7 @@ smap_SOURCES = smap.c \ job_functions.c partition_functions.c \ grid_functions.c reservation_functions.c opts.c -smap_LDADD = $(top_builddir)/src/api/libslurm.o -ldl +smap_LDADD = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) if BLUEGENE_LOADED bg_dir = $(top_builddir)/src/plugins/select/bluegene diff --git a/src/sprio/Makefile.am b/src/sprio/Makefile.am index abadc1a..a2d2abe 100644 --- a/src/sprio/Makefile.am +++ b/src/sprio/Makefile.am @@ -7,7 +7,7 @@ INCLUDES = -I$(top_srcdir) bin_PROGRAMS = sprio -sprio_LDADD = $(top_builddir)/src/api/libslurm.o -ldl +sprio_LDADD = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) noinst_HEADERS = sprio.h print.h sprio_SOURCES = sprio.c print.c opts.c diff --git a/src/squeue/Makefile.am b/src/squeue/Makefile.am index 2f3030b..ee56435 100644 --- a/src/squeue/Makefile.am +++ b/src/squeue/Makefile.am @@ -7,7 +7,7 @@ INCLUDES = -I$(top_srcdir) bin_PROGRAMS = squeue -squeue_LDADD = $(top_builddir)/src/api/libslurm.o -ldl +squeue_LDADD = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) noinst_HEADERS = squeue.h print.h squeue_SOURCES = squeue.c print.c opts.c sort.c diff --git a/src/sreport/Makefile.am b/src/sreport/Makefile.am index 2ed41f5..cfec9b4 100644 --- a/src/sreport/Makefile.am +++ b/src/sreport/Makefile.am @@ -17,7 +17,7 @@ sreport_SOURCES = \ common.c sreport_LDADD = \ - $(top_builddir)/src/db_api/libslurmdb.o -ldl \ + $(top_builddir)/src/db_api/libslurmdb.o $(DL_LIBS) \ $(READLINE_LIBS) sreport_LDFLAGS = -export-dynamic $(CMD_LDFLAGS) diff --git a/src/srun/Makefile.am b/src/srun/Makefile.am index 2db2143..7811edc 100644 --- a/src/srun/Makefile.am +++ b/src/srun/Makefile.am @@ -26,7 +26,7 @@ srun_SOURCES = \ # pthread is needed for compiling with g++ (which is used for linking # no matter if on a BGQ or not because of mentioning a .cc file convenience_libs = \ - $(top_builddir)/src/api/libslurm.o -ldl -lpthread + $(top_builddir)/src/api/libslurm.o $(DL_LIBS) -lpthread srun_LDADD = \ $(convenience_libs) diff --git a/src/srun_cr/Makefile.am b/src/srun_cr/Makefile.am index 153b01e..f4f3ec9 100644 --- a/src/srun_cr/Makefile.am +++ b/src/srun_cr/Makefile.am @@ -9,7 +9,7 @@ bin_PROGRAMS = srun_cr srun_cr_SOURCES = srun_cr.c -convenience_libs = $(top_builddir)/src/api/libslurm.o -ldl +convenience_libs = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) srun_cr_LDADD = $(convenience_libs) $(BLCR_LIBS) diff --git a/src/sshare/Makefile.am b/src/sshare/Makefile.am index 5ff6e8c..805f758 100644 --- a/src/sshare/Makefile.am +++ b/src/sshare/Makefile.am @@ -8,7 +8,7 @@ INCLUDES = -I$(top_srcdir) bin_PROGRAMS = sshare sshare_LDADD = \ - $(top_builddir)/src/api/libslurm.o -ldl -lm \ + $(top_builddir)/src/api/libslurm.o $(DL_LIBS) -lm \ $(READLINE_LIBS) sshare_SOURCES = \ diff --git a/src/sstat/Makefile.am b/src/sstat/Makefile.am index 020f54a..b01ba0b 100644 --- a/src/sstat/Makefile.am +++ b/src/sstat/Makefile.am @@ -6,7 +6,7 @@ INCLUDES = -I$(top_srcdir) bin_PROGRAMS = sstat -sstat_LDADD = $(top_builddir)/src/api/libslurm.o -ldl +sstat_LDADD = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) sstat_SOURCES = \ options.c \ diff --git a/src/strigger/Makefile.am b/src/strigger/Makefile.am index 0f8cebf..90ddadc 100644 --- a/src/strigger/Makefile.am +++ b/src/strigger/Makefile.am @@ -6,7 +6,7 @@ AUTOMAKE_OPTIONS = foreign INCLUDES = -I$(top_srcdir) $(BG_INCLUDES) bin_PROGRAMS = strigger -strigger_LDADD = $(top_builddir)/src/api/libslurm.o -ldl +strigger_LDADD = $(top_builddir)/src/api/libslurm.o $(DL_LIBS) noinst_HEADERS = strigger.h strigger_SOURCES = strigger.c opts.c diff --git a/src/sview/Makefile.am b/src/sview/Makefile.am index bcd92de..2896382 100644 --- a/src/sview/Makefile.am +++ b/src/sview/Makefile.am @@ -9,7 +9,7 @@ if BUILD_SVIEW bin_PROGRAMS = sview -sview_LDADD = $(top_builddir)/src/db_api/libslurmdb.o -ldl +sview_LDADD = $(top_builddir)/src/db_api/libslurmdb.o $(DL_LIBS) noinst_HEADERS = sview.h sview_SOURCES = sview.c popups.c grid.c part_info.c job_info.c \ diff --git a/testsuite/slurm_unit/common/Makefile.am b/testsuite/slurm_unit/common/Makefile.am index d44d04e..a797587 100644 --- a/testsuite/slurm_unit/common/Makefile.am +++ b/testsuite/slurm_unit/common/Makefile.am @@ -9,7 +9,7 @@ elan_lib = endif INCLUDES = -I$(top_srcdir) -LDADD = $(top_builddir)/src/api/libslurm.o -ldl\ +LDADD = $(top_builddir)/src/api/libslurm.o $(DL_LIBS)\ $(elan_lib) check_PROGRAMS = \
binE7sZ0jqSmu.bin
Description:
