* [Buildroot] new package not built, AR prefix not passed to make [not found] <1080754998.70934.1396536817436.JavaMail.root@mail> @ 2014-04-03 15:32 ` Émeric Vigier 2014-04-03 15:43 ` Émeric Vigier ` (2 more replies) 0 siblings, 3 replies; 9+ messages in thread From: Émeric Vigier @ 2014-04-03 15:32 UTC (permalink / raw) To: buildroot Hi Builders, I am facing two basic issues after adding a new library to buildroot: 1. "make" does not build it --------------------------- What I did can be summed up in these files: $ grep company package/Config.in source "package/company/Config.in" $ cat package/company/libfpga/Config.in config BR2_PACKAGE_COMPANY_LIBFPGA bool "libfpga" select BR2_TOOLCHAIN_USES_GLIBC help library providing access to FPGA functions $ cat package/company/company.mk include $(sort $(wildcard package/company/*/*.mk)) $ cat package/company/libfpga/libfpga.mk ################################################################################ # # libfpga # ################################################################################ LIBFPGA_VERSION = 1.0 LIBFPGA_SOURCE = libfpga-$(LIBFPGA_VERSION).tar.gz LIBFPGA_SITE = $(TOPDIR)/../libfpga/ LIBFPGA_SITE_METHOD = local LIBFPGA_INSTALL_STAGING = YES # defaults to YES LIBFPGA_INSTALL_TARGET = YES LIBFPGA_DEPENDENCIES = glibc #LIBFPGA_CONFIG_SCRIPTS = define LIBFPGA_BUILD_CMDS $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all endef $(eval $(generic-package)) $ grep COMPANY .config BR2_PACKAGE_COMPANY=y BR2_PACKAGE_COMPANY_LIBFPGA=y $ make (no luck) Does anyone see what I am missing here? 2. AR cross-prefix is not passed by buildroot to make ----------------------------------------------------- I can build my package manually though: $ make libfpga >>> libfpga 1.0 Syncing from source dir /home/evigier/buildroot-2013.11/../libfpga/ rsync -au --exclude .svn --exclude .git --exclude .hg --exclude .bzr --exclude CVS /home/evigier/buildroot-2013.11/../libfpga// /home/evigier/buildroot-2013.11/output/build/libfpga-1.0 >>> libfpga 1.0 Configuring >>> libfpga 1.0 Building /usr/bin/make -j5 CC="/home/evigier/buildroot-2013.11/output/host/usr/bin/powerpc-buildroot-linux-gnu-gcc" LD="/home/evigier/buildroot-2013.11/output/host/usr/bin/powerpc-buildroot-linux-gnu-ld" -C /home/evigier/buildroot-2013.11/output/build/libfpga-1.0 all make[1]: Entering directory `/home/evigier/buildroot-2013.11/output/build/libfpga-1.0' ar rcs libfpga.a fpga.o /home/evigier/buildroot-2013.11/output/host/usr/bin/powerpc-buildroot-linux-gnu-gcc -shared -o libfpga.so fpga.o make[1]: Leaving directory `/home/evigier/buildroot-2013.11/output/build/libfpga-1.0' Why is AR prefix not passed to make here? Is this related to the generic-package? Thanks, Emeric ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] new package not built, AR prefix not passed to make 2014-04-03 15:32 ` [Buildroot] new package not built, AR prefix not passed to make Émeric Vigier @ 2014-04-03 15:43 ` Émeric Vigier 2014-04-03 15:50 ` Gustavo Zacarias 2014-04-03 17:21 ` Lionel Orry 2014-04-04 5:30 ` Arnout Vandecappelle 2 siblings, 1 reply; 9+ messages in thread From: Émeric Vigier @ 2014-04-03 15:43 UTC (permalink / raw) To: buildroot > Why is AR prefix not passed to make here? Is this related to the > generic-package? I believe I found part of my answer on gnu.org libc manual: You may need to set AR to cross-compiling versions of ar if the native tools are not configured to work with object files for the target you configured for. $ ar --help [...] ar: supported targets: elf64-x86-64 elf32-i386 elf32-x86-64 a.out-i386-linux pei-i386 pei-x86-64 elf64-l1om elf64-k1om elf64-little elf64-big elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex So I guess buildroot makes such a sanity check, right? ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] new package not built, AR prefix not passed to make 2014-04-03 15:43 ` Émeric Vigier @ 2014-04-03 15:50 ` Gustavo Zacarias 2014-04-03 15:53 ` Émeric Vigier 0 siblings, 1 reply; 9+ messages in thread From: Gustavo Zacarias @ 2014-04-03 15:50 UTC (permalink / raw) To: buildroot On 04/03/2014 12:43 PM, ?meric Vigier wrote: >> Why is AR prefix not passed to make here? Is this related to the >> generic-package? > > I believe I found part of my answer on gnu.org libc manual: > You may need to set AR to cross-compiling versions of ar if the native tools > are not configured to work with object files for the target you configured for. > > $ ar --help > [...] > ar: supported targets: elf64-x86-64 elf32-i386 elf32-x86-64 a.out-i386-linux pei-i386 pei-x86-64 elf64-l1om elf64-k1om elf64-little elf64-big elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex > > So I guess buildroot makes such a sanity check, right? You just need to use $(TARGET_AR) the same way you're using $(TARGET_CC) and others. Snip: define LIBFPGA_BUILD_CMDS $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" \ AR="$(TARGET_AR)" -C $(@D) all endef Or better still what usually works... $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) Regards. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] new package not built, AR prefix not passed to make 2014-04-03 15:50 ` Gustavo Zacarias @ 2014-04-03 15:53 ` Émeric Vigier 0 siblings, 0 replies; 9+ messages in thread From: Émeric Vigier @ 2014-04-03 15:53 UTC (permalink / raw) To: buildroot ----- Mail original ----- > On 04/03/2014 12:43 PM, ?meric Vigier wrote: > > >> Why is AR prefix not passed to make here? Is this related to the > >> generic-package? > > > > I believe I found part of my answer on gnu.org libc manual: > > You may need to set AR to cross-compiling versions of ar if the > > native tools > > are not configured to work with object files for the target you > > configured for. > > > > $ ar --help > > [...] > > ar: supported targets: elf64-x86-64 elf32-i386 elf32-x86-64 > > a.out-i386-linux pei-i386 pei-x86-64 elf64-l1om elf64-k1om > > elf64-little elf64-big elf32-little elf32-big plugin srec > > symbolsrec verilog tekhex binary ihex > > > > So I guess buildroot makes such a sanity check, right? > > You just need to use $(TARGET_AR) the same way you're using > $(TARGET_CC) > and others. > Snip: > > define LIBFPGA_BUILD_CMDS > $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" \ > AR="$(TARGET_AR)" -C $(@D) all > endef Stupid me, thanks! > > Or better still what usually works... > $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) > > Regards. > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] new package not built, AR prefix not passed to make 2014-04-03 15:32 ` [Buildroot] new package not built, AR prefix not passed to make Émeric Vigier 2014-04-03 15:43 ` Émeric Vigier @ 2014-04-03 17:21 ` Lionel Orry 2014-04-03 18:11 ` Émeric Vigier 2014-04-04 5:30 ` Arnout Vandecappelle 2 siblings, 1 reply; 9+ messages in thread From: Lionel Orry @ 2014-04-03 17:21 UTC (permalink / raw) To: buildroot Hi Emeric, On Thu, Apr 3, 2014 at 5:32 PM, ?meric Vigier <emeric.vigier@savoirfairelinux.com> wrote: > Hi Builders, > > I am facing two basic issues after adding a new library to buildroot: > > 1. "make" does not build it > --------------------------- > What I did can be summed up in these files: > > $ grep company package/Config.in > source "package/company/Config.in" > > $ cat package/company/libfpga/Config.in > config BR2_PACKAGE_COMPANY_LIBFPGA > bool "libfpga" > select BR2_TOOLCHAIN_USES_GLIBC > help > library providing access to FPGA functions > Don't you also need a package/company/Config.in then, with the following content : menu "Company-specific packages" source "package/company/libfpga/Config.in" endmenu ? > $ cat package/company/company.mk > include $(sort $(wildcard package/company/*/*.mk)) > > $ cat package/company/libfpga/libfpga.mk > ################################################################################ > # > # libfpga > # > ################################################################################ > > LIBFPGA_VERSION = 1.0 > LIBFPGA_SOURCE = libfpga-$(LIBFPGA_VERSION).tar.gz > LIBFPGA_SITE = $(TOPDIR)/../libfpga/ > LIBFPGA_SITE_METHOD = local > > LIBFPGA_INSTALL_STAGING = YES > # defaults to YES > LIBFPGA_INSTALL_TARGET = YES > LIBFPGA_DEPENDENCIES = glibc > #LIBFPGA_CONFIG_SCRIPTS = > > define LIBFPGA_BUILD_CMDS > $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all > endef > $(eval $(generic-package)) > > $ grep COMPANY .config > BR2_PACKAGE_COMPANY=y > BR2_PACKAGE_COMPANY_LIBFPGA=y > > $ make > (no luck) > > Does anyone see what I am missing here? > > > 2. AR cross-prefix is not passed by buildroot to make > ----------------------------------------------------- > I can build my package manually though: > > $ make libfpga >>>> libfpga 1.0 Syncing from source dir /home/evigier/buildroot-2013.11/../libfpga/ > rsync -au --exclude .svn --exclude .git --exclude .hg --exclude .bzr --exclude CVS /home/evigier/buildroot-2013.11/../libfpga// /home/evigier/buildroot-2013.11/output/build/libfpga-1.0 >>>> libfpga 1.0 Configuring >>>> libfpga 1.0 Building > /usr/bin/make -j5 CC="/home/evigier/buildroot-2013.11/output/host/usr/bin/powerpc-buildroot-linux-gnu-gcc" LD="/home/evigier/buildroot-2013.11/output/host/usr/bin/powerpc-buildroot-linux-gnu-ld" -C /home/evigier/buildroot-2013.11/output/build/libfpga-1.0 all > make[1]: Entering directory `/home/evigier/buildroot-2013.11/output/build/libfpga-1.0' > ar rcs libfpga.a fpga.o > /home/evigier/buildroot-2013.11/output/host/usr/bin/powerpc-buildroot-linux-gnu-gcc -shared -o libfpga.so fpga.o > make[1]: Leaving directory `/home/evigier/buildroot-2013.11/output/build/libfpga-1.0' > > Why is AR prefix not passed to make here? Is this related to the generic-package? > > Thanks, > Emeric > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] new package not built, AR prefix not passed to make 2014-04-03 17:21 ` Lionel Orry @ 2014-04-03 18:11 ` Émeric Vigier 2014-04-04 5:46 ` Lionel Orry 0 siblings, 1 reply; 9+ messages in thread From: Émeric Vigier @ 2014-04-03 18:11 UTC (permalink / raw) To: buildroot Hi Lionel, ----- Mail original ----- > Hi Emeric, > > On Thu, Apr 3, 2014 at 5:32 PM, ?meric Vigier > <emeric.vigier@savoirfairelinux.com> wrote: > > Hi Builders, > > > > I am facing two basic issues after adding a new library to > > buildroot: > > > > 1. "make" does not build it > > --------------------------- > > What I did can be summed up in these files: > > > > $ grep company package/Config.in > > source "package/company/Config.in" > > > > $ cat package/company/libfpga/Config.in > > config BR2_PACKAGE_COMPANY_LIBFPGA > > bool "libfpga" > > select BR2_TOOLCHAIN_USES_GLIBC > > help > > library providing access to FPGA functions > > > > Don't you also need a package/company/Config.in then, with the > following content : > > menu "Company-specific packages" > source "package/company/libfpga/Config.in" > endmenu > > ? I forgot to dump it in my email, but I wrote it as follows: $ cat package/company/Config.in menuconfig BR2_PACKAGE_COMPANY bool "Company Library and embedded tools" help Company Library and embedded tools if BR2_PACKAGE_COMPANY source "package/company/libfpga/Config.in" endif # BR2_PACKAGE_COMPANY I also tried with your syntax, no luck. My Config.in are sane I believe. I can see all the required options in menuconfig And they end up in .config correctly. Regards, Emeric ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] new package not built, AR prefix not passed to make 2014-04-03 18:11 ` Émeric Vigier @ 2014-04-04 5:46 ` Lionel Orry 0 siblings, 0 replies; 9+ messages in thread From: Lionel Orry @ 2014-04-04 5:46 UTC (permalink / raw) To: buildroot On Thu, Apr 3, 2014 at 8:11 PM, ?meric Vigier <emeric.vigier@savoirfairelinux.com> wrote: > Hi Lionel, > > ----- Mail original ----- >> Hi Emeric, >> >> On Thu, Apr 3, 2014 at 5:32 PM, ?meric Vigier >> <emeric.vigier@savoirfairelinux.com> wrote: >> > Hi Builders, >> > >> > I am facing two basic issues after adding a new library to >> > buildroot: >> > >> > 1. "make" does not build it >> > --------------------------- >> > What I did can be summed up in these files: >> > >> > $ grep company package/Config.in >> > source "package/company/Config.in" >> > >> > $ cat package/company/libfpga/Config.in >> > config BR2_PACKAGE_COMPANY_LIBFPGA >> > bool "libfpga" >> > select BR2_TOOLCHAIN_USES_GLIBC >> > help >> > library providing access to FPGA functions >> > >> >> Don't you also need a package/company/Config.in then, with the >> following content : >> >> menu "Company-specific packages" >> source "package/company/libfpga/Config.in" >> endmenu >> >> ? > > I forgot to dump it in my email, but I wrote it as follows: > > $ cat package/company/Config.in > menuconfig BR2_PACKAGE_COMPANY > bool "Company Library and embedded tools" > help > Company Library and embedded tools > > if BR2_PACKAGE_COMPANY > source "package/company/libfpga/Config.in" > endif # BR2_PACKAGE_COMPANY > > I also tried with your syntax, no luck. > My Config.in are sane I believe. I can see all the required options in menuconfig > And they end up in .config correctly. > > Regards, > Emeric You may also want to check if the libfpga buld folder already exists, and stamps in it, in doubt you can try rm -r output/build/libfpga-1.0 Cheers ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] new package not built, AR prefix not passed to make 2014-04-03 15:32 ` [Buildroot] new package not built, AR prefix not passed to make Émeric Vigier 2014-04-03 15:43 ` Émeric Vigier 2014-04-03 17:21 ` Lionel Orry @ 2014-04-04 5:30 ` Arnout Vandecappelle 2014-04-04 19:36 ` Émeric Vigier 2 siblings, 1 reply; 9+ messages in thread From: Arnout Vandecappelle @ 2014-04-04 5:30 UTC (permalink / raw) To: buildroot On 03/04/14 17:32, ?meric Vigier wrote: [snip] > $ cat package/company/libfpga/Config.in > config BR2_PACKAGE_COMPANY_LIBFPGA Either the symbol should be BR2_PACKAGE_LIBFPGA, or the directory should be package/company/company-libfpga (and the .mk file package/company/company-libfpga/company-libfpga.mk). Regards, Arnout [snip] -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] new package not built, AR prefix not passed to make 2014-04-04 5:30 ` Arnout Vandecappelle @ 2014-04-04 19:36 ` Émeric Vigier 0 siblings, 0 replies; 9+ messages in thread From: Émeric Vigier @ 2014-04-04 19:36 UTC (permalink / raw) To: buildroot ----- Mail original ----- > De: "Arnout Vandecappelle" <arnout@mind.be> > ?: "?meric Vigier" <emeric.vigier@savoirfairelinux.com>, buildroot at busybox.net > Envoy?: Vendredi 4 Avril 2014 01:30:09 > Objet: Re: [Buildroot] new package not built, AR prefix not passed to make > > On 03/04/14 17:32, ?meric Vigier wrote: > [snip] > > $ cat package/company/libfpga/Config.in > > config BR2_PACKAGE_COMPANY_LIBFPGA > > Either the symbol should be BR2_PACKAGE_LIBFPGA, or the directory > should > be package/company/company-libfpga (and the .mk file > package/company/company-libfpga/company-libfpga.mk). This is it, thanks! > > Regards, > Arnout ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2014-04-04 19:36 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1080754998.70934.1396536817436.JavaMail.root@mail>
2014-04-03 15:32 ` [Buildroot] new package not built, AR prefix not passed to make Émeric Vigier
2014-04-03 15:43 ` Émeric Vigier
2014-04-03 15:50 ` Gustavo Zacarias
2014-04-03 15:53 ` Émeric Vigier
2014-04-03 17:21 ` Lionel Orry
2014-04-03 18:11 ` Émeric Vigier
2014-04-04 5:46 ` Lionel Orry
2014-04-04 5:30 ` Arnout Vandecappelle
2014-04-04 19:36 ` Émeric Vigier
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox