openpmix/pmix-tests

Problem compiling code in unit folder

gvallee opened this issue · 0 comments

Version

master@304ecf001d1ec4ca02e97b03ff04868b3e8c31cf on Ubuntu Eoan both arm64 and x86_64

Description of the problem

When trying to compile the code, I get the following error:

$ make V=1
gcc -DPACKAGE_NAME=\"pmix-unit\" -DPACKAGE_TARNAME=\"pmix-unit\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"pmix-unit\ 1.0\" -DPACKAGE_BUGREPORT=\"http://pmix.org\" -DPACKAGE_URL=\"\" -DPMIXUNIT_CONFIGURE_USER=\"user\" -DPMIXUNIT_CONFIGURE_HOST=\"geoffroy-jetsonnano\" -DPMIXUNIT_CONFIGURE_DATE=\"Fri\ Mar\ 13\ 20:09:06\ EDT\ 2020\" -DPACKAGE=\"pmix-unit\" -DVERSION=\"1.0\" -DPMIXTEST_ARCH=\"aarch64-unknown-linux-gnu\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_HWLOC_H=1 -DHAVE_EVENT_H=1 -DPMIX_HAVE_LIBEVENT=0 -I.   -I/home/user/install/pmix_master/include -I/home/user/install/hwloc-2.0.4/include  -g -MT pmix_test.o -MD -MP -MF .deps/pmix_test.Tpo -c -o pmix_test.o pmix_test.c
In file included from server_callbacks.h:16,
                 from pmix_test.c:35:
cli_stages.h:28:10: fatal error: event.h: No such file or directory
   28 | #include <event.h>
      |          ^~~~~~~~~
compilation terminated.
make: *** [Makefile:540: pmix_test.o] Error 1

Note that the path to the libevent lib and include is not properly inserted.

Interesting output from configure:

checking for libevent in... /home/user/install/libevent-2.1.10/include and /home/user/install/libevent-2.1.10/lib
looking for header in /home/user/install/libevent-2.1.10/include
checking event.h usability... yes
checking event.h presence... yes
checking for event.h... yes
checking for library containing event_config_new... -levent
checking for evthread_set_lock_callbacks in -levent... no
configure: WARNING: External libevent does not have thread support
configure: WARNING: PMIx_unit requires libevent to be compiled with
configure: WARNING: thread support enabled
checking will libevent support be built... no
checking --with-pmix value... sanity check ok (/home/user/install/pmix_master/include)
checking libpmix.* in /home/user/install/pmix_master/lib64... not found
checking libpmix.* in /home/user/install/pmix_master/lib... found
checking for PMIx version file... found
checking version 4x... found
checking pmix.h usability... yes
checking pmix.h presence... yes
checking for pmix.h... yes
checking for PMIx_Init... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
config.status: executing libtool commands

libevent has been configured and installed based on the following command:

$ ./configure --prefix=/home/user/install/libevent-2.1.10 --enable-thread-support

PMIx was configured with the following command:

$ ./configure --prefix=/home/user/install/pmix_master --with-libevent=/home/user/install/libevent-2.1.10 --with-hwloc=/home/user/install/hwloc-2.0.4

I did not really have the time to investigate further than that. config/pmix_unit_setup_libevent.m4 seems to be looking for evthread_set_lock_callbacks and do not find it, however, it is defined in the lib:

$ nm libevent.so | grep evthread_set_lock_callbacks
0000000000027628 T evthread_set_lock_callbacks