[PyKDE] More 3.7 compile issues

Jonathan Gardner jgardner at jonathangardner.net
Thu Jul 10 08:18:01 BST 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wednesday 09 July 2003 18:46, Steve Simmons wrote:
> On Wed, Jul 09, 2003 at 02:14:33PM -0700, Jonathan Gardner wrote:
> > On Wednesday 09 July 2003 13:32, Steve Simmons wrote:
> > > On Wed, Jul 09, 2003 at 03:49:46PM -0400, Rob Knapp wrote:
> > > I would normally do 'python build.py' and 'make' as an ordinary
> > > user, then 'make install' as root.  Unfortunately sip and PyQt (and
> > > PyKDE?) attempt to compile directly into a /usr/local (or equiv)
> > > directory. . .
> >
> > Isn't this desired behavior? By default, most packages install into
> > /usr/local. If you want it to go into /usr or somewhere else, you'll
> > have to specify it in args to build.py (or the configure program in
> > other packages).
>
> For install yes, but for build no.  You should be able to compile
> completely as a user, and potentially even run tests as a user,
> without being root.  Invoking large complex make processes as root
> is, well, not something a cautious sysadmin would do.
>

Yes, you can do this as a user. You will need to pass the proper arguments 
to build.py and/or set the proper environment variables.

And the install directives do affect the binaries and libraries that come 
out the other end. So you need to say up front in many cases where 
everything is going to go, or where it is right now.

The last thing you want to do is have the configuration script try to 
automatically find the headers, libraries, etc, on its own because you 
didn't specify it. If you have another version of the same software on the 
system, the chances of it finding the wrong one is too great. So you must 
either explicitly state where everything is, or watch the output with an 
eagle eye.

> > A better approach is to always, always, always remove sip and PyQt
> > before installing something new. After all, you are really asking for
> > trouble if you have libsip.so.9 and libsip.so.10 in the same directory.
>
> Before installing, yes.  But consider the joy of removing them and then
> discovering that the new version doesn't build, or has bugs in your
> environment.  Yet another reason why one should be able to build and
> test before doing the actual install.

Again, if you know exactly what you are doing, you can do what you like. If 
you are still new to how sip and PyQt depend on each other, then you are 
better off working with a clean system. Just search through the archives to 
see how many times Phil has said, "You have version X of sip and version Y 
of PyQt." He is not talking to newbies -- some of these people are 
experienced developers and administrators! How many times have I had to 
take a deep breath and remember that I had the exact same problem? I can't 
count that high.

For myself, my rule is "blow away all of sip, PyQt, and PyKDE before trying 
to build any of it. Always build qscintilla, sip, PyQt then PyKDE, and 
always in that order." This has saved me a lot of grief.

And save yourself a lot of work and start using RPM of debian packaged 
managers. That way, when you screw up your system, you can bomb out the new 
stuff and install the known working RPM and you are happy.

- -- 
Jonathan Gardner
jgardner at jonathangardner.net
(was jgardn at alumni.washington.edu)
Live Free, Use Linux!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE/DQS1WgwF3QvpWNwRAo4PAJ45lv1lFbcuHRSrmQtNsVku4x3hHgCg30CS
kFZQePjYPsUjoUfz4sOdAnY=
=Z960
-----END PGP SIGNATURE-----




More information about the PyQt mailing list