Quote:
Originally Posted by Kid Red /forum/post/0
tji- Thanks for the info, I'd jot that down. I ran configure previously and it returns with quite a few missing files. Mediatomb's dev told me I'd want a few of the missing files. So you had no probs running it without them?
I followed your instructions and terminal returned this-
What does that mean? Do I not have a directory in the right location?
I got this fromt eh mediatomb execute file-
Where is usr/local/share? We have users/ and shared directories so I'm lost there.
After it's built, what is the one click program file to use to run?
your problem is common locations for files are different between Linux and BSD Unixes like OSX. any included auto-installation script you'll find in a Linux program will not likely work.
that's why we have autoconf.
the configure script will find where the libraries are that the program in question needs, and automatically create new makefiles, so that the program compiles properly.
quick rundown for compiling any autoconf program from source..
1) you need the developer-tools package for OSX, whatever it's called.
2) after you untar and unzip the program you've downloaded, and moved into the folder you've unzipped it to, run ./configure --help
3) the output of configure --help will give you all options you can pass to the program while it's being compiled. check and make sure you enable all the options you need. some are default, some aren't, but they will all be detailed when you run configure with --help. if you need option blahblah but not blah instead of just "./configure" you'll do "./configure --with-blahblah=yes --with-blah=no", per the format listed in the config --help output. if configure doesn't find something it needs but you have it installed, there will likely be a configure option for you to manually tell it where it is.
4) when configure is done, all of the options you specified and all of the other things that the program needs are discovered automatically, then it's just a matter of "make" and "make install"
5) if you make a mistake and forget something you can always run configure again with different options. to avoid having multiple conflicting versions of programs running around most source distributions will have an uninstall option in the generated makefiles. so if you make a mistake you can go back and "make deinstall" or "make uninstall" to start over. after you uninstall, run "make clean" to clean up any files that you compiled before so that you can compile them again after changing your config.
6) if make ever halts on an error you're left with a half-built program that will not work, so at that point you "make clean" to wipe out the half-built files and you go back to "./configure" to start over and try and sort out why it failed to compile.
7) when you get all of the options just like you want them and the installed program works, hang on to the source folder you compiled it from, you can always go back and look at "config.log" or "config.status" to re-create the same thing you did before if you need to reinstall the program.
cliff's notes...
./configure --help and find the options you need to set
./configure --with-my-options --but-not-this-one=no to set it up how you want it
make to compile
make install to install
make deinstall or
make uninstall if something goes wrong
then
make clean if you need to start over and you can
./configure again
note that with configure you can also control where the program in question installs things to. this is especially useful, since you can make things install to the folders that your OS uses for certain things by default. for instance most linux distros install all program conf files in /etc. some, however, separate user installed programs into /usr/local, so you have all the conf files for programs you've installed in /usr/local/etc. well if you don't have any conf files in /usr/local/etc and want all your conf files in the same place, you can usually do a --sysconfdir=/etc in any configure script to make a program put its settings file there, instead of /usr/local. you can do the same with the binary and shared libary files as well with similar options. matching up shared library install locations to your OS default location is especially useful, that way programs that compile against each other's shared libraries for interoperability can find said libraries automagically, rather than you having to constantly tell each program where stuff it's looking for is.
if you know where everything is stored on OSX, it should be quite easy to build programs from source that install exactly like pre-built OSX packages do.