[Buildroot] Cannot build a worling alsactl or alsamixer using buildroot
Dirk Vermaak
dirk.vermaak at ntlworld.com
Thu Jul 24 12:12:58 UTC 2008
For the information of others, we have fixed this problem, or rather worked
out the correct set of make values to make it work.
There are two values in the alsa-lib.mk file that need to be correct.
If you are an OABI built kernel, make sure you do not have -mabi=aapcs-linux
set in your CFLAGS.
If you are an EABI built kernel, make sure you do have -mabi=aapcs-linux set
in your CFLAGS.
Then in both cases, in the ./configure part make sure you add
--with-versioned=no
We have tried this with 1.0.15 alsa-utils and alsa-lib and all is working,
alsamixer, aplay etc.
Thanks to the others who have posted about these problems. This is just a
summary of their work.
Cheers,
Dirk
Working 1.0.15 alsa-lib.mk file (OABI Kernel)
#############################################################
#
# alsa-lib
#
#############################################################
ALSA_LIB_VERSION = 1.0.15
ALSA_LIB_SOURCE = alsa-lib-$(ALSA_LIB_VERSION).tar.bz2
ALSA_LIB_SITE = ftp://ftp.alsa-project.org/pub/lib
ALSA_LIB_AUTORECONF = NO
ALSA_LIB_INSTALL_STAGING = YES
ALSA_LIB_INSTALL_TARGET = YES
ALSA_LIB_INSTALL_STAGING_OPT = DESTDIR=$(STAGING_DIR)
LDFLAGS=-L$(STAGING_DIR)/usr/lib install
ALSA_LIB_CONF_ENV =
ALSA_LIB_CONF_OPT
= --build=$(GNU_HOST_NAME) --with-versioned=no --enable-shared --enable-static --prefix=/usr --sysconfdir=/etc --disable-docs --disable-python
$(DISABLE_NLS)
ALSA_LIB_DEPENDENCIES = uclibc
ifeq ($(BR2_arm),y)
ALSA_LIB_CONF_ENV += CFLAGS="$(TARGET_CFLAGS)"
endif
ifeq ($(BR2_SOFT_FLOAT),y)
ALSA_LIB_CONF_OPT += --with-softfloat
ALSA_LIB_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -lm"
endif
$(eval $(call AUTOTARGETS,package,alsa-lib))
$(ALSA_LIB_TARGET_INSTALL_TARGET): $(ALSA_LIB_TARGET_INSTALL_STAGING)
$(call MESSAGE,"Installing to target")
mkdir -p $(TARGET_DIR)/usr/share/alsa $(TARGET_DIR)/usr/lib/alsa-lib
cp -dpf $(STAGING_DIR)/usr/lib/libasound.so* $(TARGET_DIR)/usr/lib/
cp -rdpf $(STAGING_DIR)/usr/share/alsa/* $(TARGET_DIR)/usr/share/alsa/
cp -rdpf $(STAGING_DIR)/usr/lib/alsa-lib/* $(TARGET_DIR)/usr/lib/alsa-lib/
find $(TARGET_DIR)/usr/lib/alsa-lib/ -regextype
posix-egrep -regex '.*((\.la)|(\.a))[~]{0,1}' -delete
-$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libasound.so*
-$(STRIPCMD) $(STRIP_STRIP_UNNEEDED)
$(TARGET_DIR)/usr/lib/alsa-lib/smixer/*.so
$(Q)touch $@
$(ALSA_LIB_TARGET_UNINSTALL):
$(call MESSAGE,"Uninstalling")
-rm -f $(TARGET_DIR)/usr/lib/libasound*.so*
-rm -rf $(TARGET_DIR)/usr/lib/alsa-lib/
$(ALSA_LIB_MAKE_ENV) $(MAKE) $(ALSA_LIB_UNINSTALL_STAGING_OPT) -C
$(@D)/$(ALSA_LIB_SUBDIR)
$(Q)-rm $(@D)/$(ALSA_LIB_SUBDIR)/.stamp_target_installed
$(Q)-rm $(@D)/$(ALSA_LIB_SUBDIR)/.stamp_staging_installed
More information about the buildroot
mailing list