Project

General

Profile

Bug #2638

BLISS plug-in failed to build under macOS

Added by Cao Qing over 2 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Category:
build
Target version:
Start date:
17.04.2018
Due date:
Estimated time:
Affected version:
5.6.2
Resolution:
Fixed

Description

I installed Xcode, MacPorts and openssl (via MacPorts)

The configuration I used:
./configure --enable-openssl --enable-chapoly --enable-eap-identity --enable-eap-mschapv2 --enable-eap-peap --enable-eap-tls --enable-eap-ttls --enable-rdrand --enable-aesni --enable-newhope --enable-ntru --enable-bliss --enable-mgf1 --enable-sha3 --disable-gmp --enable-kernel-pfroute --enable-kernel-pfkey --disable-aes --disable-des --disable-md5 --disable-sha1 --disable-sha2 --disable-fips-prf --enable-osx-attr --disable-scripts --disable-kernel-netlink --enable-cmd --enable-keychain --enable-monolithic --disable-ikev1 --with-lib-prefix=/opt/local

This is the error output:
bliss_private_key.c:785:41: error: use of undeclared identifier '__compar_fn_t'
qsort(t_wrapped, n, sizeof(int16_t), (_compar_fn_t)compare);
^
bliss_private_key.c:793:40: error: use of undeclared identifier '
_compar_fn_t'
qsort(max_kappa, n, sizeof(int16_t), (__compar_fn_t)compare);
^

Associated revisions

Revision 667e74d6 (diff)
Added by Tobias Brunner over 2 years ago

bliss: Fix compilation with non-GNU C libraries

Not even the glibc man page mentions that type.

Fixes #2638.

History

#1 Updated by Tobias Brunner over 2 years ago

  • Status changed from New to Feedback
  • Target version set to 5.6.3

Please try the patch in the 2638-bliss-portability branch.

#2 Updated by Cao Qing over 2 years ago

Cannot build 2638-bliss-portability branch.
Here is the error output:

\
        sed \
        -e "s:\@PACKAGE_VERSION\@:5.6.2:" \
        ./Android.common.mk.in > Android.common.mk
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
Making all in src
Making all in .
make[3]: Nothing to be done for `all-am'.
Making all in include
make[3]: Nothing to be done for `all'.
Making all in libstrongswan
\
        (cd ./asn1/ && /usr/bin/perl oid.pl)
\
        sed \
        -e "s:\@GPERF_LEN_TYPE\@:unsigned:" \
        crypto/proposal/proposal_keywords_static.h.in > crypto/proposal/proposal_keywords_static.h
\
        /usr/bin/gperf -N proposal_get_token_static -m 10 -C -G -c -t -D < \
                                                ./crypto/proposal/proposal_keywords_static.txt > crypto/proposal/proposal_keywords_static.c
/bin/sh ../../ylwrap settings/settings_parser.y y.tab.c settings/settings_parser.c y.tab.h `echo settings/settings_parser.c | sed -e s/cc$/hh/ -e s/cpp$/hpp/ -e s/cxx$/hxx/ -e s/c++$/h++/ -e s/c$/h/` y.output settings/settings_parser.output -- bison -y -v -d 
/Users/caoqing/strongswan/src/libstrongswan/settings/settings_parser.y:68.9-16: syntax error, unexpected identifier, expecting string
make[3]: *** [settings/settings_parser.c] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

#3 Updated by Tobias Brunner over 2 years ago

If you build from the repository you need additional tools (see source:HACKING), you can also build a tarball from the branch on a different host (e.g. Linux) with those tools and then build on macOS from that tarball. You can also just get the patch from the branch and change the code from the tarball you previously used (or patch the file manually).

#4 Updated by Tobias Brunner over 2 years ago

  • Status changed from Feedback to Closed
  • Assignee set to Tobias Brunner
  • Resolution set to Fixed

Also available in: Atom PDF