[openssl-dev] Upcoming build system change

Corinna Vinschen vinschen at redhat.com
Sun Jan 24 12:04:04 UTC 2016


On Jan 23 22:08, Richard Levitte wrote:
> In message <20160123202758.GA13479 at calimero.vinschen.de> on Sat, 23 Jan 2016 21:27:58 +0100, Corinna Vinschen <vinschen at redhat.com> said:
> vinschen> Second, the build fails trying to compile crypto/cversion.c:
> vinschen> 
> vinschen> crypto/cversion.c:62:23: fatal error: buildinf.h: No such file or directory
> vinschen>  # include "buildinf.h"
> vinschen>                        ^
> vinschen> 
> vinschen> The reason is that buildinf.h can't be built because util/mkbuildinf.pl
> vinschen> requires /usr/local/bin/perl rather than /usr/bin/perl:
> vinschen> 
> vinschen> diff -upr origsrc/openssl-1.1-rc1/util/mkbuildinf.pl src/openssl-1.1-rc1/util/mkbuildinf.pl
> vinschen> --- origsrc/openssl-1.1-rc1/util/mkbuildinf.pl	2016-01-23 21:02:18.386710976 +0100
> vinschen> +++ src/openssl-1.1-rc1/util/mkbuildinf.pl	2016-01-23 21:15:19.705883094 +0100
> vinschen> @@ -1,4 +1,4 @@
> vinschen> -#!/usr/local/bin/perl
> vinschen> +#!/usr/bin/perl
> vinschen>  
> vinschen>  my ($cflags, $platform) = @ARGV;
> 
> Interesting...  Shouldn't the crypto/buildinf.h target have failed?

It didn't.  I just got the error message later with crypto/cversion.c.

> vinschen> Last but not least, we have another problem with enginesdir.  To allow a
> vinschen> rolling release cycle, we have to support multiple versions of openssl
> vinschen> in parallel.  The problem here is that the enginesdir needs to be
> vinschen> versioned to allow per-openssl version engines.  The build scripts don't
> vinschen> allow for this.  Right now we're using a patch as the below one to tweak
> vinschen> the configury to allow specifying the engines dir during build time.
> vinschen> Would it hurt terribly to include something like the below patch?
> vinschen> 
> vinschen> 
> vinschen> +++ src/openssl-1.1-rc1/Configure	2016-01-23 21:03:43.604076740 +0100
> vinschen> @@ -221,6 +221,7 @@ $config{prefix}="";
> vinschen>  $config{openssldir}="";
> vinschen>  $config{processor}="";
> vinschen>  $config{libdir}="";
> vinschen> +$config{enginesdir}="";
> vinschen>  $config{install_prefix}= "$ENV{'INSTALL_PREFIX'}";
> vinschen>  $config{cross_compile_prefix}="";
> vinschen>  $config{fipslibdir}="/usr/local/ssl/fips-2.0/lib/";
> vinschen> @@ -633,6 +634,10 @@ foreach (@argvcopy)
> vinschen>  			{
> vinschen>  			$config{libdir}=$1;
> vinschen>  			}
> vinschen> +		elsif (/^--enginesdir=(.*)$/)
> vinschen> +			{
> vinschen> +			$config{enginesdir}=$1;
> vinschen> +			}
> vinschen>  		elsif (/^--openssldir=(.*)$/)
> vinschen>  			{
> vinschen>  			$config{openssldir}=$1;
> vinschen> @@ -893,7 +898,7 @@ if ($target{build_file} eq "Makefile"
> vinschen>  $target{multilib}="" if !-d "$config{prefix}/lib$target{multilib}";
> vinschen>  
> vinschen>  $config{libdir}="lib$target{multilib}" if $config{libdir} eq "";
> vinschen> -$config{enginesdir}=$config{prefix} . "/" . $config{libdir}  . "/engines";
> vinschen> +$config{enginesdir}=$config{prefix} . "/" . $config{libdir}  . "/engines" if $config{enginesdir} eq "";
> vinschen>  
> vinschen>  push @{$config{defines}},
> vinschen>      map { (my $x = $_) =~ s/^OPENSSL_NO_/OPENSSL_EXPERIMENTAL_/; $x }
> 
> Sure, that can be done.

Thanks!

> BTW, the refactor-build branch is a little off right now...  I have a
> bunch of fixes in my personal repo that haven't gone out there yet.
> Dunno if you've followed what's happening in master, but FYI, the
> refactor-build branch is starting to show up there, one little piece
> at a time (doing it that way made it easier for our review process).
> So right now, refactor-build is on pause until enough has come out on
> master.

Ok, no worries.  I'm quite busy with non-Cygwin stuff right now anyway
so I'm not concerned if this takes a bit more time :}


Corinna
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://mta.openssl.org/pipermail/openssl-dev/attachments/20160124/82f63539/attachment-0001.sig>


More information about the openssl-dev mailing list