> > And the dev-package MUST be the same version as the .so package.
> Ah ! What are the pratcical consequences ?
> As for now, i've never had to force-update the dev packages when 
> minor-updating  Qt
> (that's not including the switch from Qt4 to Qt5)

On Fedora and probably most other systems, the development package has the 
run-time package as a dependency, so the packages should be compatible as long 
as you work within the package manager and do not force updates or move files 
manually.
$ ldd /usr/local/bin/scribus | grep Qt5Core  <-- ldd shows the shared libraries 
required by an executable.
        libQt5Core.so.5 => /lib64/libQt5Core.so.5 (0x00007fe35059c000)
$ yum provides /lib64/libQt5Core.so  <-- This is the file that the linker finds 
when you use -lQt5Core.  The development packages provide this and the C header 
files.
Loaded plugins: langpacks, refresh-packagekit
qt5-qtbase-devel-5.3.1-5.fc20.x86_64 : Development files for qt5-qtbase
Repo        : @updates
Matched from:
Filename    : /lib64/libQt5Core.so
$ yum deplist qt5-qtbase-devel-5.3.1-5.fc20.x86_64  <--  This shows the 
dependencies of the devel package.
Loaded plugins: langpacks, refresh-packagekit
package: qt5-qtbase-devel.x86_64 5.3.1-5.fc20
  dependency: /bin/bash
   provider: bash.x86_64 4.2.47-3.fc20
...
  dependency: libQt5Core.so.5()(64bit)  <--  This is the shared library used by 
the dynamic linker at run-time.
   provider: qt5-qtbase.x86_64 5.3.1-5.fc20  <--  This is the run-time package 
that provides the run-time library.
...
On Fedora, the development .so files are symbolic links to so.#.#.# files, so 
if I forced the 5.3.1 devel files without the 5.3.1 run-times, libQt5Core.so 
would be a dead sym-link and ld -lQt5Core would fail.  On other systems, it is 
possible that the devel .so could be a real file with symbolic information to 
satisfy ld -lQt5Core but the executables built using it would fail at run-time 
searching for a compatible libQt5Core.so.#.#.#.  I have done this intentionally 
with other packages to cross-compile for other operating systems.
$ ls -l /lib64/libQt5Core.so*
lrwxrwxrwx 1 root root      19 Jul 29 23:49 /lib64/libQt5Core.so -> 
libQt5Core.so.5.3.1  <-- This is part of the devel package.  The other are 
parts of the run-time package.
lrwxrwxrwx 1 root root      19 Jul 29 23:49 /lib64/libQt5Core.so.5 -> 
libQt5Core.so.5.3.1
lrwxrwxrwx 1 root root      19 Jul 29 23:49 /lib64/libQt5Core.so.5.3 -> 
libQt5Core.so.5.3.1
-rwxr-xr-x 1 root root 5101592 Jul 24 13:05 /lib64/libQt5Core.so.5.3.1
William


-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.scribus.net/pipermail/scribus/attachments/20140926/16128042/attachment.html>

Reply via email to