New: libcurl package needs a urandom fix
https://bugs.busybox.net/show_bug.cgi?id=345
Host: i686-linux
Target: arm-softfloat-linux-uclibcgnueabi
Summary: libcurl package needs a urandom fix
Product: buildroot
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P5
Component: Other
AssignedTo: unassigned at buildroot.uclibc.org
ReportedBy: gustavo at zacarias.com.ar
CC: buildroot at uclibc.org
Estimated Hours: 0.0
Created an attachment (id=343)
--> (https://bugs.busybox.net/attachment.cgi?id=343)
Fix libcurl's urandom needs
Doing a huge test-build for 2009.05-rc2 i've found that the libcurl package only specifies the random (/dev/urandom) device to configure when building against openssl.
But it requires this when building in general so the patch specifies the random device always instead of conditionally, otherwise the build breaks with the dreaded "can't determine random device when cross compiling".
Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
[Buildroot] [Bug 345] libcurl package needs a urandom fix
https://bugs.busybox.net/show_bug.cgi?id=345
Peter Korsgaard <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
--- Comment #1 from Peter Korsgaard <[email protected]> 2009-05-22 20:15:31 UTC --- Really? From a quick look at configure.ac I see:
if test X"$OPENSSL_ENABLED" = X"1"; then
dnl Check for user-specified random device AC_ARG_WITH(random,
AC_HELP_STRING([--with-random=FILE],
[read randomness from FILE (default=/dev/urandom)]),
With what config were you seeing this problem?
Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
[Buildroot] [Bug 345] libcurl package needs a urandom fix
In reply to bugzilla at busybox.nethttps://bugs.busybox.net/show_bug.cgi?id=345
--- Comment #2 from Gustavo Zacarias <[email protected]> 2009-05-22 20:20:35 UTC --- Sure, but you're not EAUTORECONFing :)
So configure says:
{ echo "$as_me:$LINENO: checking for \"/dev/urandom\"" >&5echo $ECHO_N "checking for \"/dev/urandom\"... $ECHO_C" >&6; }
if test "${ac_cv_file___dev_urandom_+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
test "$cross_compiling" = yes &&
{ { echo "$as_me:$LINENO: error: cannot check for file existence when cross
compiling" >&5
echo "$as_me: error: cannot check for file existence when cross compiling"
Quoted 1 line
&2;}
{ (exit 1); exit 1; }; }
if test -r ""/dev/urandom""; then
ac_cv_file___dev_urandom_=yes
else
ac_cv_file___dev_urandom_=no
fi
Which wants it when cross-compiling no matter what...
Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
[Buildroot] [Bug 345] libcurl package needs a urandom fix
In reply to bugzilla at busybox.nethttps://bugs.busybox.net/show_bug.cgi?id=345
--- Comment #3 from Peter Korsgaard <[email protected]> 2009-05-23 06:53:47 UTC --- No, we're not autoreconfing, but configure is generated from configure.ac upstream, so the logic you see in configure.ac will be present in configure as well.
I just did a test build and I still cannot reproduce it:
BR2_arm=y
BR2_arm922t=y
BR2_ARM_TYPE="ARM922T"
BR2_ARM_OABI=y
BR2_ARCH="arm"
BR2_ENDIAN="LITTLE"
BR2_GCC_TARGET_TUNE="arm922t"
BR2_GCC_TARGET_ARCH="armv4t"
BR2_GCC_TARGET_ABI="apcs-gnu"
BR2_BINUTILS_VERSION_2_19_1=y
BR2_BINUTILS_VERSION="2.19.1"
BR2_EXTRA_BINUTILS_CONFIG_OPTIONS=""
BR2_GCC_VERSION_4_3_3=y
BR2_GCC_SUPPORTS_SYSROOT=y
BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE=y
BR2_GCC_VERSION="4.3.3"
BR2_TOOLCHAIN_SYSROOT=y
BR2_EXTRA_GCC_CONFIG_OPTIONS=""
BR2_GCC_SHARED_LIBGCC=y
BR2_PTHREADS_OLD=y
BR2_PACKAGE_LIBCURL=y
grep urandom build_arm/libcurl-7.19.2/config.log
Are you sure configure doesn't think you have openssl installed? (On my system I do have libssl-dev installed on the host, but configure doesn't pick it up)
Now, you could argue for adding --without-ssl to configure when we compile without openssl support instead of relying on the autodection to not find anything.
Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
[Buildroot] [Bug 345] libcurl package needs a urandom fix
In reply to bugzilla at busybox.nethttps://bugs.busybox.net/show_bug.cgi?id=345
--- Comment #4 from Gustavo Zacarias <[email protected]> 2009-05-26 17:10:49 UTC --- Created an attachment (id=355)
--> (https://bugs.busybox.net/attachment.cgi?id=355)
My buildroot .config
Actually openssl IS installed, just not in the .config
It seems it's being pulled in by something else in a bad way, probably x11r7-related.
Any (easy) way to trace this?
Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
[Buildroot] [Bug 345] libcurl package needs a urandom fix
In reply to bugzilla at busybox.nethttps://bugs.busybox.net/show_bug.cgi?id=345
--- Comment #5 from Gustavo Zacarias <[email protected]> 2009-05-26 17:52:04 UTC --- If BR2_PACKAGE_XSERVER_tinyx is defined (but not BR2_PACKAGE_XSERVER_XORG_SERVER) it stills pulls in openssl in package/x11r7/xserver_xorg-server/xserver_xorg-server.mk but it doesn't select it in package/x11r7/xserver_xorg-server/Config.in
It should probably be depended upon in the .mk file only if xorg biggie is selected.
Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
[Buildroot] [Bug 345] libcurl package needs a urandom fix
In reply to bugzilla at busybox.nethttps://bugs.busybox.net/show_bug.cgi?id=345
Peter Korsgaard <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED--- Comment #6 from Peter Korsgaard <[email protected]> 2009-05-27 18:23:47 UTC --- Seems like bugzilla threw away my previous comment :/
Anyway, the real problem is way the X packages are structured. It should be possible to compile X applications without having an X server on the target (and just xlib), but that's currently not the case. The problem you ran into is that packages depend on !BR_PACKAGE_XSERVER_none in kconfig, but use $(XSERVER) as the make dependency, and you can enable BR2_PACKAGE_XSERVER_{tinyx,xorg} without enabling an Xserver.
I'll work on cleaning this up post-2009.05 release, but for now I simply fixed libcurl to not look for openssl if it's not enabled in kconfig.
Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.