<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><br><div><br>> > And the dev-package MUST be the same version as the .so package.<br>> Ah ! What are the pratcical consequences ?<br>> As for now, i've never had to force-update the dev packages when minor-updating Qt<br>> (that's not including the switch from Qt4 to Qt5)<br></div><div><br></div><div>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.</div><div><br></div><div><div>$ ldd /usr/local/bin/scribus | grep Qt5Core <-- ldd shows the shared libraries required by an executable.</div><div><br></div><div> libQt5Core.so.5 => /lib64/libQt5Core.so.5 (0x00007fe35059c000)</div><div><br></div><div>$ 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.</div><div><br></div><div>Loaded plugins: langpacks, refresh-packagekit</div><div><br></div><div>qt5-qtbase-devel-5.3.1-5.fc20.x86_64 : Development files for qt5-qtbase</div><div><br></div><div>Repo : @updates</div><div><br></div><div>Matched from:</div><div><br></div><div>Filename : /lib64/libQt5Core.so</div><div><br></div><div><span style="font-size: 12pt;">$ yum deplist qt5-qtbase-devel-5.3.1-5.fc20.x86_64 <-- This shows the dependencies of the devel package.</span></div><div><br></div><div>Loaded plugins: langpacks, refresh-packagekit</div><div><br></div><div>package: qt5-qtbase-devel.x86_64 5.3.1-5.fc20</div><div><br></div><div> dependency: /bin/bash</div><div><br></div><div> provider: bash.x86_64 4.2.47-3.fc20</div><div><br></div><div>...</div><div><br></div><div> dependency: libQt5Core.so.5()(64bit) <-- This is the shared library used by the dynamic linker at run-time.</div><div><br></div><div> provider: qt5-qtbase.x86_64 5.3.1-5.fc20 <-- This is the run-time package that provides the run-time library.</div></div><div><br></div><div>...</div><div><br></div><div>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.</div><div><br></div><div><div>$ ls -l /lib64/libQt5Core.so*</div><div><br></div><div>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.</div><div><br></div><div>lrwxrwxrwx 1 root root 19 Jul 29 23:49 /lib64/libQt5Core.so.5 -> libQt5Core.so.5.3.1</div><div><br></div><div>lrwxrwxrwx 1 root root 19 Jul 29 23:49 /lib64/libQt5Core.so.5.3 -> libQt5Core.so.5.3.1</div><div><br></div><div>-rwxr-xr-x 1 root root 5101592 Jul 24 13:05 /lib64/libQt5Core.so.5.3.1</div></div><div><br></div><div>William</div><div><br></div><div><br></div> </div></body>
</html>