Hallo.

Alexander Harm <cont...@aharm.de> wrote:
 |I’m trying to build s-nail/s-mailx on macOS to ultimately create a \
 |Homebrew formula for it.

This is great, thank you very much!

 |While configure works fine, the build process fails as soon as OpenSSL \
 |is involved:
 |
 |* make CONFIG=NULL: works 
 |* make CONFIG=MINIMAL: works 
 |* make CONFIG=MEDIUM: works 
 |* make CONFIG=NETSEND: fails 
 |* make CONFIG=MAXIMUM: fails 
 |
 |The output of
 |
 |C_INCLUDE_PATH="${C_INCLUDE_PATH}:/usr/local/opt/openssl/include"
 |LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/opt/openssl/lib"
 |export C_INCLUDE_PATH LD_LIBRARY_PATH
 |make CONFIG=NETSEND OPT_DEBUG=yes all
 |
 |is
 |
 |Undefined symbols for architecture x86_64:
 |  "_PKCS7_final", referenced from:
 |      _smime_sign in xssl.o
 |  "_PKCS7_sign_add_signer", referenced from:
 |      _smime_sign in xssl.o
 |ld: symbol(s) not found for architecture x86_64
 |clang: error: linker command failed with exit code 1 (use -v to see \
 |invocation)
 |
 |The linked OpenSSL version is
 |
 |/usr/local/opt/openssl/bin/openssl version
 |OpenSSL 1.0.2l  25 May 2017
 |
 |Attached all files from the process.

Thank you.  (The huge mk-config.log reminds me of not storing
error number conversion output there.  Sorry!)

I do not have any Mac OS with development tools since about two
years, but that problem is mysterious, hmmm ...

Well for one i think you should change the order of
LD_LIBRARY_PATH and C_INCLUDE_PATH and place your specific OpenSSL
installation path first, since otherwise the system headers will
surely be found first.  This shoots a [edited: multiple, as below]
thought[s] through what is in between my ears, however.

Is this /usr/local/opt a standard Homebrew installation?  With
/include and /lib and /bin etc.?  I wonder whether i should add
that for automatic detection, then.  Or drop support of pkgsrc
path detection.  Or add support for Homebrew on MacOS (`uname -s`
== Darwin that is), we actually even need special rules for
Solaris (and OpenCSW), so why not Homebrew, too?  What do you say?

And then i wonder what is wrong.  If i do something comparable

  $ LD_LIBRARY_PATH=/home/steffen/usr/opt/.ressl/lib:$LD_LIBRARY_PATH \
    C_INCLUDE_PATH=/home/steffen/usr/opt/.ressl/include:$C_INCLUDE_PATH \
    make CONFIG=NETSEND config CC=tcc &&
    cat mk-config.inc mk-config.lib
  -I./ -I/home/steffen/usr/opt/.ressl/include -I/home/steffen/usr/include 
-I/home/steffen/usr/opt/tcc-mob/include -I/usr/local/include -I/usr/include  
  -L/home/steffen/usr/opt/.ressl/lib/ -L/home/steffen/usr/lib 
-L/home/steffen/usr/opt/tcc-mob/lib -L/home/steffen/usr/opt/pcc/lib -L/lib 
-L/usr/local/lib -L/usr/lib  -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lk5crypto 
-lcom_err -lidn 

and compare this output with the files you have sent:

  -I/usr/local/opt/openssl/include  
   -liconv -lssl -lcrypto -dynamic -Wl,-search_paths_first -lkrb5 

then this is fundamentally different?
And oh!  Our configuration does exactly this for OpenCSW as well
as pkgsrc, and places those package paths last!  I will fix this
in a minute.  Also INSTALL should mention this.  Ditto.

As a side note i wondered shortly before the v14.9.0 release
whether i should remove all the CONFIG= stuff, at least the public
documentation.  But even if not, i really should change them to
"require" all announced features.  So, ok, also in a minute,
i will do that and only keep NULL, NULLI, MINIMAL and NETSEND, and
MINIMAL will gain the MLE command line editor.  Thanks for
mentioning this!  You made my saturday!  ^.^

Does this help a bit on Mac OS?
Ciao!

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

Reply via email to