ar: invalid option -- 's'

Mark Constable markc at renta.net
Wed Oct 21 11:33:55 UTC 2009


I thought I'd try building busybox inside a fresh x86_64 install
made by buildroot but the busybox ar is missing an argument used
by the build process.

> ar s - Write an object-file index into the archive, or update
> an existing one, even if no other change is made to the archive.
> You may use this modifier flag either with any operation, or alone.
> Running ar s on an archive is equivalent to running ranlib on it.

So s passed to the busybox ar could call the busybox ranlib or, more
easily, the Makefile could be altered to use ranlib instead of ar s.

Perhaps building busybox using only busybox for shell support will
fail further along but this one seems reasonably easy to overcome
for someone more familiar with busybox internals than me. FWIW.

% /usr/src/busybox make install
  SPLIT   include/autoconf.h -> include/config/*
  GEN     include/bbconfigopts.h
  HOSTCC  applets/usage
  GEN     include/usage_compressed.h
13477+1 records in
13477+1 records out
  HOSTCC  applets/applet_tables
  GEN     include/applet_tables.h
  CC      applets/applets.o
  LD      applets/built-in.o
  HOSTCC  applets/usage_pod
  LD      archival/built-in.o
ar: invalid option -- 's'
BusyBox v1.15.2 (2009-10-21 17:24:56 EST) multi-call binary

Usage: ar [-o] [-v] [-p] [-t] [-x] ARCHIVE FILES

Extract or list FILES from an ar archive

Options:
        -o      Preserve original dates
        -p      Extract to stdout
        -t      List
        -x      Extract
        -v      Verbose

make[1]: *** [archival/built-in.o] Error 1
make: *** [archival] Error 2

--markc


More information about the busybox mailing list