ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hi,
Am working on franca IDL and the Common API.Once being ready with the client-server code iam able to get the executables but while running end up with the below error.
I think you should find out where this /usr/local/lib/libCommonAPI-DBus.so.3.1.12 came from. It is surely not part of the distribution, it has been installed by some local admin (probably yourself).
> yes, it was installed by me only its the Common API D bus runtime for linux D-bus IPC programming actually
Kindly explain exactly what did you install, how did you install it, what error messages did you ignore during installation, where did you download it.
The D-Bus runtime library cannot be built without further preparations. The reason is that CommonAPI-D-Bus doesn't use the standard libdbus library and needs a patched version. That means that you must first download, patch and build libdbus before
I agree with NevemTeve, the fact that your environment relies on a non-standard dbus implementation makes it impossible for others to offer reliable advice without building, running and learning that environment themselves - which is a bit much to ask of volunteers in a forum like this.
While your question is welcome here, you will probably get a better response and find much better information available through the project's website, especially if it has a forum or offers any form of interactive support including via email.
In the end, perhaps you will be able to learn your way around their code and be able to answer others' questions about it in future.
First, contrary to the title, the problem has occurred at runtime -- not at compilation time. The fact that an executable exists implies that all symbols were resolved (for the static link phase). In all likelihood, the OP has simply neglected to set the LD_LIBRARY_PATH to point to the patched library:
Code:
$ ./HelloWorldService
./HelloWorldService: relocation error: <test directory>/capicxx-dbus-runtime/build/libCommonAPI-DBus.so.3.1.12: symbol dbus_message_set_signature version LIBDBUS_1_3 not defined in file libdbus-1.so.3 with link time reference
$ export LD_LIBRARY_PATH=$PATH_TO_PATCHED_LIBDBUS_SOURCE/dbus/.libs
$ ./HelloWorldService
Successfully Registered Service!
Waiting for calls... (Abort with CTRL+C)
Last edited by badfd; 08-14-2019 at 11:16 AM.
Reason: Apply generic directory prefix
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.