Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
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.
i really hope this question hasn't been asked already, but i've searched for hours without finding an answer.
i'm currently running debian testing (sarge), and i'm interested in compiling programs from source. now, when i say compiling from source, i mean the whole program, dependencies and all. some of you might say that i'm just a glutton for punishment, but my motives are real, as i'm a computer science major (inexperienced!) with aspirations of programing for gnu/linux systems, and i think this would be quite the valuable skill to have.
here's the thing. i've been stuck in dependency hell a few times, chasing down missing libraries required to build programs, or even other libraries. i'll go out and download the tarball for a library, say libvorbis, and try to compile it from source on my system. this all runs good and great, but when i try to compile the program that's dependent on the library, it still says it can't find the library in question.
i know that when downloading packages, there is a difference between libraries and development libraries. what i'm not getting is if i'm somehow just compiling the "normal" libraries and not making them development-capable, or what! the thing that's really confusing is i'll go look in the install directories, and the header files are there (just like with the -dev packages in debian apt-get), the bin files are in place, everything.
so what gives, guys and gals? how does one compile a devel-capable library from source?
firstly, ALL the depencies means compilg your entire system from scratch...you just want to compile things which arent' already installed, which isn't the same thing!
any source install will include headers and such (maybe exluding monolithic apps like firefox and openoffice) but the things like default locations for headers and config files may well be different. the most likely thing to go into a different location would be the pkgconfig file, which is what tells other packages where the headers go to. from source you'll often get it sent to /usr/lib/pkgconfig/something.pc whereas from a prebuilt package it often goes to /us/local/lib/pkgconfig/something.pc, so you need to expliticlty tel ./configure where the relevant .pc file is.
i apologize for my skewed terminology (although someday i do hope to be able to compile a distro from scratch)
so, were i to set the correct flags, ie PKG_CONFIG_PATH, to where the config files went, i'd be good, right? or, would it be better to create symbolic links to any config files between the two directories, local/lib/pkgconfig and lib/pkgconfig? suppose the second would be a bit more "fail-safe."
thanks for the tip.
Last edited by deadlyhead; 06-05-2005 at 03:53 AM.
i'd say it's better to make the first package put them in the right place, not tell the second package where the first is... all up to your though. also it can be very useful to read the configure script to see what the test actually IS, then you'll easily understand where it's going wrong as you can recreate it manually outside of the script etc.