[MacPorts] #70256: libfido2 at 1.14.0 build error

MacPorts noreply at macports.org
Wed Jun 19 20:16:33 UTC 2024


#70256: libfido2 at 1.14.0 build error
-----------------------+-----------------------------------
  Reporter:  dazuelos  |      Owner:  (none)
      Type:  defect    |     Status:  new
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.9.3
Resolution:            |   Keywords:  undeclared identifier
      Port:  libfido2  |
-----------------------+-----------------------------------
Changes (by dazuelos):

 * cc: dazuelos (added)


Old description:

> I am running macOS 10.10.5 + Xcode 7.2 + Command Line Tools 7.2.
>
> After a:
> {{{
> port -d selfupdate
> port -c -u upgrade outdated
> }}}
> which exited on error on libfido2, I ran:
> {{{
> port -c -u clean libfido2
> port -c -u install fido2
> }}}
> I got an error during the build phase.
> Looking at the log file, I went to the problem directory manually:
> {{{
> cd
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/build
> }}}
> and ran manually the mono-threaded make:
> {{{
> make -j1 -w all VERBOSE=ON
> }}}
>
> Which produced the following tail of log:
> {{{
> [...]
> cd
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/build/src
> && /usr/bin/clang -DHAVE_ARC4RANDOM_BUF -DHAVE_ASPRINTF -DHAVE_CBOR_H
> -DHAVE_CLOCK_GETTIME -DHAVE_DEV_URANDOM -DHAVE_ERR_H -DHAVE_GETLINE
> -DHAVE_GETOPT -DHAVE_MEMSET_S -DHAVE_OPENSSLV_H -DHAVE_READPASSPHRASE
> -DHAVE_SIGNAL_H -DHAVE_STRLCAT -DHAVE_STRLCPY -DHAVE_STRSEP
> -DHAVE_SYSCONF -DHAVE_UNISTD_H -DOPENSSL_API_COMPAT=0x10100000L
> -DTLS=__thread -D_FIDO_INTERNAL -D_FIDO_MAJOR=1 -D_FIDO_MINOR=14
> -D_FIDO_PATCH=0
> -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/libfido2-1.14.0/src
> -I/opt/local/include -I/opt/local/libexec/openssl3/include
> -D_POSIX_C_SOURCE=200809L -D_BSD_SOURCE -D_DARWIN_C_SOURCE
> -D__STDC_WANT_LIB_EXT1__=1 -std=c99 -pipe
> -I/opt/local/libexec/openssl3/include -Os -DNDEBUG
> -isystem/opt/local/include/LegacySupport
> -I/opt/local/libexec/openssl3/include -isystem/opt/local/include -arch
> x86_64 -mmacosx-version-min=10.10 -fPIC -Wall -Wextra -Werror -Wshadow
> -Wcast-qual -Wwrite-strings -Wmissing-prototypes -Wbad-function-cast
> -Wimplicit-fallthrough -pedantic -pedantic-errors -Wshorten-64-to-32
> -fstack-protector-all -Wconversion -Wsign-conversion -Wframe-larger-
> than=2047 -MD -MT src/CMakeFiles/fido2.dir/hid_osx.c.o -MF
> CMakeFiles/fido2.dir/hid_osx.c.o.d -o CMakeFiles/fido2.dir/hid_osx.c.o -c
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/libfido2-1.14.0/src/hid_osx.c
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/libfido2-1.14.0/src/hid_osx.c:189:59:
> error:
>       use of undeclared identifier 'id'
>         if (asprintf(&path, "%s%llu", IOREG, (unsigned long long)id) ==
> -1) {
>                                                                  ^
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/libfido2-1.14.0/src/hid_osx.c:195:10:
> error:
>       address of stack memory associated with local variable 'path'
> returned [-Werror,-Wreturn-stack-address]
>         return (path);
>                 ^~~~
> 2 errors generated.
> make[2]: *** [src/CMakeFiles/fido2.dir/hid_osx.c.o] Error 1
> make[2]: Leaving directory
> `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/build'
> make[1]: *** [src/CMakeFiles/fido2.dir/all] Error 2
> make[1]: Leaving directory
> `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/build'
> make: *** [all] Error 2
> make: Leaving directory
> `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/build'
> }}}
>
> This look like very similar to ticket:
> {{{
> #68333 assigned defect
> }}}
>
> I don't need libfido2 since I don't use Yubikey,
> but this library seems to be required by a lot of security tools I am
> using.
> ( squid3, postfix servers in production env. from MacPorts + research
> firewall based on PF + zsh + Perl ).
>
> How may I help to further analyze this problem?

New description:

 Hello,

 I am running macOS 10.10.5 + Xcode 7.2 + Command Line Tools 7.2.

 After a:
 {{{
 port -d selfupdate
 port -c -u upgrade outdated
 }}}
 which exited on error on libfido2, I ran:
 {{{
 port -c -u clean libfido2
 port -c -u install fido2
 }}}
 I got an error during the build phase.
 Looking at the log file, I went to the problem directory manually:
 {{{
 cd
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/build
 }}}
 and ran manually the mono-threaded make:
 {{{
 make -j1 -w all VERBOSE=ON
 }}}

 Which produced the following tail of log:
 {{{
 [...]
 cd
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/build/src
 && /usr/bin/clang -DHAVE_ARC4RANDOM_BUF -DHAVE_ASPRINTF -DHAVE_CBOR_H
 -DHAVE_CLOCK_GETTIME -DHAVE_DEV_URANDOM -DHAVE_ERR_H -DHAVE_GETLINE
 -DHAVE_GETOPT -DHAVE_MEMSET_S -DHAVE_OPENSSLV_H -DHAVE_READPASSPHRASE
 -DHAVE_SIGNAL_H -DHAVE_STRLCAT -DHAVE_STRLCPY -DHAVE_STRSEP -DHAVE_SYSCONF
 -DHAVE_UNISTD_H -DOPENSSL_API_COMPAT=0x10100000L -DTLS=__thread
 -D_FIDO_INTERNAL -D_FIDO_MAJOR=1 -D_FIDO_MINOR=14 -D_FIDO_PATCH=0
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/libfido2-1.14.0/src
 -I/opt/local/include -I/opt/local/libexec/openssl3/include
 -D_POSIX_C_SOURCE=200809L -D_BSD_SOURCE -D_DARWIN_C_SOURCE
 -D__STDC_WANT_LIB_EXT1__=1 -std=c99 -pipe
 -I/opt/local/libexec/openssl3/include -Os -DNDEBUG
 -isystem/opt/local/include/LegacySupport
 -I/opt/local/libexec/openssl3/include -isystem/opt/local/include -arch
 x86_64 -mmacosx-version-min=10.10 -fPIC -Wall -Wextra -Werror -Wshadow
 -Wcast-qual -Wwrite-strings -Wmissing-prototypes -Wbad-function-cast
 -Wimplicit-fallthrough -pedantic -pedantic-errors -Wshorten-64-to-32
 -fstack-protector-all -Wconversion -Wsign-conversion -Wframe-larger-
 than=2047 -MD -MT src/CMakeFiles/fido2.dir/hid_osx.c.o -MF
 CMakeFiles/fido2.dir/hid_osx.c.o.d -o CMakeFiles/fido2.dir/hid_osx.c.o -c
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/libfido2-1.14.0/src/hid_osx.c
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/libfido2-1.14.0/src/hid_osx.c:189:59:
 error:
       use of undeclared identifier 'id'
         if (asprintf(&path, "%s%llu", IOREG, (unsigned long long)id) ==
 -1) {
                                                                  ^
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/libfido2-1.14.0/src/hid_osx.c:195:10:
 error:
       address of stack memory associated with local variable 'path'
 returned [-Werror,-Wreturn-stack-address]
         return (path);
                 ^~~~
 2 errors generated.
 make[2]: *** [src/CMakeFiles/fido2.dir/hid_osx.c.o] Error 1
 make[2]: Leaving directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/build'
 make[1]: *** [src/CMakeFiles/fido2.dir/all] Error 2
 make[1]: Leaving directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/build'
 make: *** [all] Error 2
 make: Leaving directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_libfido2/libfido2/work/build'
 }}}

 This look like very similar to ticket:
 {{{
 #68333 assigned defect
 }}}

 I don't need libfido2 since I don't use Yubikey,
 but this library seems to be required by a lot of security tools I am
 using.
 ( squid3, postfix servers in production env. from MacPorts + research
 firewall based on PF + zsh + Perl ).
 I an a terminal ( xterm ), admin & security only user.

 How may I help to further investigate this problem?

--

-- 
Ticket URL: <https://trac.macports.org/ticket/70256#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list