From patchwork Thu Jul 30 19:45:30 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brendan Heading X-Patchwork-Id: 502273 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ozlabs.org (Postfix) with ESMTP id 7C16E1402B8 for ; Fri, 31 Jul 2015 05:45:47 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=gsGsU+jE; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id EE57D92211; Thu, 30 Jul 2015 19:45:46 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1E-NtV+RhBge; Thu, 30 Jul 2015 19:45:45 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 5BA0C9220F; Thu, 30 Jul 2015 19:45:45 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id C19CF1C15E3 for ; Thu, 30 Jul 2015 19:45:43 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id BD4E892211 for ; Thu, 30 Jul 2015 19:45:43 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DQM4iUdM-bts for ; Thu, 30 Jul 2015 19:45:42 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wi0-f171.google.com (mail-wi0-f171.google.com [209.85.212.171]) by whitealder.osuosl.org (Postfix) with ESMTPS id 801ED92207 for ; Thu, 30 Jul 2015 19:45:42 +0000 (UTC) Received: by wicmv11 with SMTP id mv11so33448684wic.0 for ; Thu, 30 Jul 2015 12:45:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=Dcm+WvcyyoeO5nxNqAH+IxTvHZOANm/ChCrPUNvytbI=; b=gsGsU+jEMhWGBPWgI9ytl8dtD22HwKJcCzm+vao4Jk0aOYdRN2ZVU9Xd0UsecLrgNd CZ6cQqTADblLlKtpmOAYMFdKWQruIzjg1SKuKQPqcZ1b1YxKHN+8U0rjRWHUsqWlvJR7 BD9iMuhFwGuJtupMg02iOry1tJksW4HC552pufwBnbCiDLXF2uksaDpAxHhd2MO64Vcz GYUL2lkPRThH+QS/fX/mqsjLN5KLyb/YzbBWrSwDKeRYn7CaoX4lRtzVMzwVVWrZ+GgN qnyJHQ8oBljuCCrJu0vryvw+BH7ulF/5kl9n8xr4DS/Msj8oiEppDuVsxhe4avWHKSo9 4eDw== X-Received: by 10.194.81.137 with SMTP id a9mr33799628wjy.155.1438285540901; Thu, 30 Jul 2015 12:45:40 -0700 (PDT) Received: from bhfedora.localdomain ([82.15.84.251]) by smtp.gmail.com with ESMTPSA id l14sm3397180wjq.21.2015.07.30.12.45.39 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Jul 2015 12:45:40 -0700 (PDT) From: Brendan Heading To: buildroot@buildroot.org Date: Thu, 30 Jul 2015 20:45:30 +0100 Message-Id: <1438285530-320-1-git-send-email-brendanheading@gmail.com> X-Mailer: git-send-email 2.4.3 Cc: Brendan Heading Subject: [Buildroot] [PATCH RFC 1/1] package/libpthsem: cannot be sanely cross-compiled X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Fixes the following : http://autobuild.buildroot.net/results/675df26d7b47e02bad0b22f3e1cb404076a84a91/ http://autobuild.buildroot.net/results/003c4313676cc79c72a9296159ff63dce177f079/ http://autobuild.buildroot.net/results/86bd9fd83278a5468856f4abf700df57749d8e09/ http://autobuild.buildroot.net/results/97205d8fce8d0851208d167fc3fc7ccce40d391a/ http://autobuild.buildroot.net/results/1764c8f7f84fc5bad950fdb41ecadff571ceb36b/ http://autobuild.buildroot.net/results/e733cb648398df7efd7ccae6493af3c92713a9bd/ I'm submitting this as RFC as it seems strange that I've come across this only now, but I don't see how libpthsem ever cross compiled in its current form. During the configure stage, libpthsem attempts to compile and run an executable to detect capabilities such as which direction the stack grows, behaviour of setjmp, etc. Obviously these fail to execute on non-Intel architectures, leading to defaults which cause the build to fail even on architectures where libpthsem is supposed to work. I've tested mipsel, sparcv8 and aarch64 here but I expect it will fail for all the other non-Intel architectures too. There are flags to force some (but not all) of these settings to certain fallbacks. It's not clear, without access to each of these architectures, what the correct default fallback settings should be. This patch therefore disables libpthsem and its dependents on non-Intel architectures. Signed-off-by: Brendan Heading --- package/bcusdk/Config.in | 3 +++ package/gnupg2/Config.in | 3 +++ package/libpthsem/Config.in | 2 ++ package/linknx/Config.in | 3 +++ 4 files changed, 11 insertions(+) diff --git a/package/bcusdk/Config.in b/package/bcusdk/Config.in index 72deef1..a712941 100644 --- a/package/bcusdk/Config.in +++ b/package/bcusdk/Config.in @@ -2,6 +2,8 @@ config BR2_PACKAGE_BCUSDK bool "bcusdk" depends on BR2_USE_MMU # libpthsem depends on BR2_INSTALL_LIBSTDCPP + # libpthsem cannot be sensibly cross compiled + depends on BR2_i386 || BR2_x86_64 select BR2_PACKAGE_LIBPTHSEM select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC help @@ -22,4 +24,5 @@ config BR2_PACKAGE_BCUSDK comment "bcusdk needs a toolchain w/ C++" depends on BR2_USE_MMU + depends on BR2_i386 || BR2_x86_64 depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/gnupg2/Config.in b/package/gnupg2/Config.in index e246fd7..0a9dd30 100644 --- a/package/gnupg2/Config.in +++ b/package/gnupg2/Config.in @@ -1,6 +1,7 @@ comment "gnupg2 needs a toolchain w/ dynamic library" depends on BR2_USE_MMU depends on BR2_STATIC_LIBS + depends on BR2_i386 || BR2_x86_64 config BR2_PACKAGE_GNUPG2 bool "gnupg2" @@ -13,6 +14,8 @@ config BR2_PACKAGE_GNUPG2 select BR2_PACKAGE_LIBPTHSEM_COMPAT select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE depends on BR2_USE_MMU # libassuan + # libpthsem cannot be sensibly cross compiled + depends on BR2_i386 || BR2_x86_64 depends on !BR2_STATIC_LIBS help GnuPG is the GNU project's complete and free implementation diff --git a/package/libpthsem/Config.in b/package/libpthsem/Config.in index 3219de1..6ebc173 100644 --- a/package/libpthsem/Config.in +++ b/package/libpthsem/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_LIBPTHSEM bool "libpthsem" depends on BR2_USE_MMU # fork() + # libpthsem cannot be sensibly cross compiled + depends on BR2_i386 || BR2_x86_64 help GNU pth is a user mode multi threading library. pthsem is an extend version, with support for semaphores added. diff --git a/package/linknx/Config.in b/package/linknx/Config.in index 9982f31..c2ea713 100644 --- a/package/linknx/Config.in +++ b/package/linknx/Config.in @@ -4,6 +4,8 @@ config BR2_PACKAGE_LINKNX select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_MMU # libpthsem + # libpthsem cannot be sensibly cross compiled + depends on BR2_i386 || BR2_x86_64 help Linknx is an automation platform providing high level functionalities to EIB/KNX installation. @@ -12,4 +14,5 @@ config BR2_PACKAGE_LINKNX comment "linknx needs a toolchain w/ C++" depends on BR2_USE_MMU + depends on BR2_i386 || BR2_x86_64 depends on !BR2_INSTALL_LIBSTDCPP