Gentoo Archives: gentoo-server

From: "Longman
To: "'gentoo-server@l.g.o'" <gentoo-server@l.g.o>
Subject: RE: [gentoo-server] Building binary packages
Date: Tue, 21 Feb 2006 18:12:14
Message-Id: 4BB1E365BF26D311914A00805FA6A1C11FCD2075@admsrvnt02.enet.sharplabs.com
1 >
2 > my problem upgrading to mysql-4.1 is the downtime that I am
3 > going to get while the new build completes.
4 >
5 > That's why I was planning to build a binary package for
6 > mysql-4.1 on a second host in order to install it on my
7 > production server, but I could not find a list of common
8 > pitfalls to consider while building packages for a different
9 > host. These are the things that I can think of so far:
10 >
11 > - appropriate make.conf, CFLAGS etc.
12 > - right USE flags (or make.profile in general)
13 > - same version of libraries / dependencies to prevent dynamic
14 > linking of
15 > libraries that don't exist on target host (that's going to
16 > be a hard one)
17 >
18 > Is there a HowTo that lists all things to consider, or is it
19 > a generally discouraged thing to build packages for another
20 > host if the hosts are not 100% the same?
21 >
22
23 You could take a look at Kerin Millar's response to Karl Zander's post from
24 last Friday:
25
26 ============================
27 > /code
28 > make.conf
29 > CFLAGS="-0s -mcpu=i686 -pipe"
30 > CHOST="i386-pc-linux-gnu"
31 > CXXFLAGS="${CFLAGS}"
32 > /end code
33 >
34 > I am not sure why CHOST="i386-pc-linux-gnu". Even make.conf.example
35 > says
36 >
37 > "All modern systems (even Athalons) should use "i686-pc-linux-gnu"
38
39 Read that as "are capable of using" rather than "should use" and it makes
40 more sense.
41
42 >
43 > Do I have the right tarball? I got the tarball from the cd, not from the
44
45 Yes, you do. The 2005.1-r1 LiveCD only ships with a generic x86 stage3
46 tarball. There are two good reasons for this:
47
48 1) It simplifies the job of release engineering considerably.
49
50 2) The most broadly distributed packages CD featured binary packages which
51 are (and always have been) built in the same manner - that is, with
52 CHOST="i386-pc-linux-gnu" and -mcpu=i686. Thus you get packages which are
53 optimised for the i686 family of processors in general but which will run on
54 >=i386 processor. People were all too often mixing the wrong stageball with
55 said packages and running into compilation issues further down the line.
56 ============================
57
58 If you are only running P4's, you could still get away with a CHOST of
59 "i686-pc-linux-gnu" and a "-mtune=pentium4" in your CFLAGS. See the gcc man
60 page for more info.
61
62 --
63 gentoo-server@g.o mailing list