Date: Tue, 12 Jan 2010 10:10:41 +0000 From: Mike Clarke <jmc-freebsd2@milibyte.co.uk> To: freebsd-questions@freebsd.org Subject: Solved: Problems building en-openoffice.org-GB-3.1.1 from ports Message-ID: <201001121010.41914.jmc-freebsd2@milibyte.co.uk> In-Reply-To: <201001021557.59944.jmc-freebsd2@milibyte.co.uk> References: <201001021557.59944.jmc-freebsd2@milibyte.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 02 January 2010, Mike Clarke wrote: > After successfully moving from 6.4 to 8.0 by doing a clean install > I've embarked on the task of rebuilding OpenOffice from ports :-( > > I'm getting a confusing error in the config stage: > > ------------------------------------------------------------ > ===> Configuring for en-openoffice.org-GB-3.1.1 > <snip> > checking for > gperf... > /backup/tmp/ports/work/usr/ports/editors/openoffice.org-3/work/OOO310 >_m19/solenv/bin/gperf checking gperf version... /libexec/ld-elf.so.1: > Shared > object "libstdc++.so.5" not found, required by "gperf" > test: : bad number > configure: error: too old, you need at least 3.0.0 > ===> Script "configure" failed unexpectedly. > ------------------------------------------------------------ and on Sunday 03 January 2010, Matthew Seaman wrote: > Mike Clarke wrote: > > After pondering a bit more over this problem I think I know where > > the 6.4 stuff may have come from. After I built the base system I > > copied various useful files from /root on the 6.4 system, > > including /root/.cshrc which contained a line setting PACKAGESITE > > to > > ftp://ftp2.uk.freebsd.org/pub/FreeBSD/ports/i386/packages-6.4-relea > >se/All/ and it's quite possible that I ran portinstall -P for some > > ports before I got round to changing this to point to packages-8. > > Yep. This would stick a fairly hefty spanner in the works. > > > Considering the vast number of files in /usr/local/bin with links > > to missing libraries I think my best approach now will be to > > deinstall ALL my ports and reinstall them again from scratch after > > deleting everything in /usr/ports/packages and checking that all > > directories in /usr/local (except etc) have been emptied. > > This also is a good move. Don't forget to treat /compat/linux > similarly to /usr/local if you have any linux stuff installed -- > there have been a lot of changes to the linuxulator newly available > in 8.0 which you really want if you're going to run linux stuff under > emulation. If you strip out /compat/linux completely, then under 8.0 > you'll get the latest linux-base-f10 by default when you re-install. > > When reinstalling ported software, it's a good idea to adopt the > following strategies: > > * Install whatever ports management software you prefer > (portupgrade(1), portmaster(1)) pretty much straight away -- you'll > need this to build everything. > * Look at the list of installed packages on your 6.4 install, and > pick out the packages that are your end-use applications. These will > mostly be leaf packages, but not always. > * You only need to reinstall just those packages -- everything > else should be installed automatically as dependencies. This will > help you avoid installing and outdated build dependencies or > otherwise orphaned packages which otherwise tend to accumulate on an > actively updated system. * For the end-use packages you choose, run > 'make config-recursive' before you start building anything to ensure > you've selected all the required options. Or use portmanager(1) > which runs you through the config stage first of all. You need to be > a bit careful doing this, as toggling an option in a port can > radically change its dependency list, and may bring new sets of > options into play. To resolve that, you'll need to re-run 'make > config-recursive' until it no longer prompts you to make any OPTIONS > settings. [There's a PR to fix this behaviour in the works, but it > hasn't been committed yet.] > * Where there are ports that have compilation flags or knobs that > aren't controlled through OPTIONS dialogues, then be sure to record > any non- default settings in /etc/make.conf. You can use a construct > like this to only apply settings to specific ports: > > .if ${.CURDIR:M*/mail/dkim-milter} > WITH_LIBDKIM_INSTALL= yes > WITH_LIBDKIM_SHARED= yes > WITH_VERIFY_DOMAINKEYS= yes > WITH_STATS= yes > WITH_DNS_UPGRADE= yes > .endif > > Well known KNOBS should be set globally where you aren't using > the default setting, eg: > > WITH_OPENSSL_PORT= yes > WITH_BDB_VER= 47 > WITH_MYSQL_VER= 51 > WITH_OPENLDAP_VER= 24 > WANT_OPENLDAP_SASL= yes > WITH_GECKO= libxul > WITH_APACHE2= yes > APACHE_PORT= www/apache22 > WITH_MODPERL2= yes > PERL_VERSION= 5.10.1 > > Again, changing these settings can affect the dependency tree > and potentially bring new sets of OPTIONS into play, so test > repeatedly with 'make config-recursive' > * It's a good idea to run 'make fetch-recursive' or 'portinstall > -RF ...' or 'portmaster -F ...' after sorting out configuration to > download any distfiles before trying to build everything, as this is > another place where a big build session can blow up while you aren't > looking. It's not mandatory though. > * Once everything is configured nicely, it should be possible to > just run a massive portupgrade(1) or portmaster(1) session unattended > to build and install everything, without finding that 10 minutes > after you went home the build stopped at an OPTIONS screen and sat > there all night... In fact, it is well worth temporarily defining > BATCH in make.conf or the environment to just accept the defaults for > anything not yet configured during a big build job like this. (But > not otherwise. BATCH isn't a good idea for an incremental upgrade > IMHO.) > > If you follow these guidelines when installing the system you should > find that not only does it make your initial install run smoothly, > but it sets you up well for managing updates to the installed system > in the future. Thanks very much for your help. I've followed your guidelines and totally removed and re-installed all my ports. Although the rebuild ran for about 13 hours it went very smoothly and was time well spent. I was then able to build OpenOffice without any problems in a further 6 hours. An additional benefit is that a number of apparently inexplicable minor problems have now gone away, I can even use the latest Nvidia driver now, previously I'd had to downgrade to nvidia-driver-96.43.13 because all the later Nvidia drivers just froze on start-up with a black screen. -- Mike Clarke
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001121010.41914.jmc-freebsd2>