Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Distribute Kylix applications

Posted on 2001-08-21
9
Medium Priority
?
341 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
9 Comments
 
LVL 1

Expert Comment

by:rpo
ID: 6409181
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
ID: 6409381
listening
0
 
LVL 3

Expert Comment

by:karouri
ID: 6410343
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
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
LVL 7

Author Comment

by:Motaz
ID: 6424298
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
 
LVL 3

Accepted Solution

by:
karouri earned 800 total points
ID: 6424880
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
ID: 6425908
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
ID: 6426094
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
ID: 6428072
Thanks Karouri
0
 

Expert Comment

by:encelad
ID: 7451655
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

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …
Suggested Courses

636 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