* Cross-compile problem with alsa-driver version 1.0.22 [not found] <1262453921.27961.1.camel@UT43> @ 2010-01-02 17:38 ` Jie Jiang 2010-01-03 11:09 ` Marek Vasut 0 siblings, 1 reply; 3+ messages in thread From: Jie Jiang @ 2010-01-02 17:38 UTC (permalink / raw) To: alsa-devel Hi all, Recently I downloaded alsa-driver 1.0.22 and tried to build for i.MX27 platform. The "INSTALL" file enclosed in this release requires "--with-cross=arm-linux-" configuration option to cross-compile alsa driver for this ARM platform. Here is my build process #./configure --with-cross=arm-linux- --with-kernel=/home/working/bsp/Kernel/linux-2.6.19.2 --with-build=/home/working/bsp/ Kernel/linux-2.6.19.2 --with-moddir=/home/working/bsp/tmp --with-debug=full --enable-dynamic-minors --with-cards=all checking for gcc... arm-linux-gcc checking for C compiler default output file name... a.out checking whether the C compiler works... configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details. It seems that "--host=arm-linux" should be provided to configure script. However, when given the --host option, in the generated "Makefile.conf", I saw the following outputs, which are very confusing: NEW_KBUILD = mainsrcdir = . MAINSRCDIR = /work/63/alsa/alsa-driver-1.0.22 CROSS_COMPILE ?= arm-linux- ARCH ?= ifdef NEW_KBUILD CC = $(CROSS_COMPILE)arm-linux-gcc CPP = $(CROSS_COMPILE)arm-linux-gcc -E export CROSS_COMPILE ARCH else AS = $(CROSS_COMPILE)as LD = $(CROSS_COMPILE)ld CC = $(CROSS_COMPILE)arm-linux-gcc CPP = $(CROSS_COMPILE)arm-linux-gcc -E AR = $(CROSS_COMPILE)ar MODFLAGS = -DMODULE=1 CFLAGS_KERNEL = GENKSYMS = /sbin/genksyms -k 0.0.0 endif Obviously, the CC and CPP variables are not expected as "arm-linux-gcc". (There is one more $(CROSS_COMPILE)!) I overcome this problem by providing CC and CROSS_COMPILE variables with configure script: CC=gcc CROSS_COMPILE=arm-linux-gcc ./configure --with-cross=arm-linux- --with-kernel=/home/working/bsp/Kernel/linux-2.6.19.2 --with-build=/home/working/bsp/Kernel/linux-2.6.19.2 --with-moddir=/home/working/bsp/tmp --with-debug=full --enable-dynamic-minors --with-cards=all Then things become OK. What's wrong with the "INSTALL" file? Another problem. Even if "--with-cards=all" is given, codes in soc/codecs, soc/imx, and many other subdirs are not built. It seems that the configure script sets some variables according to the kernel version and target platform and outputs into "toplevel.config". Is it possible to manually edit "toplevel.config" file (after configure process) to get soc/codecs, soc/imx codes compiled? Regards, Jie ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Cross-compile problem with alsa-driver version 1.0.22 2010-01-02 17:38 ` Cross-compile problem with alsa-driver version 1.0.22 Jie Jiang @ 2010-01-03 11:09 ` Marek Vasut 0 siblings, 0 replies; 3+ messages in thread From: Marek Vasut @ 2010-01-03 11:09 UTC (permalink / raw) To: alsa-devel, jjinfo Dne So 2. ledna 2010 18:38:41 Jie Jiang napsal(a): > Hi all, > > Recently I downloaded alsa-driver 1.0.22 and tried to build for i.MX27 > platform. > > The "INSTALL" file enclosed in this release requires > "--with-cross=arm-linux-" configuration option to cross-compile alsa > driver for this ARM platform. > > Here is my build process > > #./configure --with-cross=arm-linux- > --with-kernel=/home/working/bsp/Kernel/linux-2.6.19.2 > --with-build=/home/working/bsp/ Kernel/linux-2.6.19.2 > --with-moddir=/home/working/bsp/tmp --with-debug=full > --enable-dynamic-minors --with-cards=all > > checking for gcc... arm-linux-gcc > checking for C compiler default output file name... a.out > checking whether the C compiler works... configure: error: cannot run C > compiled programs. > If you meant to cross compile, use `--host'. > See `config.log' for more details. > > > It seems that "--host=arm-linux" should be provided to configure script. Host is the thing you are compiling it at ... > However, when given the --host option, in the generated "Makefile.conf", > I saw the following outputs, which are very confusing: > > NEW_KBUILD = > > mainsrcdir = . > MAINSRCDIR = /work/63/alsa/alsa-driver-1.0.22 > > CROSS_COMPILE ?= arm-linux- > ARCH ?= > ifdef NEW_KBUILD > CC = $(CROSS_COMPILE)arm-linux-gcc should be ... 'CC = $(CROSS_COMPILE)gcc', see below, others DTTO > CPP = $(CROSS_COMPILE)arm-linux-gcc -E > export CROSS_COMPILE ARCH > else > AS = $(CROSS_COMPILE)as > LD = $(CROSS_COMPILE)ld > CC = $(CROSS_COMPILE)arm-linux-gcc > CPP = $(CROSS_COMPILE)arm-linux-gcc -E > AR = $(CROSS_COMPILE)ar > MODFLAGS = -DMODULE=1 > CFLAGS_KERNEL = > GENKSYMS = /sbin/genksyms -k 0.0.0 > endif > > Obviously, the CC and CPP variables are not expected as "arm-linux-gcc". > (There is one more $(CROSS_COMPILE)!) yeah ... CROSS_COMPILE is set to the cross-toolchain prefix ... so in your case it should be 'CROSS_COMPILE=arm-linux-', that's all, nothing else. It's the same with linux kernel etc. > > > I overcome this problem by providing CC and CROSS_COMPILE variables with > configure script: > CC=gcc CROSS_COMPILE=arm-linux-gcc ./configure --with-cross=arm-linux- > --with-kernel=/home/working/bsp/Kernel/linux-2.6.19.2 > --with-build=/home/working/bsp/Kernel/linux-2.6.19.2 > --with-moddir=/home/working/bsp/tmp --with-debug=full > --enable-dynamic-minors --with-cards=all > > Then things become OK. > > What's wrong with the "INSTALL" file? > Nothing ? > > Another problem. > Even if "--with-cards=all" is given, codes in soc/codecs, soc/imx, and > many other subdirs are not built. It seems that the configure script > sets some variables according to the kernel version and target platform > and outputs into "toplevel.config". Is it possible to manually edit > "toplevel.config" file (after configure process) to get soc/codecs, > soc/imx codes compiled? Yes, it builds what it can according to the setup of your kernel ... eg. you wont be able to use chips connected over the ac97 interface if there's no driver for the ac97 interface in your kernel etc. > > > Regards, > Jie Cheers! > > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <1262488097.5781.1.camel@UT43>]
* Cross-compile problem with alsa-driver version 1.0.22 [not found] <1262488097.5781.1.camel@UT43> @ 2010-01-03 3:08 ` Jie Jiang 0 siblings, 0 replies; 3+ messages in thread From: Jie Jiang @ 2010-01-03 3:08 UTC (permalink / raw) To: alsa-devel Hi all, Recently I downloaded alsa-driver 1.0.22 and tried to build for i.MX27 platform. The "INSTALL" file enclosed in this release requires "--with-cross=arm-linux-" configuration option to cross-compile alsa driver for this ARM platform. Here is my build process #./configure --with-cross=arm-linux- --with-kernel=/home/working/bsp/Kernel/linux-2.6.19.2 --with-build=/home/working/bsp/ Kernel/linux-2.6.19.2 --with-moddir=/home/working/bsp/tmp --with-debug=full --enable-dynamic-minors --with-cards=all checking for gcc... arm-linux-gcc checking for C compiler default output file name... a.out checking whether the C compiler works... configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details. It seems that "--host=arm-linux" should be provided to configure script. However, when given the --host option, in the generated "Makefile.conf", I saw the following outputs, which are very confusing: NEW_KBUILD = mainsrcdir = . MAINSRCDIR = /work/63/alsa/alsa-driver-1.0.22 CROSS_COMPILE ?= arm-linux- ARCH ?= ifdef NEW_KBUILD CC = $(CROSS_COMPILE)arm-linux-gcc CPP = $(CROSS_COMPILE)arm-linux-gcc -E export CROSS_COMPILE ARCH else AS = $(CROSS_COMPILE)as LD = $(CROSS_COMPILE)ld CC = $(CROSS_COMPILE)arm-linux-gcc CPP = $(CROSS_COMPILE)arm-linux-gcc -E AR = $(CROSS_COMPILE)ar MODFLAGS = -DMODULE=1 CFLAGS_KERNEL = GENKSYMS = /sbin/genksyms -k 0.0.0 endif Obviously, the CC and CPP variables are not expected as "arm-linux-gcc". (There is one more $(CROSS_COMPILE)!) I overcome this problem by providing CC and CROSS_COMPILE variables with configure script: CC=gcc CROSS_COMPILE=arm-linux-gcc ./configure --with-cross=arm-linux- --with-kernel=/home/working/bsp/Kernel/linux-2.6.19.2 --with-build=/home/working/bsp/Kernel/linux-2.6.19.2 --with-moddir=/home/working/bsp/tmp --with-debug=full --enable-dynamic-minors --with-cards=all Then things become OK. What's wrong with the "INSTALL" file? Another problem. Even if "--with-cards=all" is given, codes in soc/codecs, soc/imx, and many other subdirs are not built. Is this because my target kernel version is too low (2.6.19.2)? It seems that the configure script sets some variables according to the kernel version and target platform and outputs into "toplevel.config". Is it possible to manually edit "toplevel.config" file (after configure process) to get soc/codecs, soc/imx codes compiled? Regards, Jie ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-01-03 11:10 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1262453921.27961.1.camel@UT43>
2010-01-02 17:38 ` Cross-compile problem with alsa-driver version 1.0.22 Jie Jiang
2010-01-03 11:09 ` Marek Vasut
[not found] <1262488097.5781.1.camel@UT43>
2010-01-03 3:08 ` Jie Jiang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox