• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 362
  • Last Modified:

Distribute Kylix applications

What is the libraries that I must distribute with my Kylix applications. I think that libraries is not installed automatically with Kylix OE. I tried to run the executable file from the command line, but it tells me that there is missing libraries.

I need a detailed answer and discussion.

Thanks
Motaz
0
Motaz
Asked:
Motaz
1 Solution
 
rpoCommented:
Try to run this command :

source /root/kylix/bin/kylixpath

just replace the /root/kylix with the correct Kylix path on your machine.

This kylixpath script just adds some directories to the search path.

Roman.
0
 
SlavakCommented:
listening
0
 
karouriCommented:
I think the library missing is libqtintf.so . This library can be found in the kylix/bin directory. The lastest version can be found at the site http://sourceforge.net/projects/freeclx/
For your programs to work, the library must be in your library path. Two solutions I have tried:
1. Add the path of the library to the environment variable LD_LIBRARY_PATH. This is the approach that is executed by the command source /root/kylix/bin/kylixpath mentioned above. I put the file kylixpath in the subdirectory /etc/profile.d (in RedHat Linux 7.1, not sure about path in other distros) for it to work in the start for all accounts.
2. The library can be added permanantly to the system libraries by adding the path of it to the file /etc/ld.so.conf, or copying the library itself to one of the directories mentioned there. and then running the command ldconfig.

I usually make a directory /usr/lib/kylix , put the libqtintf.so.2.2.4.3 in it, create symbolic links in the same directory as libqtintf.so.2.2.4,libqtintf.so.2.2,libqtintf.so.2,libqtintf.so to it. Then add /usr/lib/kylix to /etc/ld.so.conf and run ldconfig.

By the way, libqtintf is the kylix interface to the Qt library. I think the process above can be scripted/programmed to be done once and tested for installation purposes. Much better, Borland can make a run-time rpm that installs it, or anybody.

k

0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
MotazAuthor Commented:
I tried this command:

source /home/azzoz/kylix/bin but it gives me "This is a directory"

I tried:

source /home/azzoz/kylix/bin/libqtintf.so  it gives me error "cann't execute binary file"

I copy the file to /etc/profile.d but no thing happen

Motaz
0
 
karouriCommented:
Try to put these commands in the file .bashrc in your home directory and tell me the result:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/azzoz/kylix/bin
export LD_LIBRARY_PATH

after these two commands the library should be in your LD_LIBRARY_PATH, i.e. in your link-loader library path;)
including these two commands in your .bashrc should solve the problem for your account only as .bashrc is executed after login.
To have a more general solution (for all users) I think it is enough to do these commands (as root):

cp /home/azzoz/kylix/bin/libqtintf.so.* /usr/lib
ln -s /usr/lib/libqtintf.so.* /usr/lib/libqtintf.so

This makes libqtintf.so part of the system libraries (so to speak) as the /usr/lib directory is already specified as one. The library will have the name libqtintf.so.2.2.4 or something similar, where the last number is the version. You need a (symbolic) link with the more generic libqtintf.so name.

Both methods are assuming that your libqtintf.so is in the subdirectory /homw/azzoz/kylix/bin, otherwise substitute your path..
k
0
 
MotazAuthor Commented:
Thanks karouri very much, it works fine.
Last question: if I write small applications that use only OE components, no database engine, what libraries that I need to distribute with my applications.

Thanks,
Motaz
0
 
karouriCommented:
If the application is console only, there are no libraries required. Using the CLX, you have to distribute the libqtintf.so library. It should be installed the same as the procedure above..
k
0
 
MotazAuthor Commented:
Thanks Karouri
0
 
enceladCommented:
Hello,
I read all of your comments about the questions Motaz is asking. All of your answers seem to be fine! Indeed, as meticulously described in the Kylix install documentation, there are certain packages, libraries and shared objects (.so files) that need to be added to the environment path of each user. When the PATH variable is correctly set such libraries like libqtintf.so can be loaded dynamically. This is all fine. However, there is a solution to the local machine! In fact, I would not call it a solution but a work-around. What happenes if you want to create a program that you want to give to other linux users and they do not have Kylix installed? Do they really ahve to install Kylix to get this libqtintf.so and then edit their PATH variable to get your app running! This makes no sense especially when it is comming from Borland. I think that there must be a way ehre you can compile all the packages that Kylix needs into the executable. So, once it is compiled it could be executed on any linux box without Kylix!
So far I have no managed to find a way to do this!
If anyone knows how to to this, please e-mail me at vasil_l@yahoo.com!

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now