Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
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.
I need a bit of help in setting the path in Bash. I think Echo would only set temporary?export is the command I need? I'm having a hard time compiling some of the software out here for example transcode needs ffmpeg. so I d/l and config/make etc ffmpeg. But then transcode says it's not installed.Or I have SDL installed but a new program can't find it. the path isn't set.
Also sometimes I download and extract lib files in tarballs using ark in KDE. then I just have a directory with no executable files. where do these files/directories need to be moved? Many many files come without proper documentation and assume the user will already know what to do.
All help in these matters is certainly appreciated. thanx.
What distribution are you using? Most distributions use package managers now days, if your distribution uses a package format you should NEVER be using tarballs directly. Worst case you build the package yourself and then install it.
If your using binary package based distro and installing from source there is no standard way to uninstall, the binary packages and other programs on your system probably won't know about it, and proper cleanup may not occur.
Suse 9.3 pro. Setting the path and knowing what to do with libs that compile but don't install has been troublesome.I've only been using linux sporadically for about 6 months. Thanks.
Originally posted by powerlifter450 Suse 9.3 pro. Setting the path and knowing what to do with libs that compile but don't install has been troublesome.I've only been using linux sporadically for about 6 months. Thanks.
ahhh ok, the package format you should be using is RPM. When you install something, always look for an RPM, if you can find one for Suse 9.3 then great, if not 9.2 is probably ok, and failing that Suse rpms 9.0+ are better than 3rd party, and failing that RPMS before tarballs.
I recommend using apt for suse and getting Synaptic (just a graphical frontend for apt)
Once it is installed, you can run:
apt-get install synaptic
You will probably need to reinstall everything you've installed through tarballs in order to get the package database up to date. Once you do, when you install something through apt it fetches all dependencies from the web for you. You can also update EVERY program on your computer using
The last is used if you need to customize the compilation
or optimize for your machine. This way you can rebuild the
package the way you need it and still keep package management
working properly. For more information on that 'man rpmbuild' and
read up on building rpms and writing .spec files on the web (usually you
can just modify the existing one).
That sounds great. The only problem Is I only have winmodems. I dual boot to xp pro when I need 'net access.Nothing I've done has made anything work. Plus I can't find a 'nix ISP that I may be happy with.Most of the big dial up ISPs don't support linux. I tried to use an old us robotics 56k external/seriel modem and that didn't work either.
I know that rpms are normally the way to go. I even upgraded my kde 2-3 months back before upgrading suse using the rpm -Ufv commands. arts,base,libs and all the other packages needed like the keyguard,docs etcetera.
thats why I need the Bash commands. For example SDL is found in /usr/include/SDL. If I wanted to set the path wouldn't it look like this : export PATH=$Path /usr/include/SDL ?
Is that the correct way to set paths for any and all librarys,files etc that I have? as always all helps is appreciated.
Originally posted by powerlifter450 That sounds great. The only problem Is I only have winmodems. I dual boot to xp pro when I need 'net access.Nothing I've done has made anything work. Plus I can't find a 'nix ISP that I may be happy with.Most of the big dial up ISPs don't support linux. I tried to use an old us robotics 56k external/seriel modem and that didn't work either.
I know that rpms are normally the way to go. I even upgraded my kde 2-3 months back before upgrading suse using the rpm -Ufv commands. arts,base,libs and all the other packages needed like the keyguard,docs etcetera.
thats why I need the Bash commands. For example SDL is found in /usr/include/SDL. If I wanted to set the path wouldn't it look like this : export PATH=$Path /usr/include/SDL ?
Is that the correct way to set paths for any and all librarys,files etc that I have? as always all helps is appreciated.
PATH is for binaries. For libraries you edit /etc/ld.so.conf and then run ldconfig. You'll need to be root for both.
Originally posted by powerlifter450 Thank you for clarifying what needs to be done for libs. Was I correct in my example of how to set the Path correctly?
Originally posted by powerlifter450 so ,again using SDL as an example it would be
PATH=$PATH:/usr/include/SDL
that is correct?also by seperating with a colon I can set the path of many elements at once?
Yes, although that is a really bad example. Includes do not go in your path, only binaries. Includes actually do not go in your ld.so.conf OR your $PATH instead you need to add them at compile time. If manually compiling with gcc blah blah -I/usr/include/SDL, or ./configure --help for information about adding them with configure. If you just have a makefile you need to edit the makefile if the app is not detecting the headers needed.
The only thing $PATH does is cause the shell to look for an executable program in that directory if you type the name without including a path. For instance, if I called '/home/shaitand/bin/bob' manually it works, but if I type just 'bob' at the prompt it won't work unless /home/shaitand/bin is in my path. My $PATH has no impact on a program finding c headers during compilation (which is what is in an include directory).
ok I understand.It just tells the shell where to look for a program. This has been really frustrating.Thank you for all of your help. This is definantly something that programmers should clarify in a readme file with the tarball or on thier website in a FAQ.
If I was a less determined newbie something like this could have turned me off of linux forever.That's a real hinderance to the widespread adoption of linux.One of a few key issuses.
User friendlyness.I'm sure it's more work but maybe more people could adopt the practice of creating rpms for thier projects and /or more distro publishers could add more required prerequisite files in thier isos.
What is it your trying to install? I am really not familiar with anything that doesn't have an RPM available nowdays, perhaps you simply have not found the RPM? There are rpms for SDL for instance.
Alot of libs/games/utilities don't seem to have rpms.For instance Transcode doesn't seem to have rpms. Handbrake again no rpms. a few examples of games without rps---racer,stratagus,t1cars,miniracer .I could go on and on. So many projects don't have rpms. The develepors feel like it's not so important as long as they release a tarball and source code that they're all set. this just isn't so.
Maybe someday someone will come up with a gui'd program that automatically takes tarballs and sets them all up.From the compile to the install to the editing of configuration files.
I don't mind so much learning tasks such as ./configure make cleandist chkconfig and so forth.But I've learned from the past that sometimes one small mistake is all it takes to end up reaching for your system backup/recovery disks.
The developers write the programs, other contributors do packaging. The developer website is NOT usually a place for end users to get the software. Transcode has rpms available for every distribution that I am aware of, but not on the project site. If you setup apt as I suggested earlier then 'apt-get install transcode' would download transcode and dependencies, 'apt-get dvdrip' grabs dvdrip, transcode, and everything else dvdrip needs to function properly that you don't already have. I know you said your on dialup but your downloading the source archives anyway and they are usually as big or bigger than the binary packages apt would download for you. You also don't need all the development libraries to run the binary that you need to compile it, your are probably downloading 3x the stuff to be able to compile the program compared to what you would need to run an already compiled binary.
Binary distributions are NOT supposed to be mixed with source installs, you WILL trash your package management system to the point it becomes an unmanageable knot. This will not result in a pleasant linux experience.
If you really believe you need the source then go with a source-based distribution like Gentoo. I really don't recommend that route, your better off spending 10 minutes to figure out how to write basic rpm spec files and turn tarballs into rpms.
Originally posted by powerlifter450 That sounds great. The only problem Is I only have winmodems. I dual boot to xp pro when I need 'net access.Nothing I've done has made anything work. Plus I can't find a 'nix ISP that I may be happy with.Most of the big dial up ISPs don't support linux. I tried to use an old us robotics 56k external/seriel modem and that didn't work either.
I know that rpms are normally the way to go. I even upgraded my kde 2-3 months back before upgrading suse using the rpm -Ufv commands. arts,base,libs and all the other packages needed like the keyguard,docs etcetera.
thats why I need the Bash commands. For example SDL is found in /usr/include/SDL. If I wanted to set the path wouldn't it look like this : export PATH=$Path /usr/include/SDL ?
Is that the correct way to set paths for any and all librarys,files etc that I have? as always all helps is appreciated.
Do you only have winmodems or do you have a USR external serial modem? If you have a USR modem and couldn't get it to work then you were probably looking at outdated information to help.
Using SuSE you should open Yast (under System in the K menu on 9.2), in Yast, go under 'Network Devices', there should be an option for modem. Assuming it does not detect your modem, select the other option and click configure. Change the device from /dev/modem to /dev/ttyS0 (most likely) or /dev/ttyS1. Tone dialing, detect dialtone and speaker on should all be selected. Click next
Now to setup your provider, it doesn't matter if the ISP says they support linux, linux will work with any local ISP that gives you a dialup number, username and password. On the provider screen, choose custom and then click New. Give the ISP a label and put in the number you use to dial in to your isp, plus your username and password. Next.
Automatically retrieve dns, and modify dns when connected. Dial on Demand causes your computer to dialup the net whenever it thinks it needs it, it drives me nuts but it's your call. ip details should be fine as is. Next and Finish.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.