Rob Kampen wrote: > 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. you're right, I had missed the mirrorlist entry in rpmforge.repo I don't know where that $ARCH is coming from. /etc/rpm/platform should have ia32e-redhat-linux is this what you set it to? If you can't find the solution you could always hardcode x86_64 in /etc/yum.repos.d/mirrors-rpmforge and make mirrorlist point to that.