| Summary: | net-misc/stunnel-5.44 cross compile fails due to including build machine include dirs: /usr/include/stdlib.h:133:8: error: ‘_Float128’ is not supported on this target | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Joe Harvell <landshark> |
| Component: | Current packages | Assignee: | Anthony Basile <blueness> |
| Status: | RESOLVED OBSOLETE | ||
| Severity: | normal | Keywords: | PATCH |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | ARM | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
output of sudo armv7a-pip-linux-gnueabi-emerge --info
contents of /usr/armv7a-pip-linux-gnueabi/etc/portage/make.conf ebuild patch patch to upstream autoconf related files build.log config.log configure |
||
Created attachment 528962 [details]
output of sudo armv7a-pip-linux-gnueabi-emerge --info
Created attachment 528964 [details]
contents of /usr/armv7a-pip-linux-gnueabi/etc/portage/make.conf
Created attachment 528966 [details, diff]
ebuild patch
Created attachment 528968 [details, diff]
patch to upstream autoconf related files
Created attachment 528970 [details]
build.log
Created attachment 528972 [details]
config.log
Created attachment 528974 [details]
configure
I forgot to mention that I am able to successfully build this with the two patches. I sent an email to the stunnel-users mailing list with subject "stunnel-5.44 fails cross compile due to wrong include path in Gentoo....fix available". I reference this bug report in that email. The release announcement for stunnel 5.45 claims this issue is fixed. |
When cross compiling stunnel, two incorrect include directories get appended to the compiler options: -I/usr/kerberos/include -I/usr/include This causes compile failure stdlib.h says there is support for _Float128 but the target doesn not really support it. The -I/usr/include problem is actually in the ebuild. The ebuild uses configure option --with-ssl=${EPREFIX}/usr instead of the ${EROOT}/usr. The former supports EPREFIX while the latter supports both EPREFIX and SYSROOT. I have provided a patch to the ebuild for this issue. The -I/usr/kerberos/include problem is because this is just hardcoded into the upstream autoconf files. This is easily fixed since upstream supports configure option --with-sysroot, which the ebuild uses when cross-compiling. I patched configure.ac to define a make variable SYSROOT with the value of --with-sysroot. And in the corresponding Makefile.am, I prefix the hardcoded include path with this variable. For this fix, the ebuild also requires autoreconf in src_prepare(), which is in my ebuild patch. I joined the email discussion list for stunnel, as that seems to be the only way to report a bug. I plan to report it on the mailing list and reference this bug report.