Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 516642 - sys-libs/db-4.8.30 fails to cross-compile: "configure: error: Unable to find a mutex implementation" due to crossdev cache values
Summary: sys-libs/db-4.8.30 fails to cross-compile: "configure: error: Unable to find ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: ARM Linux
: Normal normal (vote)
Assignee: Embedded Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-07-07 20:29 UTC by Scott Alfter
Modified: 2015-07-16 08:32 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
config.log (config.log,156.21 KB, text/plain)
2014-07-07 20:29 UTC, Scott Alfter
Details
armv6j-hardfloat-linux-gnueabi-emerge --info (file_516642.txt,3.75 KB, text/plain)
2014-07-07 20:32 UTC, Scott Alfter
Details
emerge --info (file_516642.txt,4.37 KB, text/plain)
2014-07-07 20:33 UTC, Scott Alfter
Details
config.log (config.log,103.45 KB, text/x-log)
2015-06-13 19:16 UTC, Stefan Langenmaier
Details
emerge --info (emerge--info,4.61 KB, text/plain)
2015-06-13 19:17 UTC, Stefan Langenmaier
Details
emerge-armv7a --info (emerge-armv7a--info,2.30 KB, text/plain)
2015-06-13 19:17 UTC, Stefan Langenmaier
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Scott Alfter 2014-07-07 20:29:28 UTC
Created attachment 380406 [details]
config.log

I have a fresh amd64 installation on a VM with which I'm trying to build for a Raspberry Pi.  crossdev was used to install an armv6j-hardfloat-linux-gnueabi toolchain.  Attempts at using it to build db (a dependency for who knows how many packages) usually fails in the configure stage:

checking for mutexes... (cached) no
configure: error: Unable to find a mutex implementation
Comment 1 Scott Alfter 2014-07-07 20:32:26 UTC
Created attachment 380408 [details]
armv6j-hardfloat-linux-gnueabi-emerge --info
Comment 2 Scott Alfter 2014-07-07 20:33:20 UTC
Created attachment 380410 [details]
emerge --info
Comment 3 Stefan Langenmaier 2015-06-13 19:16:05 UTC
I can confirm this problem. I'm also on amd64 and try to crosscompile for armv7a.
Comment 4 Stefan Langenmaier 2015-06-13 19:16:42 UTC
Created attachment 405098 [details]
config.log
Comment 5 Stefan Langenmaier 2015-06-13 19:17:03 UTC
Created attachment 405100 [details]
emerge --info
Comment 6 Stefan Langenmaier 2015-06-13 19:17:23 UTC
Created attachment 405102 [details]
emerge-armv7a --info
Comment 7 Stefan Langenmaier 2015-06-14 15:51:29 UTC
I found a workaround and a hopefully permanent solution.

First the workaround: https://forums.gentoo.org/viewtopic-t-994722.html
It said to modify: nano /usr/share/crossdev/include/site/linux-gnueabi
And comment out the follwing lines:
db_cv_mutex=${db_cv_mutex=no}
db_cv_posixmutexes=${db_cv_posixmutexes=no}
db_cv_uimutexes=${db_cv_uimutexes=no}
db_cv_mutex=${db_cv_mutex=POSIX/pthreads/library/arm/gcc-assembly}

This worked for me and I could compile sys-lib/db

I found in this directory also a file called arm-linux-gnueabi where these lines don't exist and I wondered if I used a wrong target for my crossdev build (armv7a-hardfloat-linux-gnueabi).

I have found nothing to that, (even if I'd like to have more information,) but I changed the symlink(/usr/armv7a-hardfloat-linux-gnueabi/etc/portage/make.profile) to the profile of the environment created by crossdev

from: /usr/portage/profiles/embedded
to: /usr/portage/profiles/default/linux/arm/13.0/armv7a/

This is working for me at the moment without patching the file from the workaround.
Comment 8 SpanKY gentoo-dev 2015-07-16 08:32:12 UTC
should be fixed in the next release.  thanks for the debugging !

http://gitweb.gentoo.org/proj/crossdev.git/commit/?id=f9129d9b8138eb459d5abec59bb3356188ffd4bc