maxamar / engine-new Goto Github PK
View Code? Open in Web Editor NEWgost-engine with Grasshopper
gost-engine with Grasshopper
I'm trying to build this engine using OpenSSL-1.0.2l binary installation (root is /opt/local
, libraries are in /opt/local/lib
, include files in an /opt/local/include/openssl
directory with no subdirectories). The compilation fails (see below).
Also, it is unclear whether this code expects a certain OpenSSL version - aka can it compile under 1.0.2 and 1.1.0? Does it require one or the other...?
Also, it looks like this engine requires modification of the OpenSSL source? I used to think that the main reason to implement algorithms as engines was to avoid modifying the OpenSSL itself? There's a subdirectory patches
, but it is unclear what's the purpose of it and when those patches should be applied (and to what - to OpenSSL itself?).
Here's an example of how the compilation fails:
$ cmake -DOPENSSL_PATH=/Users/uri/src/openssl ..
-- The C compiler identification is AppleClang 8.1.0.8020042
-- The CXX compiler identification is AppleClang 8.1.0.8020042
-- Check for working C compiler: /opt/local/bin/clang
-- Check for working C compiler: /opt/local/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /opt/local/bin/clang++
-- Check for working CXX compiler: /opt/local/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/uri/src/grasshopper-engine/build
$ make -j 4
Scanning dependencies of target gost_engine
[ 13%] Building C object CMakeFiles/gost_engine.dir/gost_ctl.c.o
[ 13%] Building C object CMakeFiles/gost_engine.dir/gost_asn1.c.o
[ 13%] Building C object CMakeFiles/gost_engine.dir/e_gost_err.c.o
[ 13%] Building C object CMakeFiles/gost_engine.dir/gost_crypt.c.o
In file included from In file included from In file included from /Users/uri/src/grasshopper-engine/e_gost_err.c/Users/uri/src/grasshopper-engine/gost_asn1.c:/Users/uri/src/grasshopper-engine/gost_crypt.c:63:10:
:
11In file included from In file included from :
/Users/uri/src/openssl/include/openssl/asn1t.h/Users/uri/src/openssl/include/openssl/err.hIn file included from ::/Users/uri/src/openssl/include/openssl/err.h2115::
:
21In file included from :
/Users/uri/src/openssl/include/openssl/asn1.h:16:
/Users/uri/src/openssl/include/openssl/bio.h/Users/uri/src/openssl/include/openssl/bio.h::685685::2727:: warningwarning: : In file included from /Users/uri/src/grasshopper-engine/gost_ctl.c:12:
In file included from /Users/uri/src/openssl/include/openssl/err.h:21:
declaration /Users/uri/src/openssl/include/openssl/bio.hof:
685 :'struct hostent'27 :will not bewarning : visible outside of declarationthis offunction
[-Wvisibility]'struct hostent'
will not be visible outside of this function [-Wvisibility]
declaration of
'struct hostent' will not be visible outside of this function [-Wvisibility]
/Users/uri/src/openssl/include/openssl/bio.h:685:27: warning: declaration of
'struct hostent' will not be visible outside of this function [-Wvisibility]
DEPRECATEDIN_1_1_0(struct hostent *BIO_gethostbyname(const char *name))DEPRECATEDIN_1_1_0(struct hostent *BIO_gethostbyname(const char *name))
^ ^
/Users/uri/src/openssl/include/openssl/bio.h:686:1: error: expected function body after
function declarator
DEPRECATEDIN_1_1_0(struct hostent *BIO_gethostbyname(const char *name))
^
DEPRECATEDIN_1_1_0(int BIO_get_port(const char *str, unsigned short *port_ptr))
. . . . .
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.