To be clear, I fully support what you say. Ordinarily, I would just do the port, but sadly (a) I am totally buried at work right now, and (b) I have no way to verify that the patches actually work.
If/when you have time, do let me know the results and I'll be happy to proceed. Thanks Ralph On Aug 2, 2014, at 12:49 PM, Paul Hargrove <phhargr...@lbl.gov> wrote: > Ralph, > > My position on support for OpenBSD is the same as the numerous other > operating systems, cpu architectures and compilers I help test on. I feel > that every additional platform for which one can maintain support improves > the chance of catching bugs in ones code and reduces the effort to port to > new platforms in the future, making portability a goal rather than just a > means to ones ends. > > Therefore, I believe that resolving portability issues is deserving of effort > that may seem out of proportion to the number of potential users of a given > port. Keep in mind that when I have time I aggressively test to help ensure > the wide portability of Open MPI despite the fact that I have never written > an MPI application outside of course work (over ten years ago). I am not an > MPI developer or user - I am an advocate for portable HPC middleware. > > Unless somebody beat me to it, I will create a ticket for this issue > assigning it to myself. > If/when I have the time I will try libevent patches to resolve the problem. > > Regarding the possibility that this is fixed in a later libevent than is > packaged with Open MPI, I had a look at the OpenBSD ports tree. They have > libevent-2.0.21-stable and still apply patches to remove the use of > arc4random_addrandom(). I believe that is the same version packages with > Open MPI and so their patches will be the starting point for trying to fix > libevent in Open MPI. > > Now having said all of that, I find that the OpenBSD ports tree and > repository of binary packages still contain Open MPI 1.4.1 (and nothing > newer) and no version of mpich at all (and thankfully no LAM/MPI). This > suggests that either > a) there is no demand at all for MPI on OpenBSD > b) there are users working building from sources > > So, there is absolutely no reason to believe there is any time sensitivity > for resolution of this issue. Only I am likely to ever notice the lack of > OpenBSD support. > > -Paul > > > On Sat, Aug 2, 2014 at 11:46 AM, Ralph Castain <r...@open-mpi.org> wrote: > This was apparently somewhat recent - here is the OpenBSD ticket regarding it: > > http://sourceforge.net/p/levent/bugs/320/ > > If someone feels it important that we continue supporting OpenBSD, one might > explore the solution recommended in that ticket. It's also possible that the > libevent guys are working on solving it too (or may have already done so in a > later version than we include) > > > On Aug 1, 2014, at 4:07 PM, Paul Hargrove <phhargr...@lbl.gov> wrote: > >> I am seeing the following on OpenBSD/amd64 with "make V=1": >> >> Making all in tools/wrappers >> /bin/sh ../../../libtool --tag=CC --mode=link gcc -std=gnu99 -g >> -finline-functions -fno-strict-aliasing -pthread -export-dynamic -o >> opal_wrapper opal_wrapper.o ../../../opal/libopen-pal.la -lutil -lm >> libtool: link: gcc -std=gnu99 -g -finline-functions -fno-strict-aliasing >> -pthread -o .libs/opal_wrapper opal_wrapper.o -Wl,-E -L../../../opal/.libs >> -lopen-pal -lpthread -lutil -lm -pthread >> -Wl,-rpath,/home/phargrov/OMPI/openmpi-1.8.2rc3-openbsd5-amd64/INST/lib >> ../../../opal/.libs/libopen-pal.so.8.0: warning: vsprintf() is often >> misused, please use vsnprintf() >> ../../../opal/.libs/libopen-pal.so.8.0: warning: strcpy() is almost always >> misused, please use strlcpy() >> ../../../opal/.libs/libopen-pal.so.8.0: warning: random() isn't random; >> consider using arc4random() >> ../../../opal/.libs/libopen-pal.so.8.0: warning: strcat() is almost always >> misused, please use strlcat() >> ../../../opal/.libs/libopen-pal.so.8.0: warning: sprintf() is often misused, >> please use snprintf() >> ../../../opal/.libs/libopen-pal.so.8.0: undefined reference to >> `arc4random_addrandom' >> collect2: ld returned 1 exit status >> *** Error 1 in opal/tools/wrappers (Makefile:1623 'opal_wrapper') >> *** Error 1 in opal (Makefile:2145 'all-recursive') >> *** Error 1 in /home/phargrov/OMPI/openmpi-1.8.2rc3-openbsd5-amd64/BLD >> (Makefile:1689 'all-recursive') >> >> Ignoring OpenBSD's typical warnings about functions their developers don't >> like there is an undefined reference to arc4random_addrandom. The only >> explicit reference appears to be in libevent: >> >> $ grep -rlw arc4random_addrandom . >> ./opal/mca/event/libevent2021/libevent/evutil_rand.c >> ./opal/mca/event/libevent2021/libevent/arc4random.c >> >> It appears that OpenBSD has arc4random, but no arc4random_addrandom(): >> /usr/include/stdlib.h:u_int32_t arc4random(void); >> /usr/include/stdlib.h:u_int32_t arc4random_uniform(u_int32_t); >> /usr/include/stdlib.h:void arc4random_buf(void *, size_t) >> >> I tried to work-around this by adding "ac_cv_func_arc4random=no" to the >> configure command line, but that creates secondary problems because the #if >> logic in libevent doesn't allow for the case that arc4random() does not >> exist but arc4random_buf() does: >> >> In file included from >> /home/phargrov/OMPI/openmpi-1.8.2rc3-openbsd5-amd64/openmpi-1.8.2rc3/opal/mca/event/libev >> ent2021/libevent/evutil_rand.c:119: >> /home/phargrov/OMPI/openmpi-1.8.2rc3-openbsd5-amd64/openmpi-1.8.2rc3/opal/mca/event/libevent2021/libevent/./arc >> 4random.c:482: error: static declaration of 'arc4random_buf' follows >> non-static declaration >> /usr/include/stdlib.h:308: error: previous declaration of 'arc4random_buf' >> was here >> >> Use of --with-libevent=... was no use because the pre-built libevent package >> for OpenBSD lacks thread support. >> >> So, I am left without any recipe to build 1.8.2rc3 on OpenBSD. >> HOWEVER, is appears that 1.8, 1.8.1 and trunk all have the same problem. >> Of course, I am the only one who tests Open MPI on OpenBSD, and I don't >> actually USE it. >> So, this is not any sort of a priority as far as I am concerned. >> >> -Paul >> >> >> >> >> >> >> -- >> Paul H. Hargrove phhargr...@lbl.gov >> Future Technologies Group >> Computer and Data Sciences Department Tel: +1-510-495-2352 >> Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Link to this post: >> http://www.open-mpi.org/community/lists/devel/2014/08/15466.php > > > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/08/15472.php > > > > -- > Paul H. Hargrove phhargr...@lbl.gov > Future Technologies Group > Computer and Data Sciences Department Tel: +1-510-495-2352 > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/08/15473.php