Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#58957 closed defect (fixed)

liboauth @1.0.3_2: build fails against openssl 1.1.1

Reported by: kencu (Ken) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: liboauth

Description

this is on 10.6.8 at the moment

:info:build libtool: compile:  /usr/bin/gcc-4.2 -DHAVE_CONFIG_H -I. -I/opt/local/include -Wall -pipe -Os -arch x86_64 -MT liboauth_la-oauth_http.lo -MD -MP -MF .deps/liboauth_la-oauth_http.Tpo -c oauth_http.c -o liboauth_la-oauth_http.o >/dev/null 2>&1
:info:build hash.c: In function 'oauth_sign_rsa_sha1':
:info:build hash.c:389: error: storage size of 'md_ctx' isn't known
:info:build hash.c:389: warning: unused variable 'md_ctx'
:info:build hash.c: In function 'oauth_verify_rsa_sha1':
:info:build hash.c:419: error: storage size of 'md_ctx' isn't known
:info:build hash.c:446: warning: implicit declaration of function 'EVP_MD_CTX_cleanup'
:info:build hash.c:419: warning: unused variable 'md_ctx'
:info:build hash.c: In function 'oauth_body_hash_file':
:info:build hash.c:458: error: storage size of 'ctx' isn't known
:info:build hash.c:458: warning: unused variable 'ctx'
:info:build hash.c: In function 'oauth_body_hash_data':
:info:build hash.c:478: error: storage size of 'ctx' isn't known
:info:build hash.c:478: warning: unused variable 'ctx'
:info:build make[2]: *** [liboauth_la-hash.lo] Error 1
:info:build make[2]: *** Waiting for unfinished jobs....
:info:build libtool: compile:  /usr/bin/gcc-4.2 -DHAVE_CONFIG_H -I. -I/opt/local/include -Wall -pipe -Os -arch x86_64 -MT liboauth_la-oauth.lo -MD -MP -MF .deps/liboauth_la-oauth.Tpo -c oauth.c -o liboauth_la-oauth.o >/dev/null 2>&1
:info:build mv -f .deps/liboauth_la-oauth_http.Tpo .deps/liboauth_la-oauth_http.Plo
:info:build mv -f .deps/liboauth_la-oauth.Tpo .deps/liboauth_la-oauth.Plo
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_liboauth/liboauth/work/liboauth-1.0.3/src'
:info:build make[1]: *** [all] Error 2
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_liboauth/liboauth/work/liboauth-1.0.3/src'
:info:build make: *** [all-recursive] Error 1

The configure script says to change to nss anyway, so perhaps that will be the thing to do. Trying that out now.

Attachments (2)

liboauth-build-fail-openssl111.log (23.7 KB) - added by kencu (Ken) 5 years ago.
liboauth-main.log (71.2 KB) - added by Schamschula (Marius Schamschula) 5 years ago.

Download all attachments as: .zip

Change History (10)

Changed 5 years ago by kencu (Ken)

comment:1 Changed 5 years ago by kencu (Ken)

see: <https://github.com/macports/macports-ports/pull/5229> for one possible fix, switching to nss...

comment:2 Changed 5 years ago by kencu (Ken)

Resolution: fixed
Status: newclosed

Dave pushed through a commit that did what this PR was going to do.

comment:3 Changed 5 years ago by Schamschula (Marius Schamschula)

Unfortunately, that fix does not work for my machine running High Sierra. See attached log.

Changed 5 years ago by Schamschula (Marius Schamschula)

Attachment: liboauth-main.log added

comment:4 Changed 5 years ago by kencu (Ken)

I don't really understand what is happening in your log.

Is your ld broken?

comment:5 Changed 5 years ago by Schamschula (Marius Schamschula)

Not that I'm aware of. ld works elsewhere.

comment:6 Changed 5 years ago by Schamschula (Marius Schamschula)

I saw some notes on the warnings on the internet. When I downgraded my command line tools to Xcode 9.4.1, the warnings went away.

The error remains. I'm not sure where we are picking up the link to libcrypto from openssl 1.0.x.

comment:7 Changed 5 years ago by kencu (Ken)

All I can think of doing just now is going into the proper build dir and running this command:

/usr/bin/clang -dynamiclib -Wl,-flat_namespace -Wl,-undefined -Wl,suppress -o .libs/liboauth.0.dylib  .libs/liboauth_la-oauth.o .libs/liboauth_la-hash.o .libs/liboauth_la-xmalloc.o .libs/liboauth_la-oauth_http.o   -L/opt/local/lib -L/opt/local/lib/nss -L/opt/local/lib/nspr -lssl3 -lsmime3 -lnssutil3 -lnss3 -lplds4 -lplc4 -lnspr4 -lcurl  -Os -arch x86_64 -Wl,-headerpad_max_install_names -arch x86_64   -install_name  /opt/local/lib/liboauth.0.dylib -compatibility_version 9 -current_version 9.7 -Wl,-single_module -Wl,-exported_symbols_list,.libs/liboauth-symbols.expsym

With an extra -Wl,-v added on to see where the linker is failing. And if that gets you nowhere, I'd pull out this -Wl,-undefined -Wl,suppress and then see what it tells you.

comment:8 Changed 5 years ago by Schamschula (Marius Schamschula)

This one is ripe for the journal of sometimes reproducible results:

In order to finish my updates, I uninstalled the only dependent of liboauth: viking. As expected all other updates finished.

I just got back from teaching another class, so I again tried to install liboauth. This time it succeeded. I then (re)installed viking, and all is well.

Last edited 5 years ago by Schamschula (Marius Schamschula) (previous) (diff)
Note: See TracTickets for help on using tickets.