Thread: [CinePaint] Patch for Fedora DSO compile error
Deep paint and stop-motion animation software
Brought to you by:
robinrowe
From: Peter L. <pet...@gm...> - 2012-02-11 20:36:06
|
On Sat, Feb 11, 2012 at 10:07 AM, Frank Peters <fra...@co...> wrote: > > I am also completely in the dark when it comes to autotools and make. > But in this case the solution is rather straightforward. > > Every directory in the cinepaint source contains a Makefile.in which > is used during the configure process to produce the actual Makefiles. > In the Makefile.in there is a variable called LDADD which is defined > to include several library links. To fix the dso problem, all that need > be done is to append the suitable library link (-lc, -lm, -lstdc++, etc.) > to the LDADD definition. > > If someone using Redhat/Fedora would take the time to determine, by > doing an ordinary configure/make with cinepaint-1.0, what links need > to be included in what Makefile, then a patch for all the Makefile.in > files could be created. > > Maybe just patching all the Makefile.in files with several extra links > would also work. Maybe someone using Redhat/Fedora could also do this. Hi Frank and all Fedora users stuck with the DSO problem: I created a patch that should hopefully solve the problem and make cinepaint_1.0.0 compile. I made the following chages: 1. Fix a compile error that related to a double definition of type ImfHalf. I solved this by commenting out the duplicate definition in lib/float16.h and including the appropriate header ../libhalf/cinepaint_half.h . 2. Disable the icc_examin plugin since I wasn't able to get rid of the DSO error even after modifying Makefile.in. The icc_examin plugin also fails to compile if FTGL development files are not present, even though the configure script is silent about them. 3. Fix all other DSO errors by including the necessary libraries in the LDADD macro in Makefile.in files. I have not changed the Makefile.am files. I suppose this could be done as well since they seem to be used during the autogen.sh step. Here are the steps to compile cinepaint: 1. Download the cinepaint-1.0.tgz tarball and unpack it: tar -xvzf cinepaint-1.0.tgz 2. Navigate to the directory cinepaint, run autogen.sh, then navigate back up. cd cinepaint bash autogen.sh cd .. 3. Download my patch from http://peterlangfelder.com/Software/cinepaint_1.0.0_patchForFedoraDSObreakage.patch and save it in the same directory as the original tarball. 4. Apply the patch: patch -p0 < cinepaint_1.0.0_patchForFedoraDSObreakage.patch 5. Navigate to the directory cinepaint and follow the standard configure, make, make install steps. cd cinepaint ./configure make sudo make install Let me know if this does not work - I tested the whole process and it works for me (Fedora 13). Best, Peter |
From: Tom D. <td...@co...> - 2012-02-13 02:05:18
|
Peter, The patch looks good. I was able to compile on Fedora 15 with no issues. Thanks Tom On 02/11/2012 03:35 PM, Peter Langfelder wrote: > On Sat, Feb 11, 2012 at 10:07 AM, Frank Peters<fra...@co...> wrote: > >> I am also completely in the dark when it comes to autotools and make. >> But in this case the solution is rather straightforward. >> >> Every directory in the cinepaint source contains a Makefile.in which >> is used during the configure process to produce the actual Makefiles. >> In the Makefile.in there is a variable called LDADD which is defined >> to include several library links. To fix the dso problem, all that need >> be done is to append the suitable library link (-lc, -lm, -lstdc++, etc.) >> to the LDADD definition. >> >> If someone using Redhat/Fedora would take the time to determine, by >> doing an ordinary configure/make with cinepaint-1.0, what links need >> to be included in what Makefile, then a patch for all the Makefile.in >> files could be created. >> >> Maybe just patching all the Makefile.in files with several extra links >> would also work. Maybe someone using Redhat/Fedora could also do this. > Hi Frank and all Fedora users stuck with the DSO problem: > > I created a patch that should hopefully solve the problem and make > cinepaint_1.0.0 compile. I made the following chages: > > 1. Fix a compile error that related to a double definition of type > ImfHalf. I solved this by commenting out the duplicate definition in > lib/float16.h and including the appropriate header > ../libhalf/cinepaint_half.h . > > 2. Disable the icc_examin plugin since I wasn't able to get rid of the > DSO error even after modifying Makefile.in. The icc_examin plugin also > fails to compile if FTGL development files are not present, even > though the configure script is silent about them. > > 3. Fix all other DSO errors by including the necessary libraries in > the LDADD macro in Makefile.in files. I have not changed the > Makefile.am files. I suppose this could be done as well since they > seem to be used during the autogen.sh step. > > Here are the steps to compile cinepaint: > > 1. Download the cinepaint-1.0.tgz tarball and unpack it: > > tar -xvzf cinepaint-1.0.tgz > > 2. Navigate to the directory cinepaint, run autogen.sh, then navigate back up. > > cd cinepaint > bash autogen.sh > cd .. > > 3. Download my patch from > http://peterlangfelder.com/Software/cinepaint_1.0.0_patchForFedoraDSObreakage.patch > > and save it in the same directory as the original tarball. > > 4. Apply the patch: > > patch -p0< cinepaint_1.0.0_patchForFedoraDSObreakage.patch > > 5. Navigate to the directory cinepaint and follow the standard > configure, make, make install steps. > > cd cinepaint > ./configure > make > sudo make install > > > > Let me know if this does not work - I tested the whole process and it > works for me (Fedora 13). > > Best, > > 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/ > _______________________________________________ > Cinepaint-users mailing list > Cin...@li... > https://lists.sourceforge.net/lists/listinfo/cinepaint-users > |