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