Re: parallel make broken
On 22 June 2013 23:06, Mike Frysinger wrote: > On Saturday 22 June 2013 15:07:49 Ben Laurie wrote: >> On 22 June 2013 19:04, Mike Frysinger wrote: >> > On Wednesday 19 June 2013 07:21:39 Ben Laurie wrote: >> >> On 18 June 2013 22:35, Mike Frysinger wrote: >> >> > On Tuesday 18 June 2013 07:37:55 Richard Weinberger wrote: >> >> >> While building openssl-1.0.1e I noticed that the parallel build >> >> >> is broken. >> >> > >> >> > yes, it's pretty much always been broken >> >> > >> >> >> I found this patch on the net: >> >> >> http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/open >> >> >> ssl /fi les/openssl-1.0.1-parallel-build.patch With it applied >> >> >> openssl builds fine in parallel. >> >> > >> >> > heh, you've found me! the referenced ticket says it's been merged, >> >> > but it doesn't seem that way (at least for the latest branch). >> >> >> >> You are right it hasn't been merged. One problem with it is it doesn't >> >> work with BSD make (BSD make doesn't understand | in dependencies). >> > >> > true, but the patch posted to RT didn't include that, and that usage >> > shows up only twice in the current Gentoo patch. plenty of the other >> > parts can be merged now so it's not nearly as terrible. >> > >> > i wonder if the | can be written instead like: >> > lib: >> > $(MAKE) subdirs >> > $(MAKE) $(LIB) >> > @touch lib >> > $(LIB): $(LIBOBJ) >> > ... >> >> I don't know, but FWIW, I've also been working on -j stuff, but using >> the mk1mf script (see the GitConfigure and GitMake scripts in master >> and 1.0.2). My version is at least twice as fast as yours - on my >> machine :-) > > to be fair, i was just trying to make it work rather than rewrite things > > unfortunately mk1mf is a perl script, and i've been doing my damnedest to make > sure perl isn't a requirement to build a base system. we've been able to > avoid this so far w/openssl ... Well, you need perl to run Configure already, so presumably you do that in advance. You could do the same with mk1mf. > >> Possibly the right answer is to simply move to a single makefile... > > that might work > -mike __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: parallel make broken
On Saturday 22 June 2013 15:07:49 Ben Laurie wrote: > On 22 June 2013 19:04, Mike Frysinger wrote: > > On Wednesday 19 June 2013 07:21:39 Ben Laurie wrote: > >> On 18 June 2013 22:35, Mike Frysinger wrote: > >> > On Tuesday 18 June 2013 07:37:55 Richard Weinberger wrote: > >> >> While building openssl-1.0.1e I noticed that the parallel build > >> >> is broken. > >> > > >> > yes, it's pretty much always been broken > >> > > >> >> I found this patch on the net: > >> >> http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/open > >> >> ssl /fi les/openssl-1.0.1-parallel-build.patch With it applied > >> >> openssl builds fine in parallel. > >> > > >> > heh, you've found me! the referenced ticket says it's been merged, > >> > but it doesn't seem that way (at least for the latest branch). > >> > >> You are right it hasn't been merged. One problem with it is it doesn't > >> work with BSD make (BSD make doesn't understand | in dependencies). > > > > true, but the patch posted to RT didn't include that, and that usage > > shows up only twice in the current Gentoo patch. plenty of the other > > parts can be merged now so it's not nearly as terrible. > > > > i wonder if the | can be written instead like: > > lib: > > $(MAKE) subdirs > > $(MAKE) $(LIB) > > @touch lib > > $(LIB): $(LIBOBJ) > > ... > > I don't know, but FWIW, I've also been working on -j stuff, but using > the mk1mf script (see the GitConfigure and GitMake scripts in master > and 1.0.2). My version is at least twice as fast as yours - on my > machine :-) to be fair, i was just trying to make it work rather than rewrite things unfortunately mk1mf is a perl script, and i've been doing my damnedest to make sure perl isn't a requirement to build a base system. we've been able to avoid this so far w/openssl ... > Possibly the right answer is to simply move to a single makefile... that might work -mike signature.asc Description: This is a digitally signed message part.
Re: parallel make broken
On 22 June 2013 19:04, Mike Frysinger wrote: > On Wednesday 19 June 2013 07:21:39 Ben Laurie wrote: >> On 18 June 2013 22:35, Mike Frysinger wrote: >> > On Tuesday 18 June 2013 07:37:55 Richard Weinberger wrote: >> >> While building openssl-1.0.1e I noticed that the parallel build >> >> is broken. >> > >> > yes, it's pretty much always been broken >> > >> >> I found this patch on the net: >> >> http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/openssl >> >> /fi les/openssl-1.0.1-parallel-build.patch With it applied openssl >> >> builds fine in parallel. >> > >> > heh, you've found me! the referenced ticket says it's been merged, but >> > it doesn't seem that way (at least for the latest branch). >> >> You are right it hasn't been merged. One problem with it is it doesn't >> work with BSD make (BSD make doesn't understand | in dependencies). > > true, but the patch posted to RT didn't include that, and that usage shows up > only twice in the current Gentoo patch. plenty of the other parts can be > merged now so it's not nearly as terrible. > > i wonder if the | can be written instead like: > lib: > $(MAKE) subdirs > $(MAKE) $(LIB) > @touch lib > $(LIB): $(LIBOBJ) > ... I don't know, but FWIW, I've also been working on -j stuff, but using the mk1mf script (see the GitConfigure and GitMake scripts in master and 1.0.2). My version is at least twice as fast as yours - on my machine :-) Possibly the right answer is to simply move to a single makefile... __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: parallel make broken
On Wednesday 19 June 2013 07:21:39 Ben Laurie wrote: > On 18 June 2013 22:35, Mike Frysinger wrote: > > On Tuesday 18 June 2013 07:37:55 Richard Weinberger wrote: > >> While building openssl-1.0.1e I noticed that the parallel build > >> is broken. > > > > yes, it's pretty much always been broken > > > >> I found this patch on the net: > >> http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/openssl > >> /fi les/openssl-1.0.1-parallel-build.patch With it applied openssl > >> builds fine in parallel. > > > > heh, you've found me! the referenced ticket says it's been merged, but > > it doesn't seem that way (at least for the latest branch). > > You are right it hasn't been merged. One problem with it is it doesn't > work with BSD make (BSD make doesn't understand | in dependencies). true, but the patch posted to RT didn't include that, and that usage shows up only twice in the current Gentoo patch. plenty of the other parts can be merged now so it's not nearly as terrible. i wonder if the | can be written instead like: lib: $(MAKE) subdirs $(MAKE) $(LIB) @touch lib $(LIB): $(LIBOBJ) ... -mike signature.asc Description: This is a digitally signed message part.
Re: parallel make broken
On 18 June 2013 22:35, Mike Frysinger wrote: > On Tuesday 18 June 2013 07:37:55 Richard Weinberger wrote: >> While building openssl-1.0.1e I noticed that the parallel build >> is broken. > > yes, it's pretty much always been broken > >> I found this patch on the net: >> http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/openssl/fi >> les/openssl-1.0.1-parallel-build.patch With it applied openssl builds fine >> in parallel. > > heh, you've found me! the referenced ticket says it's been merged, but it > doesn't seem that way (at least for the latest branch). You are right it hasn't been merged. One problem with it is it doesn't work with BSD make (BSD make doesn't understand | in dependencies). > the feedback loop > w/the rt tracker has been kind of bad, so i lose incentive to fix keep posting > patches. > > the other thing you should do is to run: > make -j1 depend > make -jN > -mike __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: parallel make broken
On Tuesday 18 June 2013 07:37:55 Richard Weinberger wrote: > While building openssl-1.0.1e I noticed that the parallel build > is broken. yes, it's pretty much always been broken > I found this patch on the net: > http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/openssl/fi > les/openssl-1.0.1-parallel-build.patch With it applied openssl builds fine > in parallel. heh, you've found me! the referenced ticket says it's been merged, but it doesn't seem that way (at least for the latest branch). the feedback loop w/the rt tracker has been kind of bad, so i lose incentive to fix keep posting patches. the other thing you should do is to run: make -j1 depend make -jN -mike signature.asc Description: This is a digitally signed message part.
parallel make broken
Hi! While building openssl-1.0.1e I noticed that the parallel build is broken. If I try to build openssl with make -j N where N is > 1 the build fails due to unresolved symbols. E.g: make[2]: Entering directory `/home/rw/work/vpnbox/v2/maker/_build/openssl/openssl-1.0.1e/apps' make[2]: Warnung: Kein Jobserver verfügbar: -j1 wird gesetzt. »+« zur Ursprungsregel gcc -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DTERMIO -O3 -fomit-frame-pointer -Wall -c -o rand_win.o rand_win.c req.o: In function `genpkey_cb': req.c:(.text+0x1e): undefined reference to `EVP_PKEY_CTX_get_app_data' req.c:(.text+0x30): undefined reference to `EVP_PKEY_CTX_get_keygen_info' req.c:(.text+0x51): undefined reference to `BIO_write' req.c:(.text+0x71): undefined reference to `BIO_ctrl' req.o: In function `do_X509_sign': req.c:(.text+0xd0): undefined reference to `EVP_MD_CTX_init' req.c:(.text+0xe4): undefined reference to `EVP_MD_CTX_init' req.c:(.text+0x110): undefined reference to `EVP_DigestSignInit' req.c:(.text+0x128): undefined reference to `sk_value' make -j 1 on the other hand build perfectly fine. I found this patch on the net: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/openssl/files/openssl-1.0.1-parallel-build.patch With it applied openssl builds fine in parallel. Is this a known issue? I'm wondering why this patch is not mainline... Thanks, //richard P.s: Please CC me, I'm not subscribed. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org