Solved

Distribute Kylix applications

Posted on 2001-08-21
9
317 Views
Last Modified: 2010-04-06
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
Comment
Question by:Motaz
9 Comments
 
LVL 1

Expert Comment

by:rpo
Comment Utility
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
 
LVL 3

Expert Comment

by:Slavak
Comment Utility
listening
0
 
LVL 3

Expert Comment

by:karouri
Comment Utility
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
 
LVL 7

Author Comment

by:Motaz
Comment Utility
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
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 
LVL 3

Accepted Solution

by:
karouri earned 200 total points
Comment Utility
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
 
LVL 7

Author Comment

by:Motaz
Comment Utility
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
 
LVL 3

Expert Comment

by:karouri
Comment Utility
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
 
LVL 7

Author Comment

by:Motaz
Comment Utility
Thanks Karouri
0
 

Expert Comment

by:encelad
Comment Utility
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

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

6 Experts available now in Live!

Get 1:1 Help Now