Td: Functions are too hard to store

Created on 21 Aug 2018  路  5Comments  路  Source: tdlib/td

I'm getting this during the cmake compilation step, and I'm not sure what it means.

[ 29%] Generate common tl source files
Function initConnection is too hard to store
Function invokeAfterMsg is too hard to store
Function invokeAfterMsgs is too hard to store
Function invokeWithLayer is too hard to store
Function invokeWithoutUpdates is too hard to store
Function initConnection is too hard to store
Function invokeAfterMsg is too hard to store
Function invokeAfterMsgs is too hard to store
Function invokeWithLayer is too hard to store
Function invokeWithoutUpdates is too hard to store
Function initConnection is too hard to store
Function invokeAfterMsg is too hard to store
Function invokeAfterMsgs is too hard to store
Function invokeWithLayer is too hard to store
Function invokeWithoutUpdates is too hard to store
[ 29%] Built target tl_generate_common

The resulting libtdjson.so generated also seems to cause a Segmentation Fault when I try to use to initialize a connection. Would appreciate any help here!

Most helpful comment

"Function invokeWithoutUpdates is too hard to store" is information message meaning that the code for storing some TL objects wasn't generated automatically. It is harmless.

OpenSSL 1.1.* and OpenSSL 1.0.* are binary incompatible. All libraries used in an application must be compiled with the same minor OpenSSL version, otherwise you will get random Segmentation Faults. If you use TDLib from Node.JS, you need to build it with the same OpenSSL version that was used to build Node.JS.

All 5 comments

This issue seems to be related to incompatible OpenSSL library used by NodeJS and TDLib. Changing to an older version of NodeJS (v8.x) seems to resolve the Segmentation Fault issue.

Though, I'd still be curious about those compilation errors.

"Function invokeWithoutUpdates is too hard to store" is information message meaning that the code for storing some TL objects wasn't generated automatically. It is harmless.

OpenSSL 1.1.* and OpenSSL 1.0.* are binary incompatible. All libraries used in an application must be compiled with the same minor OpenSSL version, otherwise you will get random Segmentation Faults. If you use TDLib from Node.JS, you need to build it with the same OpenSSL version that was used to build Node.JS.

All right. Thanks for the information!

@levlam So you are saying that OpenSSL 1.1.* and OpenSSL 1.0.* are incompatible with TDLb?

@levlam Sorry, checked https://github.com/tdlib/td/issues/259 and understood.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

isopen picture isopen  路  5Comments

devxpy picture devxpy  路  5Comments

Losses picture Losses  路  3Comments

hameda169 picture hameda169  路  3Comments

pishnok picture pishnok  路  3Comments