Re: branches, updates, buildworld
On Wednesday 10 September 2008, [EMAIL PROTECTED] wrote: > 4) Will "make buildworld" fail with a make.conf like this: > > > PERL_VER=5.8.8 > PERL_VERSION=5.8.8 > BDECFLAGS="-march=pentium2 -mmmx -pipe -O3 -fomit-frame-pointer \ > -combine -fno-strict-aliasing" > > CFLAGS+=${BDECFLAGS} > CXXFLAGS=${CFLAGS} > COPTFLAGS="-march=pentium2 -mmmx -pipe -O3 -fomit-frame-pointer \ > -combine -fno-strict-aliasing" Setting COPTFLAGS is discouraged, because you risk breaking the kernel. In particular, the kernel can not use any floating point operations including simd operations, which you explicitly enable above. May I suggest that you first try to rebuild the base system without any CFLAGS set but simply CPUTYPE?=pentium2 Note that by default the system is build with -O2 -fno-strict-aliasing -pipe. -- Pieter de Goeje ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: branches, updates, buildworld
> OK. It brings another question. For example Postgres is not a part of > the base system. Will it break if i make: > ## > pkg_add -r postgresql83-server.tbz > cvsup /usr/share/examples/cvsup/standard-supfile > make buildworld > make buildkernel > make installkernel > reboot (in single mode) > mergemaster -p > make installworld > mergemaster > reboot > ## The pre-compiled binary depends on certain system calls and library APIs to function. As long as those don't change the binary will continue to work. It's highly unlikely to have any such changes occur between RELEASE-p? versions unless they are extremely critical updates. In fact in most cases you will probably find that your binary will continue to work between RELEASE versions (7.0, 7.1 etc). We trust the developers won't go and and change libc without giving us a heads-up, but you should still read the changelog before upgrading the base system and know what to expect. > > ...And what should I do if Postgres (or any other arbitrary binary > package) breaks afterwards? How should I keep the binary packages > up-todate? Actually I intend to > compile Postgres from the ports after success in re-building and > installing the base system, but the question still remains. You can always reinstall it from ports which will compile and link software according to your existing environment. To manage already installed packages you can use portaudit and portupgrade both of which can be found in the ports tree as well as the pkg_* tools included in the base system. >> > 4) Will "make buildworld" fail with a make.conf like this: >> >> Seems OK on first inspection. Guess you won't know till you run the >> buildworld :) > > I was kind of hoping not to figure out the optimal combination of gcc > flags by following the "generate and test" method on Pentium-2. :) Take a look at /usr/share/examples/etc/make.conf and use that as your starting point if you haven't already done so. Most of your options seem to be in line with the recommended defaults except maybe "-combined" - I have no idea how it will affect the build. I would use -O2 rather than -O3 as there's a good chance you'll end up with broken code rather than any noticeable performance gains. > > Last but not least: Thanks for the fast and detailed response. I > appreciate it very much. Glad I could be of help. Regards, Todor Genov Systems Operations Verizon Business South Africa (Pty) Ltd Tel: +27 11 235 6500 Fax: 086 692 0543 ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: branches, updates, buildworld
Lister Notifies wrote: Nope, it's too soon for me to deal with moving targets. So, I guess I need the rock-stable version until I get familiar with the OS. I'll agree with "rock-stable" as it relates to FBSD; however, realize that the "-STABLE" tag mostly refers to the fact that the developers aren't allowed to make sweeping changes to subsystems/API's without permission from a consensus of developers and perhaps even notification of the userbase. It's not a guarantee of usability, etc. As noted, RELENG is what you want for now; it's never going to be changed for the sake of a feature, only for security related patching. > 3) "make buildworld" re-compiles _everything_ or the "base system" only? It recompiles the base system. For updates to packages installed from ports look at portupgrade. OK. It brings another question. For example Postgres is not a part of the base system. Will it break if i make: ## pkg_add -r postgresql83-server.tbz cvsup /usr/share/examples/cvsup/standard-supfile make buildworld make buildkernel make installkernel reboot (in single mode) mergemaster -p make installworld mergemaster reboot ## ...And what should I do if Postgres (or any other arbitrary binary package) breaks afterwards? How should I keep the binary packages up-todate? Actually I intend to compile Postgres from the ports after success in re-building and installing the base system, but the question still remains. First, let me hopefully give you a little comfort, that as long as you're only tracking a RELENG branch, this (breakage of a port) will Hardly Ever Happen(tm). I think another poster already pointed you to "portupgrade" (which is well-known in the community and perhaps even mentioned in the official FBSD Docs, although it's a "port" itself ... take a gander at /usr/ports/port-mgmt for an idea of what's there to manage your ports. Now, let me caution you that updating the *ports* is more likely to cause issues than the updating of the base system. If you, for example, happen to upgrade expat or something basic to a bunch of ports, things can go pretty haywire until everything's back up-to-date. But, then again, that's what the ports-mgmt tools are supposed to help with. Last but not least: Thanks for the fast and detailed response. I appreciate it very much. Well, welcome to *the* community. FBSD's community is often that way. Kevin Kinsey -- In every hierarchy the cream rises until it sours. -- Dr. Laurence J. Peter ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: branches, updates, buildworld
On 9/10/08, Todor Genov <[EMAIL PROTECTED]> wrote: > > [EMAIL PROTECTED] wrote: > > Hi, --snip-- > > 1) After reading the docs I remained with the impression that sources > > should be updated for "-current" and "-stable" branches only. Is this > > correct? > > The STABLE and CURRENT branch are works-in-progress and change daily, > thus if you wish to follow them you need to update your sources quite > frequently. > > The only time the RELEASE branch changes (and needs to be updated) is > when security and bug fixes are applied to the current source tree - > these are known as RELEASE-p? versions. You can follow these updates at > http://security.freebsd.org/advisories and on the > freebsd-security-notifications mailing list. > > > > 2) If I'm wrong about (1) how should I update the "-release" sources in > > order to "make buildworld" with additional gcc optimisations? > > > make buildworld in /usr/src will compile whatever sources you have in > the directory. Whether the compiled code is optimized depends on what > you put in /etc/make.conf > > If you haven't done a cvsup since your installation then you have the > 7.0-RELEASE source which was on the CD. > > If you want to obtain the latest 7.0-RELEASE-p? source you need to > cvsup with tag=RELENG_7_0 in the cvsup config file. Thereafter you do a > buildworld/installworld (and buildkernel/installkernel) which will then > give you the latest -RELEASE version (7.0-RELEASE-p4 if I am not mistaken). Thank you! Exactly what I wanted to know. > Similarly tag=RELENG_7 will fetch the -STABLE branch and tag=. will > fetch the -CURRENT branch, but you should probably stick with RELENG_7_0 Nope, it's too soon for me to deal with moving targets. So, I guess I need the rock-stable version until I get familiar with the OS. > > > > 3) "make buildworld" re-compiles _everything_ or the "base system" only? > > > It recompiles the base system. For updates to packages installed from > ports look at portupgrade. OK. It brings another question. For example Postgres is not a part of the base system. Will it break if i make: ## pkg_add -r postgresql83-server.tbz cvsup /usr/share/examples/cvsup/standard-supfile make buildworld make buildkernel make installkernel reboot (in single mode) mergemaster -p make installworld mergemaster reboot ## ...And what should I do if Postgres (or any other arbitrary binary package) breaks afterwards? How should I keep the binary packages up-todate? Actually I intend to compile Postgres from the ports after success in re-building and installing the base system, but the question still remains. > > > > 4) Will "make buildworld" fail with a make.conf like this: > > Seems OK on first inspection. Guess you won't know till you run the > buildworld :) I was kind of hoping not to figure out the optimal combination of gcc flags by following the "generate and test" method on Pentium-2. :) Last but not least: Thanks for the fast and detailed response. I appreciate it very much. ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: branches, updates, buildworld
[EMAIL PROTECTED] wrote: > Hi, > > I'm new to FreeBSD and I'd like to give it a try as a PostgreSQL test > server on an ancient box. > > Since I have a lot to learn about this OS, I chose FreeBSD-7.0-RELEASE. > (It's the most current production-ready release now, right?). > > On the other hand I'd like to make every possible speed improvement, > because the CPU is [EMAIL PROTECTED] So, my questions are: > > 1) After reading the docs I remained with the impression that sources > should be updated for "-current" and "-stable" branches only. Is this > correct? The STABLE and CURRENT branch are works-in-progress and change daily, thus if you wish to follow them you need to update your sources quite frequently. The only time the RELEASE branch changes (and needs to be updated) is when security and bug fixes are applied to the current source tree - these are known as RELEASE-p? versions. You can follow these updates at http://security.freebsd.org/advisories and on the freebsd-security-notifications mailing list. > 2) If I'm wrong about (1) how should I update the "-release" sources in > order to "make buildworld" with additional gcc optimisations? make buildworld in /usr/src will compile whatever sources you have in the directory. Whether the compiled code is optimized depends on what you put in /etc/make.conf If you haven't done a cvsup since your installation then you have the 7.0-RELEASE source which was on the CD. If you want to obtain the latest 7.0-RELEASE-p? source you need to cvsup with tag=RELENG_7_0 in the cvsup config file. Thereafter you do a buildworld/installworld (and buildkernel/installkernel) which will then give you the latest -RELEASE version (7.0-RELEASE-p4 if I am not mistaken). Similarly tag=RELENG_7 will fetch the -STABLE branch and tag=. will fetch the -CURRENT branch, but you should probably stick with RELENG_7_0 > > 3) "make buildworld" re-compiles _everything_ or the "base system" only? It recompiles the base system. For updates to packages installed from ports look at portupgrade. > > 4) Will "make buildworld" fail with a make.conf like this: > > > PERL_VER=5.8.8 > PERL_VERSION=5.8.8 > BDECFLAGS="-march=pentium2 -mmmx -pipe -O3 -fomit-frame-pointer \ > -combine -fno-strict-aliasing" > > CFLAGS+=${BDECFLAGS} > CXXFLAGS=${CFLAGS} > COPTFLAGS="-march=pentium2 -mmmx -pipe -O3 -fomit-frame-pointer \ > -combine -fno-strict-aliasing" > > BOOTWAIT=3000 > DOC_LANG=en > NO_SHAREDOCS=True > > WITHOUT_MODULES="INET6 zfs wlan firewire lpt joy iscsi cpufreq coda \ > coda5 3dfx acpi unionfs ilpt srv4 smbfs reiserfs pccard palm uscanner \ > xfs audiocs emu10k1 fm801 neomagic t4dwave cmi emu10kx hda sb16 uaudio \ > ad1816 cs4281 envy24 ich sb8 via8233 als4000 csa envy24ht maestro \ > via82c686 atiixp driver es137x maestro3 solo vibes au88x0 ds1 mss \ > spicds" > Seems OK on first inspection. Guess you won't know till you run the buildworld :) Regards, Todor Genov Systems Operations Verizon Business South Africa (Pty) Ltd [EMAIL PROTECTED] Tel: +27 11 235 6500 Fax: 086 692 0543 ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"