-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 11/17/2010 03:57 AM, Martin Sourada wrote:
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 <pm(a)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):
>>>
>>> [user@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@(a)GLIBC_2.2.5'
> /usr/bin/ld: note: 'sincos@(a)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@(a)GLIBC_2.2.5'
> /usr/bin/ld: note: 'sincos@(a)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-impli...
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
So just to add another twist to the problem, if I build from source on
my computer, not using rpmbuild, everything works just fine. I put the
SPEC and the source into rpmbuild and FAIL.
I could post everything up to my fpeople account if someone would like
to look at everything that I have.
I appreciate you helping me out with this.
- --Eric
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora -
http://enigmail.mozdev.org/
iQIcBAEBAgAGBQJM48z9AAoJEDbiLlqcYamx2rUP+QFYqasvHY0IAkbPdmTax4n4
l+KVB6vx/B3OCyEuPRGkdpwXM8DBxfc3a3XH+d2nBu+/lfsiKyce3mXGvB2no1DK
ZaSn+KSXgTDGje7Csc9HNo97ZzqmyQ2ZSo80fzf/BwcUl+xzIxWn+4LhDEXnKqiF
8N80Vpu8Rt8Ej0wr4Szd38f7l4jz9/SFOcYXmawrZNAHDXkd3aTKO1Hi89ncNHy2
/laUQWVx13lAdbHW3pYZKKvDh/X5AbL9140Yxa/cxxjP+wvdJMIN8bu5s/0imn5n
NLmvqE5d4h44+xYtkcYlJPWhpPQalY9MLl4w1h+E8CBMcon8W+43RaXXlnXooVqr
IO6RNwSwcRyAVowS4zQ6vC8hl1zu8oD4pyvGgM5Yq+3UXb7F/GI+0hzZeDZp+uxJ
JSDGDiSvbdxGBJ6cUOI1erBbG+moYu4/CERU/rCK2IJ8sFlVvC/ZxmvBYg+i25d/
QBPWLxhbpJmnzU9J5Iq1eU5sdfhzDGYfefiuhCggUjoIxnFP72qjg/J8GL1o1ztz
tPmUx3qHXxjaFhQLaxBNC2Uuab7qjElF75bg1Z938HE1rxvyxgnhRE4giXLwq+Y6
PlzrdO8ocE+AUxBl/ri7oNGNOTc3nOErWRLb9zuZKtSe3S8e/ad+Ql5uf//3HPQp
Ux8dpX6Tw4SmEECK7A+i
=/gMG
-----END PGP SIGNATURE-----