On 02/12/2012 01:05 PM, Ljubomir Ljubojevic wrote: > On 02/12/2012 12:52 AM, Rob Kampen wrote: >> On 02/12/2012 12:43 PM, Rob Kampen wrote: >>> On 02/12/2012 10:15 AM, Nicolas Thierry-Mieg wrote: >>>> Rob Kampen wrote: >>>>> I am trying to install some perl libs and find the ones from CentOS >>>>> mirrors are correctly loading the x86_64 versions, but the rpmforge ones >>>>> are only i386 or i686 ones - any reason why?? >>>> did you check the rpmforge.repo configuration? >>> yeah, seems identical to another x86_64 server that is working just fine. >>> The server with the problem is a rebuild and used to be a i386. >>> Thus there is history on the system that is i386 - but the OS, rpm, yum, >>> apache, php etc are all x86_64 and as mentioned, there is no problem >>> pulling files from the CentOS repos - I did need to change >>> /etc/rpm/platform to get these working and wondered if rpmforge has a >>> similar place it goes to, to determine the arch?? >> Okay - it seems the centos mirrorlist repos use $basearch which comes >> from the /etc/rpm/platform file and rpmforge uses $arch which comes from?? > http://unix.stackexchange.com/questions/19701/yum-how-can-i-view-variables-like-releasever-basearch-yum0: > > $arch This will be replaced with your architecture as listed by > os.uname()[4] in Python. > > $basearch This will be replaced with your base architecture in yum. For > example, if your $arch is i686 your $basearch will be i386. > > http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sec-Using_Yum_Variables.html > Checked these out already. On the server that works the following python -c 'import yum, pprint; yb = yum.YumBase(); pprint.pprint(yb.conf.yumvar, width=1)' gives: {'arch': 'ia32e', 'basearch': 'x86_64', 'releasever': '5', 'uuid': 'caeb5748-6334-46bf-bb26-34023a4af23c\n'} while on the one that is not working: {'arch': 'x86_64', 'basearch': 'x86_64', 'releasever': '5'} thus this is probably why my rpmforge repo file which has : mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge and thus gets http://apt.sw.be/redhat/el5/en/$ARCH/rpmforge http://ftp-stud.fht-esslingen.de/dag/redhat/el5/en/$ARCH/rpmforge http://fr2.rpmfind.net/linux/dag/redhat/el5/en/$ARCH/rpmforge back from the url - note $ARCH. Thus my question is what provides the $arch and where is it set? - I can find out what it is returning, but not why. As mentioned, I had to alter /etc/rpm/platform manually to get rpm and yum working correctly post upgrade from i386 to x86_64. There must be some other file. Note uname -a give the same result on both machines.