Cross compiling libraries for arm-linux-gnueabihf on x86_64

Development on core packages and the distribution goes on in here.

Cross compiling libraries for arm-linux-gnueabihf on x86_64

Postby valadaa48 » Tue Mar 24, 2020 12:51 pm

I'm trying to cross compile various libs on my amd64 machine and so far I've been pretty successful. alsa-lib however appears to compile but anything linked against it produces the following

$this->bbcode_second_pass_code('', '
/usr/bin/arm-linux-gnueabihf-ld: warning: libm.so.6, needed by /usr/lib/arm-linux-gnueabihf/lib/libasound.so, not found (try using -rpath or -rpath-link)
/usr/bin/arm-linux-gnueabihf-ld: warning: libdl.so.2, needed by /usr/lib/arm-linux-gnueabihf/lib/libasound.so, not found (try using -rpath or -rpath-link)
/usr/bin/arm-linux-gnueabihf-ld: warning: libpthread.so.0, needed by /usr/lib/arm-linux-gnueabihf/lib/libasound.so, not found (try using -rpath or -rpath-link)
/usr/bin/arm-linux-gnueabihf-ld: warning: librt.so.1, needed by /usr/lib/arm-linux-gnueabihf/lib/libasound.so, not found (try using -rpath or -rpath-link)
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `pthread_mutexattr_init@GLIBC_2.4'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `pthread_mutexattr_destroy@GLIBC_2.4'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `exp@GLIBC_2.29'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `log@GLIBC_2.29'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `dladdr@GLIBC_2.4'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `pthread_create@GLIBC_2.4'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `sqrtf@GLIBC_2.4'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `dlsym@GLIBC_2.4'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `log10@GLIBC_2.4'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `sqrt@GLIBC_2.4'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `pthread_mutex_trylock@GLIBC_2.4'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `ceil@GLIBC_2.4'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `pow@GLIBC_2.29'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `pthread_once@GLIBC_2.4'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `pthread_join@GLIBC_2.4'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `pthread_mutexattr_settype@GLIBC_2.4'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `dlerror@GLIBC_2.4'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `dlopen@GLIBC_2.4'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `dlclose@GLIBC_2.4'
/usr/bin/arm-linux-gnueabihf-ld: /usr/lib/arm-linux-gnueabihf/lib/libasound.so: undefined reference to `rintf@GLIBC_2.4'
collect2: error: ld returned 1 exit status
')

I realize we don't have a alsa-lib package in our arm PKGBUILDs repo. The way I compiled it is with it:

$this->bbcode_second_pass_code('', '% cat /etc/makepkg_arm.conf
#!/hint/bash
#
# /etc/makepkg.conf
#

source /etc/makepkg.conf

CARCH="aarch64"
CHOST="arm-linux-gnueabihf"
CPPFLAGS=""
CFLAGS="-O2 -pipe -fno-plt"
CXXFLAGS="$CFLAGS"
#LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now --specs=nosys.specs"
MAKEFLAGS="-j17"')

$this->bbcode_second_pass_code('', '# Maintainer: David Runge <dvzrv@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>

_target=arm-linux-gnueabihf
_sysroot=/usr/lib/${_target}

_pkgname=alsa-lib
pkgname=arm-linux-gnueabihf-alsa-lib
pkgver=1.2.2
pkgrel=1
pkgdesc="An alternative implementation of Linux sound support"
arch=('x86_64')
url="https://www.alsa-project.org"
license=('LGPL2.1')
depends=('glibc' 'alsa-topology-conf' 'alsa-ucm-conf')
#provides=('libasound.so' 'libatopology.so')
source=("https://www.alsa-project.org/files/pub/lib/$_pkgname-$pkgver.tar.bz2")
sha512sums=('d21adb3ff998918c7d1820f9ce2aaf4202dd45ccb87cb092d49da8b2402b6ddaad06325be0fd59f17393a5d9958e3743bfccb4b14bdb947a42e7d791d73c7033')

prepare() {
cd "$_pkgname-$pkgver"
autoreconf -vfi
}

build() {
cd "$_pkgname-$pkgver"
./configure --prefix=${_sysroot} --with-sysroot=${_sysroot} --host=${_target} --sysconfdir=/etc --without-debug
make -j17
}

#check() {
# cd "$_pkgname-$pkgver"
# export LD_LIBRARY_PATH="${PWD}/src/.libs/:${LD_LIBRARY_PATH}"
# make -k check
#}

package() {
cd "$_pkgname-$pkgver"
make DESTDIR="$pkgdir" install
make DESTDIR="$pkgdir" install -C doc
install -vDm 644 {MEMORY-LEAK,TODO,NOTES,ChangeLog,doc/asoundrc.txt} \
-t "${pkgdir}/usr/${_target}/share/doc/${_pkgname}"
}')


Any ideas what I might be doing wrong? Is this a toolchain issue with arm-linux-gnueabihf-gcc?
valadaa48
 
Posts: 1
Joined: Tue Mar 24, 2020 12:43 pm

Return to Arch Linux ARM

Who is online

Users browsing this forum: No registered users and 18 guests