Attached is a hacky patch to fix up apt to build in rawhide
Created attachment 312763 [details] patch to make build
I tried applying this and doing a scratch koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=752089 It appears to compile on x86_64: http://koji.fedoraproject.org/koji/taskinfo?taskID=752091 but oddly fails on i386: http://koji.fedoraproject.org/koji/getfile?taskID=752092&name=build.log with: bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../include -I../include/apt-pkg -DLIBDIR=\"/usr/lib\" -DPKGDATADIR=\"/usr/share/apt\" -DLOCALEDIR=\"/usr/share/locale\" -DAPT_DOMAIN=\"apt\" -I../lua/include -I../lua/local -I/usr/include/libxml2 -I/usr/include/ -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -c -o rpm/rpmrecords.lo rpm/rpmrecords.cc rpm/rpmpm.cc: In member function 'virtual bool pkgRPMLibPM::Process(std::vector<const char*, std::allocator<const char*> >&, std::vector<const char*, std::allocator<const char*> >&, std::vector<const char*, std::allocator<const char*> >&)': rpm/rpmpm.cc:907: error: invalid conversion from 'void* (*)(const void*, rpmCallbackType, rpmCallbackSize_t, rpmCallbackSize_t, const void*, void*)' to 'void* (*)(const void*, rpmCallbackType, rpm_loff_t, rpm_loff_t, const void*, void*)' rpm/rpmpm.cc:907: error: initializing argument 2 of 'int rpmtsSetNotifyCallback(rpmts_s*, void* (*)(const void*, rpmCallbackType, rpm_loff_t, rpm_loff_t, const void*, void*), void*)' make[1]: *** [rpm/rpmpm.lo] Error 1 make[1]: *** Waiting for unfinished jobs.... g++ -DHAVE_CONFIG_H -I. -I../include -I../include/apt-pkg -DLIBDIR=\"/usr/lib\" -DPKGDATADIR=\"/usr/share/apt\" -DLOCALEDIR=\"/usr/share/locale\" -DAPT_DOMAIN=\"apt\" -I../lua/include -I../lua/local -I/usr/include/libxml2 -I/usr/include/ -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -c rpm/rpmrecords.cc -fPIC -DPIC -o rpm/.libs/rpmrecords.o In file included from rpm/rpmrecords.h:24, from rpm/rpmrecords.cc:22: rpm/rpmhandler.h:66: warning: 'int_32' is deprecated (declared at /usr/include/rpm/rpmlegacy.h:18) make[1]: Leaving directory `/builddir/build/BUILD/apt-0.5.15lorg3.94/apt-pkg' make:
Looks like rpmCallbackSize_t and rpm_loff_t have different sizes on 32 bits.
Created attachment 313187 [details] how about this then
Thanks Caolan, I queued in a rawhide build. I guess the patch will need some #if protection guards for using on previous Fedoras, but most probably Panu has even some work underway on the next upstream apt version.
Thanks for massaging it to build :) I indeed have upstream work underway, it's just been stalled for age and a half due to being busy with rpm itself. Apt is going to need quite a bit of massaging to keep it building + working across all the dozen different rpm versions and variants out of the box... One major issue is the embedded Lua - there's a nasty version clash between what's bundled in apt and what rpm 4.6 is build against, causing apt to blow up if built with Lua enabled currently.
Should this be CLOSEd UPSTREAM?
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle. Changing version to '10'. More information and reason for this action is here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Rawhide now has actually working apt again finally. Need to push it to F10 soonish too...