Discover Refinitiv
MyRefinitiv Refinitiv Perspectives Careers
Created with Sketch.
All APIs Questions & Answers  Register |  Login
Ask a question
  • Questions
  • Tags
  • Badges
  • Unanswered
Search:
  • Home /
  • Elektron /
  • ETA /
avatar image
Question by Gordon.Hunn · Nov 20, 2019 at 11:34 AM · ETA3.4.0l1vc11

Elektron-SDK-1.4.0 Window compile and link issues

I'm migrating from ETA 3.1.0L1 to 3.4.0L1 (Elektron-SDK-1.4.0L1).

The Linux upgrade went fairly smoothly - some includes and libraries have moved around, however it builds and passes it's test suite.

On Windows (VC11) not so much.

We are getting persistent multiply & undefined symbols at link time.

1>librsslVACache.lib(d_main.obj) : error LNK2005: _ansi_pch already defined in librsslVACache.lib(d_main.obj)
1>librsslVACache.lib(d_main.obj) : error LNK2005: _ansi_param already defined in librsslVACache.lib(d_main.obj)
1>librsslVACache.lib(d_main.obj) : error LNK2005: _ansi_spesc already defined in librsslVACache.lib(d_main.obj)
1>librsslVACache.lib(d_main.obj) : error LNK2005: _ansi_chparm already defined in librsslVACache.lib(d_main.obj)
1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_decode already defined in librsslVACache.lib(d_main.obj)
1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_end_of_row already defined in librsslVACache.lib(d_main.obj)
1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_page_columns already defined in librsslVACache.lib(d_main.obj)
1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_page_rows already defined in librsslVACache.lib(d_main.obj)
1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_scroll_bot already defined in librsslVACache.lib(d_main.obj)
1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_set_columns already defined in librsslVACache.lib(d_main.obj)
1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_set_end_of_row already defined in librsslVACache.lib(d_main.obj)
1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_set_rows already defined in librsslVACache.lib(d_main.obj)
1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_set_scroll_bot already defined in librsslVACache.lib(d_main.obj)
1>librsslVACache.lib(d_main.obj) : error LNK2005: null_char already defined in librsslVACache.lib(d_main.obj)
1>librsslVACache.lib(d_main.obj) : error LNK2005: _ansi_do_decode already defined in librsslVACache.lib(d_main.obj)
1>     Creating library C:\src\Agora\trunk\outwell\VC11\x64\binr\libs\agora_lib_UPA.x64.lib and object C:\src\Agora\trunk\outwell\VC11\x64\binr\libs\agora_lib_UPA.x64.exp
1>librssl.lib(ripcsslutils.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function ripcSSLSetupCTXClient
1>librssl.lib(ripcsslutils.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function ripcSSLSetupCTXClient
1>librssl.lib(ripcsslutils.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function ripcSSLSetupCTXClient
1>librssl.lib(ripcsslutils.obj) : error LNK2019: unresolved external symbol __imp_CertOpenSystemStoreA referenced in function ripcSSLSetupCTXClient
1>C:\src\Agora\trunk\outwell\VC11\x64\binr\agora_lib_UPA.x64.dll : fatal error LNK1120: 4 unresolved externals

We include the following libraries

librsslVA.lib
librsslVACache.lib
libdacs.lib
libansi.lib
librssl.lib

Is there a problem with the Package or am I missing something?

People who like this

0 Show 0
Comment
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

5 Replies

  • Sort: 
avatar image
REFINITIV
Best Answer
Answer by nick.zincone.1 · Dec 11, 2019 at 10:52 AM

Hi @Gordon Hunn,

This appears to be a packaging issue with 1.4 but will need to confirm with development. I’ve submitted a question to verify and to provide a proper solution going forward.


Thanks.

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

avatar image
REFINITIV
Answer by nick.zincone.1 · Nov 20, 2019 at 09:12 PM

Hi @Gordon.Hunn,

Try adding the following libs to your link:

crypt32.lib
cryptui.lib
kernel32.lib
Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

avatar image
Answer by Gordon.Hunn · Nov 29, 2019 at 02:29 PM

crypt32.lib has fixed the _Cert* missing references. Thank you.


However I'm still left with the multiple definitions in librsslVACache.lib

1>librsslVACache.lib(d_main.obj) : error LNK2005: _ansi_pch already defined in librsslVACache.lib(d_main.obj)

1>librsslVACache.lib(d_main.obj) : error LNK2005: _ansi_param already defined in librsslVACache.lib(d_main.obj)

1>librsslVACache.lib(d_main.obj) : error LNK2005: _ansi_spesc already defined in librsslVACache.lib(d_main.obj)

1>librsslVACache.lib(d_main.obj) : error LNK2005: _ansi_chparm already defined in librsslVACache.lib(d_main.obj)

1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_decode already defined in librsslVACache.lib(d_main.obj)

1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_end_of_row already defined in librsslVACache.lib(d_main.obj)

1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_page_columns already defined in librsslVACache.lib(d_main.obj)

1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_page_rows already defined in librsslVACache.lib(d_main.obj)

1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_scroll_bot already defined in librsslVACache.lib(d_main.obj)

1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_set_columns already defined in librsslVACache.lib(d_main.obj)

1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_set_end_of_row already defined in librsslVACache.lib(d_main.obj)

1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_set_rows already defined in librsslVACache.lib(d_main.obj)

1>librsslVACache.lib(d_main.obj) : error LNK2005: qa_set_scroll_bot already defined in librsslVACache.lib(d_main.obj)

1>librsslVACache.lib(d_main.obj) : error LNK2005: null_char already defined in librsslVACache.lib(d_main.obj)

1>librsslVACache.lib(d_main.obj) : error LNK2005: _ansi_do_decode already defined in librsslVACache.lib(d_main.obj)

Comment

People who like this

0 Show 1 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

avatar image
REFINITIV
nick.zincone.1 ♦♦ · Nov 29, 2019 at 02:37 PM 0
Share

Hi @Gordon Hunn,

Are you using cache features within the library? If not, you don't need to include it.

avatar image
REFINITIV
Answer by nick.zincone.1 · Nov 29, 2019 at 02:41 PM

Hi @Gordon Hunn,

I looked into one of the example projects (WatchlistConsumer) included within the downloads and here is the list of libs it uses:


1575038451786.png (93.4 KiB)
Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

avatar image
Answer by Gordon.Hunn · Nov 29, 2019 at 02:43 PM

This might be a red herring - removed librsslVACache.lib and now I see

1>libansi.lib(d_main.obj) : error LNK2019: unresolved external symbol toascii referenced in function _ansi_pch

Any idea which lib supplies toascii() ?

Comment

People who like this

0 Show 4 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

avatar image
REFINITIV
zoya.farberov ♦♦ · Dec 10, 2019 at 09:23 PM 1
Share

Hello @Gordon.Hunn,

Just a hunch.

In your ESDK13 build, do you observe folder:

esdk13\Elektron-SDK-BinaryPack\Cpp-C\Eta\Utils\Ansi ?

If you do not observe it in ESDK14 build?

Can you try copying it into

esdk14\Elektron-SDK-BinaryPack\Cpp-C\Eta\Utils

hope this helps

avatar image
Gordon.Hunn zoya.farberov ♦♦ · Dec 11, 2019 at 10:41 AM 0
Share

The libansi.lib in 1.4 came from

C:\src\Elektron-SDK-1.4.0.L1.win.rrg\Cpp-C\Eta\Libs\WIN_64_VS110 and was 144KB

I replaced it with the libansi from 1.2 (which is what I had to hand) - this was as you suggested in
C:\src\Elektron-SDK1.2.1.win.rrg\Elektron-SDK-BinaryPack\Cpp-C\Eta\Utils\Ansi\Libs\WIN_64_VS110

and is much bigger @ 517KB

This resolves the undefined reference - Good call :)

However, this means that the 1.4 package is incorrect. Please can you liase with Development to get this re-issued.

avatar image
REFINITIV
zoya.farberov ♦♦ Gordon.Hunn · Dec 11, 2019 at 06:45 PM 0
Share

Hello @Gordon.Hunn

Good to hear. Yes. @nick.zincone.1 is already in the process of raising the question with development, so at some point we may expect an update.

avatar image
REFINITIV
nick.zincone.1 ♦♦ · Nov 29, 2019 at 02:48 PM 0
Share

@Gordon.Hunn,

Have you tried to build any of the example applications? I would try here first to ensure your environment is working and to provide you with the actual libs to include.

Watch this question

Add to watch list
Add to your watch list to receive emailed updates for this question. Too many emails? Change your settings >
10 People are following this question.

Related Questions

Batch size limit on ETA API

handling "zero" mergeToGroup value

streamId generated for ETA batch request

Multiple events of type RDM_UPD_EVENT_TYPE_CORRECTION received from elektron transport feed

ETA batch request failed: "Request Rejected: Request key did not contain name."

  • Feedback
  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Careers
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Calais
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • Refinitiv Data Platform
    • Refinitiv Data Platform Libraries
  • Rose's Space
  • Screening
    • Qual-ID API
    • Screening Deployed
    • Screening Online
    • World-Check One
    • World-Check One Zero Footprint
  • Side by Side Integration API
  • TR Knowledge Graph
  • TREP APIs
    • CAT
    • DACS Station
    • Open DACS
    • RFA
    • UPA
  • TREP Infrastructure
  • TRIT
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • World-Check Data File
  • Explore
  • Tags
  • Questions
  • Badges