Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 183915 - popt-1.10.7 configure fails for arm-softfloat-linux-uclibc
Summary: popt-1.10.7 configure fails for arm-softfloat-linux-uclibc
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: ARM Linux
: High minor (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-07-02 00:55 UTC by Jac Goudsmit
Modified: 2007-12-09 04:16 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jac Goudsmit 2007-07-02 00:55:11 UTC
I'm setting up Gentoo in qemu-arm virtual machine which has Debian-arm running on it. I am NOT cross-compiling: I'm compiling ON arm, FOR arm.

Since Portage now depends on popt, this was one of the first packages that "emerge portage" tried to build. At this point I don't have the latest portage yet, I was in the process of emerging portage when the problem occured.

popt 1.10.7 is marked stable for ARM, but when portage from the ARM stage1 (2005.1) tried to execute the econf in the ebuild, it failed because the config.sub script (part of popt 1.10.7) tried to figure out what machine I'm running on, and failed to interpret "arm-softfloat-linux-uclibc". The script gives an error and exits, and the ebuild dies.

A brief examination of config.sub revealed that:
- config.sub tries to analyze both the --host and --build parameters of the configure script
- it doesn't recognize the "softfloat" string in "arm-softfloat-linux-uclibc" which are added to the ./configure command automatically by econf() in /usr/lib/portage/build.sh in the form of --target and --build parameters
- it doesn't recognize the "uclibc" string in "arm-softfloat-linux-uclibc" (also in both --target and --build parameters)
- configure works fine with the "-softfloat-" string removed, and "-uclibc" replaced by "-gnu", and the package compiles without problems. Presumably, it's now being used by my portage and I haven't had any problems.
 
I'm not sure why the config.sub script needs to interpret my CHOST and CBUILD and why it's not smart enough to do this; I suspect that this may be an upstream problem. 

I don't know if the same problem exists in other versions of popt (or other versions of the ebuild), I only tried 1.10.7. Let me know if you want me to try any other versions.

Workaround (sorry my system is not in a state that I can just use diff -u at this time): add the following lines to src_compile() in popt-1.10.7.ebuild:

# Insert following lines before the econf command:
ORG_CHOST="${CHOST}"
CHOST="${CHOST/-softfloat-/-}"
CHOST="${CHOST/%-uclibc/-gnu}"
ORG_CBUILD="${CBUILD}"
CBUILD="${CBUILD/-softfloat-/-}"
CBUILD="${CBUILD/%-uclibc/-gnu}"

# Insert following commands after the econf command:
CHOST="${ORG_CHOST}"
CBUILD="${ORG_CBUILD}"


Reproducible: Always

Steps to Reproduce:
Steps followed:
1. I set up Debian for ARM in a Qemu virtual machine (Google for debian arm qemu to find Aurelien Jarno's page).
2. Unpacked an old (2005.1) stage1 for ARM on secondary (virtual) hard disk
3. Downloaded and unpacked today's Portage snapshot
4. Mounted proc and dev, copied /etc/resolv.conf, then chrooted to the Gentoo image
5. Ran "emerge --sync"
6. Ran "emerge portage" 

Actual Results:  
"emerge portage" tries to emerge popt 1.10.7 as dependency, but the emerge fails in config.sub with the error message: "machine softfloat-linux-uclibc not recognized".

Expected Results:  
The definition CHOST="arm-softfloat-linux-uclibc" is in the 2005.1 stage1 for arm, this CHOST setting is nothing out of the ordinary, and shouldn't break the build for the popt library.
Comment 1 SpanKY gentoo-dev 2007-08-25 22:32:51 UTC
config.sub/config.guess should be automatically updated by `econf`
Comment 2 Sandro Bonazzola 2007-11-14 18:48:33 UTC
Please try using popt-1.12 available here:
http://rpm5.org/files/popt/

As previous maintainer of popt I'll try to take care of this issue if any other dev can work on this. Watch bug # 199160 for updated ebuild of popt, I'll try to provide one after some compatibility tests.

Let me know if the new version of popt works for this issue.
Comment 3 SpanKY gentoo-dev 2007-12-09 04:16:03 UTC
popt-1.12 in the tree