title: "Multiple definitions of" error while linking two archives using the same source file
body: <p>I'm getting an error while linking two archives, for which the same source file <code>pci.h</code> has been used during the compilation:</p>
  
  <pre><code>make[2]: Leaving directory '/home/anon/tp-link-gpl/wr841nv9_en_gpl/ap143/boot/u-boot/rtc'
  UNDEF_SYM=`mips-linux-uclibc-objdump -x lib_generic/libgeneric.a common/libcommon.a board/atheros/board953x/libboard953x.a cpu/mips/libmips.a lib_mips/libmips.a drivers/libdrivers.a net/libnet.a rtc/librtc.a  |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
      mips-linux-uclibc-ld -Bstatic -T /home/anon/tp-link-gpl/wr841nv9_en_gpl/ap143/boot/u-boot/board/atheros/board953x/u-boot.lds -Ttext 0x80010000  $UNDEF_SYM cpu/mips/start.o  /home/anon/tp-link-gpl/wr841nv9_en_gpl/ap143/boot/u-boot/board/atheros/board953x/extra.o \
          --start-group lib_generic/libgeneric.a common/libcommon.a board/atheros/board953x/libboard953x.a cpu/mips/libmips.a lib_mips/libmips.a drivers/libdrivers.a net/libnet.a rtc/librtc.a  --end-group -L /home/anon/tp-link-gpl/wr841nv9_en_gpl/build/gcc-4.3.3/build_mips/staging_dir/usr/bin/../lib/gcc/mips-openwrt-linux-musl/5.5.0 -lgcc \
          -Map u-boot.map -o u-boot
  
  board/atheros/board953x/libboard953x.a(ath_pci.o): In function `pci_set_region':
  /home/anon/tp-link-gpl/wr841nv9_en_gpl/ap143/boot/u-boot/include/pci.h:328: multiple definition of `pci_set_region'
  drivers/libdrivers.a(pci.o):/home/anon/tp-link-gpl/wr841nv9_en_gpl/ap143/boot/u-boot/include/pci.h:328: first defined here
  
  board/atheros/board953x/libboard953x.a(ath_pci.o): In function `pci_set_ops':
  /home/anon/tp-link-gpl/wr841nv9_en_gpl/ap143/boot/u-boot/include/pci.h:421: multiple definition of `pci_set_ops'
  drivers/libdrivers.a(pci.o):/home/anon/tp-link-gpl/wr841nv9_en_gpl/ap143/boot/u-boot/include/pci.h:421: first defined here
  
  make[1]: *** [Makefile:217: u-boot] Error 1
  make[1]: Leaving directory '/home/anon/tp-link-gpl/wr841nv9_en_gpl/ap143/boot/u-boot'
  make: *** [Makefile:200: uboot] Error 2
  </code></pre>
  
  <p>Using #ifndef guard for these functions did not help. Please tell, how to resolve this problem?</p>