# Buildworld fails, message error 'install: illegal option -- l'



## SIFE (Apr 18, 2013)

Hello,

I am having trouble with a `make buildworld` of FreeBSD 9. The compiler flags are the default. I disabled Clang to be built with buildworld:

```
===> gnu/usr.bin/groff/src/utils/lkbib (install)
sh /usr/src9/tools/install.sh -s -o root -g wheel -m 555   lkbib /usr/obj/usr/src9/tmp/legacy/usr/bin
===> gnu/usr.bin/groff/src/utils/lookbib (install)
sh /usr/src9/tools/install.sh -s -o root -g wheel -m 555   lookbib /usr/obj/usr/src9/tmp/legacy/usr/bin
===> gnu/usr.bin/groff/src/utils/pfbtops (install)
sh /usr/src9/tools/install.sh -s -o root -g wheel -m 555   pfbtops /usr/obj/usr/src9/tmp/legacy/usr/bin
===> gnu/usr.bin/groff/src/utils/tfmtodit (install)
sh /usr/src9/tools/install.sh -s -o root -g wheel -m 555   tfmtodit /usr/obj/usr/src9/tmp/legacy/usr/bin
===> gnu/usr.bin/groff/tmac (install)
cd /usr/src9/gnu/usr.bin/groff/tmac/../../../../contrib/groff/tmac;  sh /usr/src9/tools/install.sh -o root -g wheel -m 444  mandoc.tmac andoc.tmac an-old.tmac  me.tmac  mdoc.tmac  pic.tmac  a4.tmac  papersize.tmac  ec.tmac  safer.tmac  trace.tmac  ps.tmac psold.tmac pspic.tmac psatk.tmac  dvi.tmac  tty.tmac tty-char.tmac  latin1.tmac latin2.tmac latin9.tmac cp1047.tmac  unicode.tmac  X.tmac Xps.tmac  lj4.tmac  lbp.tmac  html.tmac html-end.tmac  devtag.tmac  europs.tmac  composite.tmac  eqnrc  troffrc troffrc-end  hyphen.us hyphenex.us /usr/obj/usr/src9/tmp/legacy/usr/share/tmac
cd /usr/src9/gnu/usr.bin/groff/tmac;  sh /usr/src9/tools/install.sh -o root -g wheel -m 444  koi8-r.tmac hyphen.ru /usr/obj/usr/src9/tmp/legacy/usr/share/tmac
cd /usr/obj/usr/src9/tmp/usr/src9/gnu/usr.bin/groff/tmac
sh /usr/src9/tools/install.sh -o root -g wheel -m 444  e.tmac-s /usr/obj/usr/src9/tmp/legacy/usr/share/tmac/e.tmac
sh /usr/src9/tools/install.sh -o root -g wheel -m 444  doc.tmac-s /usr/obj/usr/src9/tmp/legacy/usr/share/tmac/doc.tmac
sh /usr/src9/tools/install.sh -o root -g wheel -m 444  mdoc.local-s /usr/obj/usr/src9/tmp/legacy/usr/share/tmac/mdoc.local
sh /usr/src9/tools/install.sh -o root -g wheel -m 444  an.tmac-s /usr/obj/usr/src9/tmp/legacy/usr/share/tmac/an.tmac
sh /usr/src9/tools/install.sh -o root -g wheel -m 444  man.tmac-s /usr/obj/usr/src9/tmp/legacy/usr/share/tmac/man.tmac
sh /usr/src9/tools/install.sh -o root -g wheel -m 444  s.tmac-s /usr/obj/usr/src9/tmp/legacy/usr/share/tmac/s.tmac
sh /usr/src9/tools/install.sh -o root -g wheel -m 444  ms.tmac-s /usr/obj/usr/src9/tmp/legacy/usr/share/tmac/ms.tmac
sh /usr/src9/tools/install.sh -o root -g wheel -m 444  www.tmac-s /usr/obj/usr/src9/tmp/legacy/usr/share/tmac/www.tmac
sh /usr/src9/tools/install.sh -o root -g wheel -m 444  doc-common-s /usr/obj/usr/src9/tmp/legacy/usr/share/tmac/mdoc/doc-common
sh /usr/src9/tools/install.sh -o root -g wheel -m 444  doc-ditroff-s /usr/obj/usr/src9/tmp/legacy/usr/share/tmac/mdoc/doc-ditroff
sh /usr/src9/tools/install.sh -o root -g wheel -m 444  doc-nroff-s /usr/obj/usr/src9/tmp/legacy/usr/share/tmac/mdoc/doc-nroff
sh /usr/src9/tools/install.sh -o root -g wheel -m 444  doc-syms-s /usr/obj/usr/src9/tmp/legacy/usr/share/tmac/mdoc/doc-syms
sh /usr/src9/tools/install.sh -o root -g wheel -m 444  fr.ISO8859-1-s /usr/obj/usr/src9/tmp/legacy/usr/share/tmac/mdoc/fr.ISO8859-1
sh /usr/src9/tools/install.sh -o root -g wheel -m 444  ru.KOI8-R-s /usr/obj/usr/src9/tmp/legacy/usr/share/tmac/mdoc/ru.KOI8-R
sh /usr/src9/tools/install.sh -o root -g wheel -m 444  /usr/src9/gnu/usr.bin/groff/tmac/../../../../contrib/groff/tmac/man.local /usr/obj/usr/src9/tmp/legacy/usr/share/tmac
===> usr.bin/lorder (obj,depend,all,install)
/usr/obj/usr/src9/tmp/usr/src9/usr.bin/lorder created for /usr/src9/usr.bin/lorder
sh /usr/src9/tools/install.sh -o root  -g wheel -m 555  /usr/src9/usr.bin/lorder/lorder.sh  /usr/obj/usr/src9/tmp/legacy/usr/bin/lorder
===> usr.bin/makewhatis (obj,depend,all,install)
/usr/obj/usr/src9/tmp/usr/src9/usr.bin/makewhatis created for /usr/src9/usr.bin/makewhatis
rm -f .depend
mkdep -f .depend -a    -I/usr/obj/usr/src9/tmp/legacy/usr/include -std=gnu99   /usr/src9/usr.bin/makewhatis/makewhatis.c
echo makewhatis: /usr/lib/libc.a /usr/lib/libz.a /usr/obj/usr/src9/tmp/legacy/usr/lib/libegacy.a >> .depend
cc -O2 -pipe -std=gnu99   -I/usr/obj/usr/src9/tmp/legacy/usr/include -c /usr/src9/usr.bin/makewhatis/makewhatis.c
cc -O2 -pipe -std=gnu99   -I/usr/obj/usr/src9/tmp/legacy/usr/include  -static -L/usr/obj/usr/src9/tmp/legacy/usr/lib -o makewhatis makewhatis.o -lz -legacy
sh /usr/src9/tools/install.sh -s -o root -g wheel -m 555   makewhatis /usr/obj/usr/src9/tmp/legacy/usr/bin
sh /usr/src9/tools/install.sh -o root  -g wheel -m 555  /usr/src9/usr.bin/makewhatis/makewhatis.local.sh  /usr/obj/usr/src9/tmp/legacy/usr/libexec/makewhatis.local
/usr/obj/usr/src9/tmp/legacy/usr/libexec/catman.local -> /usr/obj/usr/src9/tmp/legacy/usr/libexec/makewhatis.local
install: illegal option -- l
usage: install [-bCcMpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
               [-o owner] file1 file2
       install [-bCcMpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
               [-o owner] file1 ... fileN directory
       install -d [-v] [-g group] [-m mode] [-o owner] directory ...
*** Error code 64

Stop in /usr/src9/usr.bin/makewhatis.
*** Error code 1

Stop in /usr/src9.
*** Error code 1

Stop in /usr/src9.
*** Error code 1

Stop in /usr/src9.
```
The current system is FreeBSD 8-STABLE.


----------



## SirDice (Apr 23, 2013)

Not exactly sure when you updated your source but try updating it again. It looks like this PR 177055 fixed the issue.


----------



## SIFE (May 13, 2013)

For the second time I updated my 
	
	



```
src
```
, and I am still having some issue.


----------



## SIFE (May 18, 2013)

buildworld now pass, but a new error comes:

```
--------------------------------------------------------------
>>> stage 2.3: build tools
--------------------------------------------------------------
<command-line>: warning: "__FreeBSD_cc_version" redefined
<built-in>: warning: this is the location of the previous definition
<command-line>: warning: "__FreeBSD_cc_version" redefined
<built-in>: warning: this is the location of the previous definition
<command-line>: warning: "__FreeBSD_cc_version" redefined
<built-in>: warning: this is the location of the previous definition
<command-line>: warning: "__FreeBSD_cc_version" redefined
<built-in>: warning: this is the location of the previous definition
<command-line>: warning: "__FreeBSD_cc_version" redefined
<built-in>: warning: this is the location of the previous definition
<command-line>: warning: "__FreeBSD_cc_version" redefined
<built-in>: warning: this is the location of the previous definition
<command-line>: warning: "__FreeBSD_cc_version" redefined
<built-in>: warning: this is the location of the previous definition
<command-line>: warning: "__FreeBSD_cc_version" redefined
<built-in>: warning: this is the location of the previous definition
<command-line>: warning: "__FreeBSD_cc_version" redefined
<built-in>: warning: this is the location of the previous definition
<command-line>: warning: "__FreeBSD_cc_version" redefined
<built-in>: warning: this is the location of the previous definition
<command-line>: warning: "__FreeBSD_cc_version" redefined
<built-in>: warning: this is the location of the previous definition
<command-line>: warning: "__FreeBSD_cc_version" redefined
<built-in>: warning: this is the location of the previous definition

--------------------------------------------------------------
>>> stage 3.1: making dependencies
--------------------------------------------------------------
===> aac (depend)
<command-line>: warning: "__FreeBSD_cc_version" redefined
<built-in>: warning: this is the location of the previous definition
===> accf_data (depend)
===> accf_dns (depend)
===> accf_http (depend)
===> acpi (depend)
===> acpi/acpi_asus (depend)
<command-line>: warning: "__FreeBSD_cc_version" redefined
<built-in>: warning: this is the location of the previous definition
===> acpi/acpi_fujitsu (depend)
===> acpi/acpi_hp (depend)
<command-line>: error: "__FreeBSD_cc_version" redefined
<built-in>: error: this is the location of the previous definition
*** Error code 1
===> acpi/acpi_ibm (depend)
===> acpi/acpi_panasonic (depend)
===> acpi/acpi_sony (depend)
===> acpi/acpi_toshiba (depend)
===> acpi/acpi_video (depend)
===> acpi/acpi_dock (depend)
===> acpi/acpi_wmi (depend)
===> acpi/aibs (depend)
===> ae (depend)
===> aesni (depend)
===> age (depend)
===> agp (depend)
===> aha (depend)
===> ahci (depend)
===> aic7xxx (depend)
===> aic7xxx/aicasm (depend)
===> aic7xxx/ahc (depend)
../aicasm/aicasm: 880 instructions used
../aicasm/aicasm: 880 instructions used
../aicasm/aicasm: 880 instructions used
===> aic7xxx/ahc/ahc_eisa (depend)
===> aic7xxx/ahc/ahc_isa (depend)
===> aic7xxx/ahc/ahc_pci (depend)
===> aic7xxx/ahd (depend)
../aicasm/aicasm: 826 instructions used
===> aio (depend)
===> alc (depend)
===> ale (depend)
===> alq (depend)
===> amdsbwd (depend)
===> amdtemp (depend)
===> amr (depend)
===> amr/amr_cam (depend)
===> amr/amr_linux (depend)
===> an (depend)
===> aout (depend)
===> arcmsr (depend)
===> asmc (depend)
===> ata (depend)
===> ata/atacore (depend)
===> ata/atacard (depend)
===> ata/ataisa (depend)
===> ata/atapci (depend)
===> ata/atapci/chipsets (depend)
===> ata/atapci/chipsets/ataacard (depend)
===> ata/atapci/chipsets/ataacerlabs (depend)
===> ata/atapci/chipsets/ataadaptec (depend)
===> ata/atapci/chipsets/ataahci (depend)
===> ata/atapci/chipsets/ataamd (depend)
===> ata/atapci/chipsets/ataati (depend)
===> ata/atapci/chipsets/atacenatek (depend)
===> ata/atapci/chipsets/atacypress (depend)
===> ata/atapci/chipsets/atacyrix (depend)
===> ata/atapci/chipsets/atahighpoint (depend)
===> ata/atapci/chipsets/ataintel (depend)
===> ata/atapci/chipsets/ataite (depend)
===> ata/atapci/chipsets/atajmicron (depend)
===> ata/atapci/chipsets/atamarvell (depend)
===> ata/atapci/chipsets/atamicron (depend)
===> ata/atapci/chipsets/atanational (depend)
===> ata/atapci/chipsets/atanetcell (depend)
===> ata/atapci/chipsets/atanvidia (depend)
===> ata/atapci/chipsets/atapromise (depend)
===> ata/atapci/chipsets/ataserverworks (depend)
===> ata/atapci/chipsets/atasiliconimage (depend)
===> ata/atapci/chipsets/atasis (depend)
===> ata/atapci/chipsets/atavia (depend)
===> ata/atadisk (depend)
===> ata/atapicd (depend)
===> ata/atapifd (depend)
===> ata/atapist (depend)
===> ata/ataraid (depend)
===> ata/atapicam (depend)
===> ath (depend)
===> ath_pci (depend)
===> bce (depend)
===> bfe (depend)
===> bge (depend)
===> bxe (depend)
===> bridgestp (depend)
===> bwi (depend)
===> bwn (depend)
===> cam (depend)
===> cardbus (depend)
===> cas (depend)
===> cbb (depend)
===> cc (depend)
===> cc/cc_chd (depend)
===> cc/cc_cubic (depend)
===> cc/cc_hd (depend)
===> cc/cc_htcp (depend)
===> cc/cc_vegas (depend)
===> cd9660 (depend)
===> cd9660_iconv (depend)
===> ciss (depend)
===> cmx (depend)
===> coda (depend)
===> coda5 (depend)
===> coretemp (depend)
===> cpuctl (depend)
===> cpufreq (depend)
===> crypto (depend)
===> cryptodev (depend)
===> cxgb (depend)
===> cxgb/cxgb (depend)
===> cxgb/cxgb_t3fw (depend)
===> cxgbe (depend)
===> cxgbe/if_cxgbe (depend)
===> cxgbe/firmware (depend)
===> cyclic (depend)
===> dc (depend)
===> dcons (depend)
===> dcons_crom (depend)
===> de (depend)
===> dpms (depend)
===> drm (depend)
===> drm/drm (depend)
===> drm/i915 (depend)
===> drm/mach64 (depend)
===> drm/mga (depend)
===> drm/r128 (depend)
===> drm/radeon (depend)
===> drm/savage (depend)
===> drm/sis (depend)
===> drm/tdfx (depend)
===> drm/via (depend)
===> drm2 (depend)
===> drm2/drm2 (depend)
===> drm2/i915kms (depend)
===> dtrace (depend)
===> dtrace/dtmalloc (depend)
===> dtrace/dtnfscl (depend)
===> dtrace/dtnfsclient (depend)
===> dtrace/dtrace (depend)
<command-line>: error: "__FreeBSD_cc_version" redefined
<built-in>: error: this is the location of the previous definition
*** Error code 1
1 error
*** Error code 2
1 error
*** Error code 2
1 error
*** Error code 2
2 errors
*** Error code 2
1 error
*** Error code 2
1 error
```


----------



## jozze (May 21, 2013)

So, you're trying to update to 9-STABLE from 8-STABLE? If so, which revision are you using? Make sure your sources are up to date.

There is a really slim chance this will work: create a USB stick with LiveCD of FreeBSD 9.1, and boot from it. After that select [cmd=""]LiveCD[/cmd] option instead of installer or `shell`. Once you're in the LiveCD, run `# fsck -t ufs -fy /dev/adaXpY` on all of your hard drives (change ufs to zfs or whatever you're using and X and Y accordingly), mount those partitions' hierarchy under /mnt, in my example, I have /dev/ada1p2 as /, /dev/ada1p4 as /usr, but you have to change the names to match your own.


```
# mount -t ufs /dev/ada1p2 /mnt
# mount -t ufs /dev/ada1p4 /mnt/usr
```

then mount the devfs as you would for a FreeBSD jail


```
# mount -t devfs devfs /mnt/dev
```

Now chroot to /mnt with `# chroot -u root /mnt`. Change dir to the sources, with `# cd /usr/src` and try again to build and install the new world + kernel in this kind of set-up. Hopefully this will trick the mounted world that you're updating from 9.1 to 9-STABLE because you would be running that kernel, but I wouldn't get my hopes up.

To exit the chroot you can use ^D.

However, when you update your base system with a different major number from source, some of your ports may not work anymore, and you'd have to recompile them, and other ports that depend on them.


----------



## SirDice (May 22, 2013)

Have a look at /usr/src/UPDATING:

```
20130430:
        The mergemaster command now uses the default MAKEOBJDIRPREFIX
        rather than creating it's own in the temporary directory in
        order allow access to bootstrapped versions of tools such as
        install and mtree.  [b]When upgrading from version of FreeBSD where
        the install command does not support -l, you will need to
        install a new mergemaster command if mergemaster -p is required.
        This can be accomplished with the command (cd src/usr.sbin/mergemaster
        && make install).[/b]

        Due to the use of the new -l option to install(1) during build
        and install, you must take care not to directly set the INSTALL
        make variable in your /etc/make.conf, /etc/src.conf, or on the
        command line.  If you with to use the -C flag for all installs
        you may be able to add INSTALL+=-C to /etc/make.conf or
        /etc/src.conf.
```


----------

