Solved: Problems building en-openoffice.org-GB-3.1.1 from ports

2010-01-12 Thread Mike Clarke
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 

Re: Problems building en-openoffice.org-GB-3.1.1 from ports

2010-01-05 Thread Mike Clarke
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.

It certainly made quite a mess but it's surprising how well the system 
has been running with all this damage.

Thanks for your comments and suggestions regarding the rebuilding 
process. Although the procedure I had in mind was similar some of your 
suggestions hadn't occurred to me and are much appreciated, I would 
almost certainly have overlooked /compat/linux and the need to re-run 
config-recursive.

I've copied my system over to a spare PC so I can rebuild all the ports 
on the original machine without loosing access to a (sort of) working 
system. All the ports have been deinstalled from the original machine 
and I will now start work on re-installing the ports. Rather than run a 
single massive upgrade job I'll follow my normal practise of getting 
xorg and my nvidia driver working first then install the rest in a big 
batch.

-- 
Mike Clarke
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: Problems building en-openoffice.org-GB-3.1.1 from ports

2010-01-03 Thread Mike Clarke
On Saturday 02 January 2010, Mike Clarke wrote:

 ... and the build of OpenOffice ran through the configure stage
 without any problems so I'm keeping my fingers crossed that it'll
 still be compiling tomorrow.

Well it went a bit further but failed with the following:

---
Checking DLL ../unxfbsdi.pro/lib/check_i18npool.uno.so ...-rwxr-xr-x  1 
root  wheel  2897131 Jan  2 23:53 ../unxfbsdi.pro/lib/i18npool.uno.so
Running processes: 0
deliver -- version: 266154
Module 'i18npool' delivered successfully. 29 files copied, 5 files 
unchanged

1 module(s):
cppunit
need(s) to be rebuilt

Reason(s):

ERROR: error 65280 occurred while 
making /backup/tmp/usr/ports/editors/openoffice.org-3/work/OOO310_m19/cppunit

Attention: if you build and deliver the above module(s) you may 
prolongue your the build issuing command build --from cppunit

rmdir /tmp/17668
*** Error code 1

Stop in /usr/ports/editors/openoffice.org-3.
---

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-release/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.

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.

-- 
Mike Clarke
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: Problems building en-openoffice.org-GB-3.1.1 from ports

2010-01-03 Thread Matthew Seaman

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-release/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.

Cheers,

Matthew

--
Dr Matthew J Seaman MA, D.Phil.   7 Priory Courtyard
   

Re: Problems building en-openoffice.org-GB-3.1.1 from ports

2010-01-03 Thread Warren Block

On Sun, 3 Jan 2010, Mike Clarke wrote:


On Saturday 02 January 2010, Mike Clarke wrote:


... and the build of OpenOffice ran through the configure stage
without any problems so I'm keeping my fingers crossed that it'll
still be compiling tomorrow.


Well it went a bit further but failed with the following:

---
Checking DLL ../unxfbsdi.pro/lib/check_i18npool.uno.so ...-rwxr-xr-x  1
root  wheel  2897131 Jan  2 23:53 ../unxfbsdi.pro/lib/i18npool.uno.so
Running processes: 0
deliver -- version: 266154
Module 'i18npool' delivered successfully. 29 files copied, 5 files
unchanged

1 module(s):
cppunit
need(s) to be rebuilt

Reason(s):

ERROR: error 65280 occurred while
making /backup/tmp/usr/ports/editors/openoffice.org-3/work/OOO310_m19/cppunit


If the FreeBSD port of devel/cppunit is installed, the openoffice build 
errors out when that conflicts with its own internal cppunit.  Or it did 
a while back, anyway.


-Warren Block * Rapid City, South Dakota USA
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Problems building en-openoffice.org-GB-3.1.1 from ports

2010-01-02 Thread Mike Clarke
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.


True enough I don't have a native libstdc++.so.5 .

/usr/local/lib/gcc/i386-portbld-freebsd6.4/3.4.6/libstdc++.so.6
/usr/local/lib/compat/libstdc++.so.4
/usr/lib/libstdc++.so.6
/usr/compat/linux/usr/lib/libstdc++.so.5.0.7
/usr/compat/linux/usr/lib/libstdc++.so.6.0.10

The only similar problem I could find on Google was a post to the 
freebsd-ports list 2 years ago where someone had a problem with a 
pre-built package of OpenOffice except that it required libstdc++.so.6 
and he had libstdc++.so.5. So I'm puzzled why now, 2 years later, 
OpenOffice needs an older version of libstdc++.so.

As an experiment I added a link for libstdc++.so.5 in /usr/lib and this 
stopped the message about libstdc++.so.5 but produced a new one about 
libm.so.4 not being found, and still complained about gperf being too 
old.

I've now put this task on the back burner while I ask for advice here 
instead of digging an even deeper hole for myself.

I assume that at least 3.0.0 refers to the version of gperf but I 
already have gperf-3.0.3.

Does this look like a bug or have I done something wrong?

-- 
Mike Clarke
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: Problems building en-openoffice.org-GB-3.1.1 from ports

2010-01-02 Thread Matthew Seaman

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.



gperf comes with the base system as well:

% /usr/bin/gperf --version 
GNU gperf 2.7.2


but it is certainly possible to build OOo under FreeBSD 8.0 --
it will install the ports version of gperf as a build dependency.


True enough I don't have a native libstdc++.so.5 .

/usr/local/lib/gcc/i386-portbld-freebsd6.4/3.4.6/libstdc++.so.6


^^^ Looks like something that was installed under FreeBSD 6.4.  Dunno
   what in the up-to-date ports tree would need gcc-3.4 since the base
   system is now up to gcc-4.2, and that's quite capable of compiling
   OOo.


/usr/local/lib/compat/libstdc++.so.4


^^^ This is from the compat6x port 


/usr/lib/libstdc++.so.6


^^^ the version from 8.0 base system

libstdc++.so.5 would be part of a 7.x base system, but as you've gone 
to 8.0 by doing a clean install, nothing should be referencing that

version.  What does 'ldd /usr/local/bin/gperf' tell you?

At a guess you haven't followed the often repeated advice to reinstall
/all/ your ports when you do a major version upgrade.  That means
recompile from source in correct dependency order, or install pkgs compiled 
under 8.0.  Yes, it's tedious.  Yes, it consumes a lot of CPU cycles.  But

now you understand why this is good advice...

Cheers,

Matthew

--
Dr Matthew J Seaman MA, D.Phil.   7 Priory Courtyard
 Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate
 Kent, CT11 9PW



signature.asc
Description: OpenPGP digital signature


Re: Problems building en-openoffice.org-GB-3.1.1 from ports

2010-01-02 Thread Mike Clarke
On Saturday 02 January 2010, Matthew Seaman wrote:

  /usr/local/lib/gcc/i386-portbld-freebsd6.4/3.4.6/libstdc++.so.6

 ^^^ Looks like something that was installed under FreeBSD 6.4.

But I installed 8.0 on an empty slice so there wouldn't have been any 
6.4 stuff still lying around.

 Dunno 
 what in the up-to-date ports tree would need gcc-3.4 since the
 base system is now up to gcc-4.2, and that's quite capable of
 compiling OOo.

Yes gcc-3.4 pulled that in but I don't know how gcc-3.4 got there, 
nothing seems to depend on it.

curlew:/home/mike% pkg_info -Rr gcc-3.4.6_3,1
Information for gcc-3.4.6_3,1:

Depends on:
Dependency: libiconv-1.13.1

  /usr/local/lib/compat/libstdc++.so.4

 ^^^ This is from the compat6x port

It's actually from compat5x which I need for nvidia-driver-96.43.13. For 
some obscure reason that I was never able to solve I could never get X 
to work with my GeForce 6150 chipset on FreeBSD 6.4 with any of the 
more recent Nvidia drivers so I assumed I'd still need to use this 
version. Perhaps it's time to see if the latest driver will work for me 
with 8.0 so that I can get rid of compat5x .

  /usr/lib/libstdc++.so.6

 ^^^ the version from 8.0 base system

 libstdc++.so.5 would be part of a 7.x base system, but as you've gone
 to 8.0 by doing a clean install, nothing should be referencing that
 version.  What does 'ldd /usr/local/bin/gperf' tell you?

curlew:/home/mike% ldd /usr/local/bin/gperf
/usr/local/bin/gperf:
libstdc++.so.5 = /usr/lib/libstdc++.so.5 (0x33ca)
libm.so.4 = not found (0x0)
libc.so.6 = not found (0x0)
libm.so.5 = /lib/libm.so.5 (0x33d94000)
libgcc_s.so.1 = /lib/libgcc_s.so.1 (0x33dae000)
libc.so.7 = /lib/libc.so.7 (0x33db9000)

The two not found lines look a bit worrying, perhaps I'd better rebuild 
gperf.

 At a guess you haven't followed the often repeated advice to
 reinstall /all/ your ports when you do a major version upgrade.  That
 means recompile from source in correct dependency order, or install
 pkgs compiled under 8.0.  Yes, it's tedious.  Yes, it consumes a lot
 of CPU cycles.  But now you understand why this is good advice...

It certainly looks like that but it's not the case here. Being aware of 
the time and disruption needed to rebuild everything I decided not to 
upgrade the existing 6.4 system but to build 8.0 from scratch on a 
spare slice. That way I could install the ports as and when time 
permitted and still be able to reboot back into a fully functional 
system when needed for production work.

I've just now run portupgrade -f gperf and things are looking a bit more 
promising. ldd /usr/local/bin/gperf now shows:

/usr/local/bin/gperf:
libstdc++.so.6 = /usr/lib/libstdc++.so.6 (0x33ca2000)
libm.so.5 = /lib/libm.so.5 (0x33d96000)
libgcc_s.so.1 = /lib/libgcc_s.so.1 (0x33db)
libc.so.7 = /lib/libc.so.7 (0x33dbb000)

... and the build of OpenOffice ran through the configure stage without 
any problems so I'm keeping my fingers crossed that it'll still be 
compiling tomorrow.

Even if OpenOffice builds OK I think I've still got problems to solve. A 
trawl through /usr/local/bin shows that there's lots of program with 
links to missing libraries. I suspect I'm going to have to do 
portupgrade -af and rebuild all the ports.

-- 
Mike Clarke
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org