[Sussex] php build in gentoo
Geoff Teale
tealeg at member.fsf.org
Thu Apr 10 22:05:01 UTC 2003
On Thursday 10 April 2003 21:29, Dominic wrote:
> It has a dependancy on freetype (1.3.1). Gentoo has just emerged
> freetype2!
OK.
Firstly.. are you sure it won't work with the newer version of the library
(this is worth checking).
Secondly you can actually tell Gentoo to merge the older version instead -
there are two ways:
1, When you do an emerge give it a full path to a freetype-1.3.1.ebuild file
instead of just doing an emerge freetype (this assumes that 1.3.1 is still
available in the tree (it should be)).
2. Change the mask file in /usr/portage/profile. Add a line that reads
something like:
>freetype-1.3.1
This will tell portage to mask any freetype packages that are later than 1.3.1
(so 1.3.1 will be built by default).
> So I got the source for both freetype 1.3.1 and ttmkfdir manually, and
> built then myself. Great, it worked.
>
> But.... With my complete lack of experience with C and makefiles and
> gentoo ( :) ) I don't really know what I have got, where I should put it
> and how to tell emerge that I have done it ( the last bit I guess is emerge
> inject, but I don't want to do this until I know what to do with the 2
> builds I just created).
I don't know about these packages explicitly, but usually the process is:
su -
cd $WHERE_YOUR_SOURCE_IS
./configure
make
make install
... the final stage installs all the files in the correct place. Note that
`make install` is only a convention and relies on the developer putting
"install" as a target in a makefile. If you want to learn more about
Makefiles I have the official GNU Make manual here, you're welcome to borrow
it - alternatively you can get all the GNU manuals online at:
http://www.gnu.org/manual/manual.html
The GNU Make manual for example is at:
http://www.gnu.org/manual/make-3.80/html_node/make_toc.html
Once you have done this, look for an ebuild file for these package version
(usually you'll find several differents version of each package in the
/usr/portage/?????/packagename/ directory ) and simply do:
emerge inject /usr/portage/?????/packagename/?????.ebuild
Once this is done emerge will think you have the correct package installed.
> This is all good experience, but.... where do I put these things and how do
> I get emerge to know they're there and utilise them for the rest of the
> build processes?
Hmmm.. it all seems a little too involved. It may be worth you logging on to
http://forums.gentoo.org and simply searching for Apache or PHP - I really
doubt that anything in the stable Gentoo portage tree is as broken as your
build seems to be...
--
GJT
Free Software Foundation
tealeg at member.fsf.org
More information about the Sussex
mailing list