OpenSSL ends up in an endless 100% CPU loop when generating keys on x86_64. E.g. when running "openssh" for the first time, or executing "openssl genrsa" It seems that the openssl library buildroot produces includes code for 32-bit systems, and does not work properly on x86_64. In openssl.mk It tests for BR2_ARCH: == OPENSSL_TARGET_ARCH=generic32 [...] ifeq ($(BR2_ARCH),x86_64) OPENSSL_TARGET_ARCH=x86_64 endif == Not sure why, but this does not seem to work, and OpenSSL always builds as "generic32" If I use $(ARCH) instead, it does work properly and solves the key generation problem: == ifeq ($(ARCH),x86_64) OPENSSL_TARGET_ARCH=x86_64 endif ==
You're right. There are two solutions to fix the issue. The first solution is to use $(ARCH), as you suggested. ARCH is defined by project/Makefile.in. The second solution if to change the test to be ifeq ($(BR2_ARCH),"x86_64") note the double quotes around x86_64. Not sure which one is best, though.
It's because BR2_ARCH is a string value, so it contains " chars as well, E.G. the tests have to be written as: ifeq ($(BR2_ARCH),"x86_64") OPENSSL_TARGET_ARCH=x86_64 endif I'll fix it in git - Thanks.
Fixed in git (2a966bc) using ARCH