I made some progress with building PyKDE3. I had to cheat. I think.
The problem seems to be that building Trinity to install in /opt/trinity confuses the PyKDE3 build process. Last autumn when I built Trinity 3.5.12 to install in /usr I had no problems building PyKDE3.
Since then I have not tried to build any packages to install in /usr. I have been focusing on installing in /opt/trinity in order to coexist with KDE4/QT4.
When Trinity is installed in /opt/trinity the build always fails with this kind of error:
========================================= /usr/bin/ld: cannot find -lDCOP collect2: ld returned 1 exit status make[1]: *** [dcop.so] Error 1 make[1]: Leaving directory `/dev/shm/PyKDE-3.16.7/dcop' make: *** [all] Error 2 =========================================
I then create a sym link in /usr/lib to the allegedly not found library:
ln -s /opt/trinity/lib/libDCOP.so libDCOP.so
The next build proceeds past that error but again fails with a similar not found error message about the next module, kdecore.
I create another sym link. The package proceeds to build to the next module, kdefx, and again fails.
Rinse. Repeat. For each module:
dcop kdecore kdefx kdeui kio kresources kabc kutils kfile kparts khtml kspell kdeprint kmdi
I modified my build script to temporarily create the sym links on-the-fly and remove them after make completes.
The package then builds without failure. Yet I wonder whether this will break the package libraries. Are they linked to /usr/lib rather than /opt/trinity/lib?
Seems something in the PyKDE3 configuration is hard-coded to /usr/lib. I already have the following in my build script:
sed -i -e "s:/usr:${PREFIX}:" configure.py
where $PREFIX is /opt/trinity
/etc/ld.so.conf contains /opt/trinity/lib, which was inserted from the kdelib package (and runs ldconfig, but I have run ldconfig manually too). Running ldconfig -v shows the allegedly not found libraries in /opt/trinity/lib.
The build script configure output says the following:
KDE base directory is /opt/trinity KDE include directory is /opt/trinity/include KDE lib directory is /opt/trinity/lib/kde3 lib directory is /opt/trinity/lib
Everything seems to indicate the libraries should be found. Yet the package refuses to build without the temporary sym links. Seems make should find the libraries in /opt/trinity/lib.
Exporting LD_LIBRARY_PATH in the build script does not help.
Any ideas what is happening? Any ideas how to fix?
Darrell
On Monday 28 March 2011 05:42:58 pm Darrell Anderson wrote:
[putolni]
Everything seems to indicate the libraries should be found. Yet the package refuses to build without the temporary sym links. Seems make should find the libraries in /opt/trinity/lib.
Exporting LD_LIBRARY_PATH in the build script does not help.
Any ideas what is happening? Any ideas how to fix?
Darrell
Why can it be left in /usr ?
Arch linux complies it and installs to /usr and it doesn't seem to affect trinty. I just leave it be and trinty compiles just fine ( except kdebase, kdepim which have known problems)
On Mon, Mar 28, 2011 at 17:54, Baho Utot baho-utot@columbus.rr.com wrote:
On Monday 28 March 2011 05:42:58 pm Darrell Anderson wrote:
[putolni]
Everything seems to indicate the libraries should be found. Yet the package refuses to build without the temporary sym links. Seems make should find the libraries in /opt/trinity/lib.
Exporting LD_LIBRARY_PATH in the build script does not help.
Any ideas what is happening? Any ideas how to fix?
Darrell
Why can it be left in /usr ?
Arch linux complies it and installs to /usr and it doesn't seem to affect trinty. I just leave it be and trinty compiles just fine ( except kdebase, kdepim which have known problems)
I think PyKDE3 doesn't need to be in /opt/trinity. It can stay exactly in /usr, since it isn't trinity-dependent. (note: tqtinterface should not be in /opt/trinity, that's technically not trinity-specific.)
On 03/28/2011 06:21 PM, Robert Xu wrote:
On Mon, Mar 28, 2011 at 17:54, Baho Utotbaho-utot@columbus.rr.com wrote:
On Monday 28 March 2011 05:42:58 pm Darrell Anderson wrote:
[putolni]
Everything seems to indicate the libraries should be found. Yet the package refuses to build without the temporary sym links. Seems make should find the libraries in /opt/trinity/lib.
Exporting LD_LIBRARY_PATH in the build script does not help.
Any ideas what is happening? Any ideas how to fix?
Darrell
Why can it be left in /usr ?
Arch linux complies it and installs to /usr and it doesn't seem to affect trinty. I just leave it be and trinty compiles just fine ( except kdebase, kdepim which have known problems)
I think PyKDE3 doesn't need to be in /opt/trinity. It can stay exactly in /usr, since it isn't trinity-dependent. (note: tqtinterface should not be in /opt/trinity, that's technically not trinity-specific.)
Thank you for the clarification
Okay, I removed the part where I was changing /usr to /opt/trinity in configure.py. I still needed to create the temporary sym links in /usr/lib to build.
I checked the final package and everything now installs in /usr. But the package will not build without the sym links.
Darrell
--- On Mon, 3/28/11, Baho Utot baho-utot@columbus.rr.com wrote:
From: Baho Utot baho-utot@columbus.rr.com Subject: Re: [trinity-devel] Building PyKDE3 (Solved???) To: trinity-devel@lists.pearsoncomputing.net Date: Monday, March 28, 2011, 6:21 PM On 03/28/2011 06:21 PM, Robert Xu wrote:
On Mon, Mar 28, 2011 at 17:54, Baho Utotbaho-utot@columbus.rr.com
wrote:
On Monday 28 March 2011 05:42:58 pm Darrell
Anderson wrote:
[putolni]
Everything seems to indicate the libraries
should be found. Yet the package
refuses to build without the temporary sym
links. Seems make should find
the libraries in /opt/trinity/lib.
Exporting LD_LIBRARY_PATH in the build script
does not help.
Any ideas what is happening? Any ideas how to
fix?
Darrell
Why can it be left in /usr ?
Arch linux complies it and installs to /usr and it
doesn't seem to affect
trinty. I just leave it be and trinty
compiles just fine ( except kdebase,
kdepim which have known problems)
I think PyKDE3 doesn't need to be in /opt/trinity. It
can stay exactly
in /usr, since it isn't trinity-dependent. (note: tqtinterface should not be in /opt/trinity,
that's technically
not trinity-specific.)
Thank you for the clarification
To unsubscribe, e-mail: trinity-devel-unsubscribe@lists.pearsoncomputing.net For additional commands, e-mail: trinity-devel-help@lists.pearsoncomputing.net Read list messsages on the Web archive: http://trinity-devel.pearsoncomputing.net/ Please remember not to top-post: http://trinity.pearsoncomputing.net/mailing_lists/#top-posting