Closed adi-mohan closed 3 years ago
I am not clear on this: have you installed CMake and you are able or unable to build with it? Does it work with CMake but you are asking how to build manually?
If you can compile with CMake, configure CMake to be verbose. From the build directory (assuming you have a directory 'build' in the main tree):
cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON
Then make will print all the actual gcc commands invoked to build and link files.
As explained in the previous post, the original poster could use CMake to be able to compile, or at the very list, use the verbose mode to see what are the compile/link instructions to properly build the library or any of the examples. I am closing this issue now.
I am new to NATS. I wanted to compile one of the given examples like subsciber.c on my system. NATS server is already running. I wanted to know how to compile a file like subscriber.c as stand-alone and the n run it. I was trying using gcc, but it's throwing linking error. I have already installed using cmake as given in Readme, with TLS off and streaming off as well.
Getting error like: /tmp/ccZHtHFk.o: In function
printStats': subscriber.c:(.text+0x6c): undefined reference to
natsConnection_GetStats' subscriber.c:(.text+0x9b): undefined reference tonatsStatistics_GetCounts' subscriber.c:(.text+0xda): undefined reference to
natsSubscription_GetStats' /tmp/ccZHtHFk.o: In functionprintPerf': subscriber.c:(.text+0x1d2): undefined reference to
nats_Now' /tmp/ccZHtHFk.o: In functionprintUsageAndExit': subscriber.c:(.text+0x27e): undefined reference to
natsOptions_Destroy' subscriber.c:(.text+0x283): undefined reference tonats_Close' /tmp/ccZHtHFk.o: In function
parseUrls': subscriber.c:(.text+0x381): undefined reference tonatsOptions_SetServers' /tmp/ccZHtHFk.o: In function
parseArgs': subscriber.c:(.text+0x3bd): undefined reference tonatsOptions_Create' subscriber.c:(.text+0x507): undefined reference to
natsOptions_SetSecure' subscriber.c:(.text+0x585): undefined reference tonatsOptions_LoadCATrustedCertificates' subscriber.c:(.text+0x6e3): undefined reference to
natsOptions_SetCiphers' subscriber.c:(.text+0x761): undefined reference tonatsOptions_SetExpectedHostname' subscriber.c:(.text+0x7a5): undefined reference to
natsOptions_SkipServerVerification' subscriber.c:(.text+0xab9): undefined reference tonatsOptions_UseGlobalMessageDelivery' subscriber.c:(.text+0xe10): undefined reference to
natsOptions_SetUserCredentialsFromFiles' subscriber.c:(.text+0xe99): undefined reference tonatsOptions_SetWriteDeadline' subscriber.c:(.text+0xf31): undefined reference to
natsOptions_LoadCertificatesChain' subscriber.c:(.text+0xf6c): undefined reference tonatsStatus_GetText' subscriber.c:(.text+0xf92): undefined reference to
nats_PrintLastErrorStack' subscriber.c:(.text+0xfa1): undefined reference tonatsOptions_Destroy' subscriber.c:(.text+0xfa6): undefined reference to
nats_Close' /tmp/ccZHtHFk.o: In functiononMsg': subscriber.c:(.text+0xfeb): undefined reference to
natsMsg_GetData' subscriber.c:(.text+0xffa): undefined reference tonatsMsg_GetDataLength' subscriber.c:(.text+0x1008): undefined reference to
natsMsg_GetSubject' subscriber.c:(.text+0x1030): undefined reference tonats_Now' subscriber.c:(.text+0x105a): undefined reference to
nats_Now' subscriber.c:(.text+0x1077): undefined reference tonatsMsg_Destroy' /tmp/ccZHtHFk.o: In function
asyncCb': subscriber.c:(.text+0x10ac): undefined reference tonatsStatus_GetText' subscriber.c:(.text+0x10d4): undefined reference to
natsSubscription_GetDropped' /tmp/ccZHtHFk.o: In functionmain': subscriber.c:(.text+0x116f): undefined reference to
natsOptions_SetErrorHandler' subscriber.c:(.text+0x118b): undefined reference tonatsConnection_Connect' subscriber.c:(.text+0x11c1): undefined reference to
natsConnection_Subscribe' subscriber.c:(.text+0x11e0): undefined reference tonatsConnection_SubscribeSync' subscriber.c:(.text+0x11ff): undefined reference to
natsSubscription_SetPendingLimits' subscriber.c:(.text+0x121f): undefined reference tonatsSubscription_AutoUnsubscribe' subscriber.c:(.text+0x1234): undefined reference to
natsStatistics_Create' subscriber.c:(.text+0x1295): undefined reference tonats_Sleep' subscriber.c:(.text+0x12da): undefined reference to
natsSubscription_NextMsg' subscriber.c:(.text+0x12f9): undefined reference tonats_Now' subscriber.c:(.text+0x1305): undefined reference to
nats_Now' subscriber.c:(.text+0x1332): undefined reference tonats_Now' subscriber.c:(.text+0x1342): undefined reference to
natsMsg_Destroy' subscriber.c:(.text+0x13a6): undefined reference tonatsStatus_GetText' subscriber.c:(.text+0x13cc): undefined reference to
nats_PrintLastErrorStack' subscriber.c:(.text+0x13d8): undefined reference tonatsStatistics_Destroy' subscriber.c:(.text+0x13e4): undefined reference to
natsSubscription_Destroy' subscriber.c:(.text+0x13f0): undefined reference tonatsConnection_Destroy' subscriber.c:(.text+0x13fc): undefined reference to
natsOptions_Destroy' subscriber.c:(.text+0x1401): undefined reference to `nats_Close' collect2: error: ld returned 1 exit status