Terri,

I downloaded 1.0.1 and here's how I built it:

1) Update the Configure perl script and add this line (after the existing
OS390-Unix line, which isn't used):

"OS/390","c99_x:-O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H
 -D_ALL_SOURCE::(unknown):::THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR
RC4_INDEX RC4_CHAR BF_PTR:::",

Notice that all I changed was to change the label to "OS/390" and to use
the c99_x command.
- c99 means to use STDC99, which automatically implies LONGLONG.  This
avoids the shell quoting issues.
- the c99_x means to compile and link using XPLINK linkage.  You may or may
not want this, depending on what you are using it for.   If you have a
non-XPLINK application and you want to use it with the openssl dll, then
you will want to use just "c99"

2) ensure that perl and gmake are in your PATH

3) chmod +x tools/*

4)
export MAKE=gmake
export _C89_CCMODE=1   (not sure that this is needed any more with the c99
command)

5) $MAKE

I get these errors:
ERROR CCN3045 ./b_sock.c:888   Undeclared identifier NI_MAXHOST.
ERROR CCN4324 ./b_sock.c:888   Array size must have integer type.
ERROR CCN3045 ./b_sock.c:888   Undeclared identifier NI_MAXSERV.
ERROR CCN4324 ./b_sock.c:888   Array size must have integer type.

So, I added these lines to crypto/bio/b_sock.c starting at line 102

#ifndef NI_MAXSERV
#define NI_MAXSERV 32
#endif
#ifndef NI_MAXHOST
#define NI_MAXHOST 1025
#endif

I get the following warnings, which I think may be OK.  The problem are
missing #includes (which are probably different on z/OS) -

WARNING CCN4421 ./a_print.c:90    Implicit function declaration for
function "isalnum"
WARNING CCN4421 ./t_x509.c:498   Implicit function declaration for function
"isupper".
WARNING CCN4421 ./ameth_lib.c:234   Implicit function declaration for
function "strncasecmp".
WARNING CCN4421 ./f_int.c:136   Implicit function declaration for function
"isxdigit".
WARNING CCN4421 ./f_string.c:136   Implicit function declaration for
function "isxdigit".
WARNING CCN4421 ./v3_ncons.c:408   Implicit function declaration for
function "strcasecmp".
WARNING CCN4421 ./v3_ncons.c:430   Implicit function declaration for
function "strcasecmp".
WARNING CCN4421 ./v3_ncons.c:453   Implicit function declaration for
function "strcasecmp".
WARNING CCN4421 ./v3_ncons.c:494   Implicit function declaration for
function "strncasecmp".
WARNING CCN4421 ./v3_ncons.c:500   Implicit function declaration for
function "strncasecmp".

but everything links OK, so these are probably OK.  (but the correct
include file may have an improved macro / inlined implementation, so this
should probably be fixed).


Kirk Wolf
Dovetailed Technologies
http://dovetail.com


On Tue, Apr 10, 2012 at 2:06 PM, Shaffer, Terri E <
[email protected]> wrote:

> I just looked at the cversion.c member and I guess this code doesn't like
> the backslashes escapes.
>
> As these are lines 83 and 85 of the source.
>
> #ifdef CFLAGS
>  static char bufÝsizeof(CFLAGS)+11¨;
>
>  BIO_snprintf(buf,sizeof buf,"compiler: %s",CFLAGS);
>  return(buf);
>
> Thanks
>
> Ms. Terri E. Shaffer
> [email protected]
> Engineer
> J.P.Morgan Chase & Co.
> GTI DCT ECS Core Services zSoftware Group / Emerging Technologies
> Office: # 614-213-3467
> Cell: # 412-519-2592
>
>
> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:[email protected]] On
> Behalf Of Shaffer, Terri E
> Sent: Tuesday, April 10, 2012 2:52 PM
> To: [email protected]
> Subject: Re: openssl make - z/OS UNIX question - Help
>
> Hi Kirk,
>  I figured out the backslashes in the Configure file on my own with the
> help of google searches, so I was able to get past passing the compiler
> parm issue. After it completed:
>
> I had to edit the makefile and change the cflag for langlvl and put back
> the backslashes.
>
> CC= xlc
> CFLAG= -DOPENSSL_THREADS  -O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H
> -D_ALL_SOURCE -W c,xplink,langlvl\(longlong\) DEPFLAG=
> -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -D
> OPENSSL_NO_MD2 -DOPENSSL_NO_RC4 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779
> -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE
>
> I tried double backslashes also and that caused other issues when I got to
> the gmake install but the Configure liked them.
>
> But the makefile was missing the backslashes, so I still had to edit.
>
> Everything else I think looked okay.
>
> I was then able to issue the gmake install command and my next round of
> problems started occurring.
>
> The first thing I will say this runs about 20 minutes until it stops even
> with the first 4 issues for ignored.
>
> xlc -I. -I.. -I../include  -DOPENSSL_THREADS  -O -DB_ENDIAN
> -DCHARSET_EBCDIC -DN
> O_SYS_PARAM_H -D_ALL_SOURCE -W c,xplink,langlvl\(longlong\)   -c -o
> cversion.o cversion.c
> WARNING CCN3235 ./cversion.c:83    Incorrect escape sequence \(. \ ignored.
> WARNING CCN3235 ./cversion.c:83    Incorrect escape sequence \). \ ignored.
> WARNING CCN3235 ./cversion.c:85    Incorrect escape sequence \(. \ ignored.
> WARNING CCN3235 ./cversion.c:85    Incorrect escape sequence \). \ ignored.
>
> Goes thru many directories within the crypto directory until it hits this
> error.
>
> xlc -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include
>  -DOPENSSL_THREAD S  -O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H
> -D_ALL_SOURCE -W c,xplink,lan
> glvl\(longlong\)   -c -o b_sock.o b_sock.c
> ERROR CCN3045 ./b_sock.c:888   Undeclared identifier NI_MAXHOST.
> ERROR CCN3195 ./b_sock.c:888   Integral constant expression with a value
> greater
>  than zero is required.
> ERROR CCN3045 ./b_sock.c:888   Undeclared identifier NI_MAXSERV.
> ERROR CCN3195 ./b_sock.c:888   Integral constant expression with a value
> greater
>  than zero is required.
> CCN0793(I) Compilation failed for file ./b_sock.c.  Object file not
> created.
> gmakeÝ2¨: *** Ýb_sock.o¨ Error 12
> gmakeÝ2¨: Leaving directory `/u/w012108/temp/openssl-1.0.1/crypto/bio'
> gmakeÝ1¨: *** Ýsubdirs¨ Error 1
> gmakeÝ1¨: Leaving directory `/u/w012108/temp/openssl-1.0.1/crypto'
> gmake: *** Ýbuild_crypto¨ Error 1
>
> I looked at the b.sock file and see char   hÝNI_MAXHOST¨,sÝNI_MAXSERV¨;
>
> I can also see .o members for many members that look like they worked.
>
> I understand about the codepage and my displays but not sure that would
> cause the make issues?
>
> At this stage I am not sure If I have a code issue with 1.0.1 version or
> something else I did wrong?
>
> Any ideas you have or if you try it is great. Tomorrow or Thursday or
> whenever is fine for a response, I just appreciate everything you have
> provided so far.
>
> My last option could be to download the previous version and try that to
> see if some of these new errors go away.
>
> Thanks
>
> Ms. Terri E. Shaffer
> [email protected]
> Engineer
> J.P.Morgan Chase & Co.
> GTI DCT ECS Core Services zSoftware Group / Emerging Technologies
> Office: # 614-213-3467
> Cell: # 412-519-2592
>
>
> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:[email protected]] On
> Behalf Of Kirk Wolf
> Sent: Tuesday, April 10, 2012 1:19 PM
> To: [email protected]
> Subject: Re: openssl make - z/OS UNIX question - Help
>
> David is right about your encoding.  Make sure that you have:  export
> LANG=C   which is the default.
> But the problem might be that you are running the z/OS Unix shell under
> TSO OMVS.  If so, set the encoding of your TN3270 emulator to be IBM-1047.
>  Even better would be to use ssh to login to a tty shell directly.
>
> But I don't think that this is your only problem...
> Since Configure builds a make file, then these command arguments are
> passed through the shell.  It looks to me like the parenthesis in
> langlvl(longlong) need to be somehow quoted or escaped.   This is tricky,
> since the string is supplied as part of a Perl variable (in Configure).
>
> So try adding a backslash like this:
>
> ...langlvl\(longlong\)....
>
> if that doesn't work, try double backslashes.
>
> if that doesn't work, let me know and I'll try playing around with this
> release myself.   I probably won't get to it today though.
>
> Kirk Wolf
> Dovetailed Technologies
> http://dovetail.com
>
>
> On Tue, Apr 10, 2012 at 9:55 AM, David Crayford <[email protected]>
> wrote:
>
> > Make sure you are using the right codepage. Are you sure you are
> > running the shell in 1047? looks like it may be 037 judging by the
> > mangled square brackets
> >
> >
> > On 10/04/2012 10:46 PM, Shaffer, Terri E wrote:
> >
> >> Hi Kirk,
> >>   Not sure about the extra asterisks, I copied your example at the
> >> beginning of this email and pasted into my Configure file.
> >>
> >> I did make it into 1 long line then.
> >>
> >> I don't know too much, or pretty much nothing about how these parms
> >> should look, so I am sortof at a loss and try a few things before I
> >> respond.  I took your new example and pasted into my Configure and
> >> again made it into 1 long line.
> >>
> >> The Configure works and received Configured for *OS/390*.
> >>
> >> When I tried to the gmake install I get
> >> W012108:SDEV(DEV):/u/w012108/**temp/openssl-1.0.1>  gmake install
> >> making all in crypto...
> >> gmakeÝ1¨: Entering directory `/u/w012108/temp/openssl-1.0.**1/crypto'
> >> xlc -I. -I.. -I../include  -DOPENSSL_THREADS  -O -DB_ENDIAN
> >> -DCHARSET_EBCDIC -DN
> >> O_SYS_PARAM_H -Wc,xplink,langlvl(longlong) -D_ALL_SOURCE   -c -o
> >> cryptlib.o cryptlib.c
> >> syntax error: got (, expecting Newline
> >> gmakeÝ1¨: *** Ýcryptlib.o¨ Error 1
> >> gmakeÝ1¨: Leaving directory `/u/w012108/temp/openssl-1.0.**1/crypto'
> >> gmake: *** Ýbuild_crypto¨ Error 1
> >>
> >> So it looks like there is something wrong with the specification but
> >> not sure what?
> >>
> >> I tried looking at the OSXL C/C++User's Guide but there are really no
> >> examples on how this would be specified in the perl script.
> >>
> >> I appreciate your help and sorry to be lost.
> >>
> >> Thanks
> >>
> >> Ms. Terri E. Shaffer
> >> [email protected]
> >> Engineer
> >> J.P.Morgan Chase&  Co.
> >>
> >>
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions, send email
> to [email protected] with the message: INFO IBM-MAIN This
> communication is for informational purposes only. It is not intended as an
> offer or solicitation for the purchase or sale of any financial instrument
> or as an official confirmation of any transaction. All market prices, data
> and other information are not warranted as to completeness or accuracy and
> are subject to change without notice. Any comments or statements made
> herein do not necessarily reflect those of JPMorgan Chase & Co., its
> subsidiaries and affiliates.
>
> This transmission may contain information that is privileged,
> confidential, legally privileged, and/or exempt from disclosure under
> applicable law. If you are not the intended recipient, you are hereby
> notified that any disclosure, copying, distribution, or use of the
> information contained herein (including any reliance
> thereon) is STRICTLY PROHIBITED. Although this transmission and any
> attachments are believed to be free of any virus or other defect that might
> affect any computer system into which it is received and opened, it is the
> responsibility of the recipient to ensure that it is virus free and no
> responsibility is accepted by JPMorgan Chase & Co., its subsidiaries and
> affiliates, as applicable, for any loss or damage arising in any way from
> its use. If you received this transmission in error, please immediately
> contact the sender and destroy the material in its entirety, whether in
> electronic or hard copy format. Thank you.
>
> Please refer to http://www.jpmorgan.com/pages/disclosures for disclosures
> relating to European legal entities.
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions, send email
> to [email protected] with the message: INFO IBM-MAIN
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to