[Call for testers] "BSD ar"
shuvaev at physik.uni-wuerzburg.de
Mon Jan 14 09:01:46 PST 2008
On Sat, Jan 12, 2008 at 09:51:34AM +0100, Kai Wang wrote:
> This won't work as GNU ranlib is not merely a hardlink to ar.
> Thus correct way would be:
> 1. Backup your GNU ar and ranlib first:
> % cp /usr/bin/ar SOME_BACKUP_DIR
> % cp /usr/bin/ranlib SOME_BACKUP_DIR
> 2. Build BSD ar
> extract the tarball
> % cd ar
> % make
> 3. Replace
> # cp ./ar /usr/bin/ar
> # cd /usr/bin
> # ln -f ar ranlib
> When recover GNU ar:
> # cp SOME_BACKUP_DIR/ar /usr/bin/ar
> # cp SOME_BACKUP_DIR/ranlib /usr/bin/ranlib
> Sorry for the mess...
> BTW: I'm working on a patch for -CURRENT as peter@ just suggested.
Ok, first bad news...
Well, maybe not so bad, and maybe not so new...
I have tried to compile editors/openoffice.org-2 on amd64 8-CURRENT
machine. It fails while compiling:
Building project nas
mkout -- version: 1.7
What it tries to execute exactly is, for example:
rm -f libvoxware.a
ar clq libvoxware.a auvoxware.o config.o
usage: ar -d [-jsvz] archive file ...
ar -m [-jsvz] archive file ...
ar -m [-abijsvz] position archive file ...
ar -p [-v] archive [file ...]
ar -r [-cjsuvz] archive file ...
ar -r [-abcijsuvz] position archive file ...
ar -s [-jz] archive
ar -t [-v] archive [file ...]
ar -x [-Couv] archive [file ...]
*** Error code 64
`all' not remade because of errors.
>From GNU ar(1) man page, FWIW:
q Quick append; Historically, add the files member... to the end of
archive, without checking for replacement.
The modifiers a, b, and i do not affect this operation; new members
are always placed at the end of the archive.
The modifier v makes ar list each file as it is appended.
Since the point of this operation is speed, the archive's symbol
table index is not updated, even if it already existed; you can use
ar s or ranlib explicitly to update the symbol table index.
However, too many different systems assume quick append rebuilds
the index, so GNU ar implements q as a synonym for r.
c Create the archive. The specified archive is always created if it
did not exist, when you request an update. But a warning is issued
unless you specify in advance that you expect to create it, by
using this modifier.
l This modifier is accepted but not used.
Now I am trying to compile OOo-2 with GNU binutils ar, just to check
it is not the broken port at all.
More information about the freebsd-current