* [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 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-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-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