Re: [CinePaint] Fedora 15 compile error

Peter Langfelder <[email protected]> Fri, 10 Feb 2012 21:34:19 -0800
Newsgroups gmane.comp.video.cinepaint.user
Message-ID <CA+hbrhXV7+ZfESwMjN=S8iC0zqrAcm1C6UdpM14mO8tTYR6RYQ@mail.gmail.com>
On Fri, Feb 10, 2012 at 8:11 PM, Frank Peters <[email protected]> wr=
ote:
> On Thu, 09 Feb 2012 19:47:49 -0500
> Tom Dryden <[email protected]> wrote:
>
>> libtool: link: gcc -g -O2 -Wall -o .libs/blur blur.o -pthread -pthread
>> ../../libhalf/.libs/cinepaint_half.o -pthread
>> ../../lib/.libs/libcinepaint.so
>> /home/tdryden/Development/cinepaint/cvs/cinepaint-project/cinepaint/libh=
alf/.libs/libcinepaintHalf.so
>> -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0
>> -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpng12 -lm -lcairo -lpango-1.0
>> -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt
>> -lglib-2.0 -lIlmImf -lImath -lHalf -lIex -lIlmThread -lc -pthread
>> -Wl,-rpath -Wl,/usr/local/lib
>> /usr/bin/ld: ../../libhalf/.libs/cinepaint_half.o: undefined reference
>> to symbol 'std::ios_base::Init::~Init()@@GLIBCXX_3.4'
>> /usr/bin/ld: note: 'std::ios_base::Init::~Init()@@GLIBCXX_3.4' is
>> defined in DSO /usr/lib64/libstdc++.so.6 so try adding it to the linker
>> command line
>
> In your situation, you need to add -lstdc++ to the linker command.
>
> You may be able to this manually by modifying the blur Makefile
> after configuring cinepaint.
>
> Go to the plug-ins/blur directory and edit the Makefile. =A0At line 299
> the variable LDADD is defined. =A0Tack on -lstdc++ to the end of this
> definition and then run make.
>
> Please let us know if this works.
>
> Frank Peters

I suspect he will run into more missing libraries (such as the math
library, -lm). The issue is explained a bit in this document:

http://fedoraproject.org/wiki/UnderstandingDSOLinkChange

In a nutshell: Fedora (possibly other distributions as well) changed
the way dynamic objects are linked and implicit references are not
allowed anymore. I guess it means that the cinepaint (and/or plugin)
Makefiles (whichever version in the toolchain is appropriate) should
be adjusted to accommodate this change, which I have also ran  into. I
have manually modified all the makefiles to include all necessary
libraries, but it was a pain in the neck.

HTH

Peter

---------------------------------------------------------------------------=
---
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing =

also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/