On Tue, 2010-11-16 at 17:17 -0500, Eric "Sparks" Christensen wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 11/16/2010 04:28 PM, Martin Sourada wrote: > > On Tue, 2010-11-16 at 11:18 -0500, Eric "Sparks" Christensen wrote: > >> On Tue, Nov 16, 2010 at 11:04, Patrick MONNERAT <p...@datasphere.ch> wrote: > >>> On Tue, 2010-11-16 at 17:48 +0200, Andy Shevchenko wrote: > >>>> You need to do patch on top of source tree container > >>>> > >>>> mycoolpkg-5.3/ > >>>> /Makefile > >>>> /source.c > >>>> ... > >>>> mycoolpkg-5.3.new/ > >>>> /Makefile > >>>> /source.c > >>>> ... > >>>> > >>>> run diff -ruN -p mycoolpkg-5.3 mycoolpkg-5.3.new > >>>> > >>> > >>> ... and use %patch0 -p 1 ... > >> > >> Okay, I ran the above diff and created a nice patch: > >> > >> diff -ruN -p gpredict-1.2/Makefile gpredict-1.2.new/Makefile > >> --- gpredict-1.2/Makefile 2010-11-15 20:07:20.676418835 -0500 > >> +++ gpredict-1.2.new/Makefile 2010-11-16 11:04:49.677590541 -0500 > >> @@ -168,7 +168,7 @@ OTOOL64 = > >> PACKAGE = gpredict > >> PACKAGE_BUGREPORT = > >> PACKAGE_CFLAGS = -pthread -I/usr/include/gtk-2.0 > >> -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo > >> -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 > >> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include > >> -I/usr/include/pixman-1 -I/usr/include/freetype2 > >> -I/usr/include/libpng12 -I/usr/include/goocanvas-1.0 > >> -PACKAGE_LIBS = -pthread -lgoocanvas -lgtk-x11-2.0 -lgdk-x11-2.0 > >> -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 > >> -lm -lcairo -lpng12 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 > >> -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lcurl > >> +PACKAGE_LIBS = -lm -pthread -lgoocanvas -lgtk-x11-2.0 -lgdk-x11-2.0 > >> -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 > >> -lm -lcairo -lpng12 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 > >> -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lcurl > >> PACKAGE_NAME = > >> PACKAGE_STRING = > >> PACKAGE_TARNAME = > >> > >> I changed the SPEC to say "%patch0 -p 1". I get the same error (below): > >> > >> [u...@server rpmbuild]$ rpmbuild -ba SPECS/gpredict.spec > >> Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.wAGj7E > >> + umask 022 > >> + cd /home/christensene/rpmbuild/BUILD > >> + LANG=C > >> + export LANG > >> + unset DISPLAY > >> + cd /home/christensene/rpmbuild/BUILD > >> + rm -rf gpredict-1.2 > >> + /usr/bin/gzip -dc /home/user/rpmbuild/SOURCES/gpredict-1.2.tar.gz > >> + /bin/tar -xf - > >> + STATUS=0 > >> + '[' 0 -ne 0 ']' > >> + cd gpredict-1.2 > >> + /bin/chmod -Rf a+rX,u+w,g-w,o-w . > >> + echo 'Patch #0 (gpredict-1.2-DSO.patch):' > >> Patch #0 (gpredict-1.2-DSO.patch): > >> + /bin/cat /home/user/rpmbuild/SOURCES/gpredict-1.2-DSO.patch > >> + /usr/bin/patch -s -p1 --fuzz=0 > >> The text leading up to this was: > >> -------------------------- > >> |diff -ruN -p gpredict-1.2/Makefile gpredict-1.2.new/Makefile > >> |--- gpredict-1.2/Makefile 2010-11-15 20:07:20.676418835 -0500 > >> |+++ gpredict-1.2.new/Makefile 2010-11-16 11:04:49.677590541 -0500 > >> -------------------------- > > That might be because the Makefile actually isn't there -- it's usually > > created from Makefile.in after calling ./configure. IMHO you have > > several options > > * use sed to make the change, after running configure > > * patch Makefile.in instead of Makefile > > * patch Makefile.am and reconfigure (autoreconf --force, > > or ./autogen.sh, depending how autotools are handled in > > gpredict) > > > > And anyway, why are you trying to patch it this way? Unless I missed > > something you're adding -lm to PACKAGE_LIBS which is however already > > present (prior to -lcairo) there. > > > > Martin > > > > I ran into the following error when I was building the SRPM: > > /usr/bin/ld: solar.o: undefined reference to symbol 'sincos@@GLIBC_2.2.5' > /usr/bin/ld: note: 'sincos@@GLIBC_2.2.5' is defined in DSO > /lib64/libm.so.6 so try adding it to the linker command line > /lib64/libm.so.6: could not read symbols: Invalid operation > collect2: ld returned 1 exit status > make[4]: *** [test-002] Error 1 > make[4]: *** Waiting for unfinished jobs.... > /usr/bin/ld: solar.o: undefined reference to symbol 'sincos@@GLIBC_2.2.5' > /usr/bin/ld: note: 'sincos@@GLIBC_2.2.5' is defined in DSO > /lib64/libm.so.6 so try adding it to the linker command line > /lib64/libm.so.6: could not read symbols: Invalid operation > > > I was told that I needed to add the -lm to the PACKAGE_LIBS which is > what I was trying to do. If this is NOT what I need to do or I need to > fix this in a different manner I'm open to suggestions. > Well, the thing is, unless I read the patch incorrectly, that -lm already is in PACKAGE_LIBS, so this error is even more confusing. Does it build with the patched Makefile (i.e. does running make after editing the Makefile works)?
Actually, I've just searched a bit over the net, try doing something along the lines of this patch (to different package) http://launchpadlibrarian.net/48982549/0001-Fix-building-clutk-with-implicit-DSO-change-in-Fedor.patch Perhaps, it would be best if you committed the changes you want to make to git so that people here could look into it in full context. Martin
signature.asc
Description: This is a digitally signed message part
-- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel