Opened 16 years ago
Closed 16 years ago
Last modified 15 years ago
#5177 closed patch (fixed)
qt4 link libdir order incorrect
Reported by: | Mark Spieth | Owned by: | Anduin Withers |
---|---|---|---|
Priority: | minor | Milestone: | unknown |
Component: | mythtv | Version: | unknown |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
when building with qt4 qmake, the makefiles generated have -L/usr/lib before all other -L directives.
this means any libs installed in /usr/lib will be used in preference to the desired ones in the build tree.
patches attached for mythtv and mythplugins
also attached is a sample of how to build mythplugins against a mythtv build tree. it is included before the first INCLUDEPATH in settings.pro of mythplugins.
Attachments (3)
Change History (11)
Changed 16 years ago by
Attachment: | mythtv_qt4libdir.2.patch added |
---|
Changed 16 years ago by
Attachment: | mythplugins_qt4libdir.2.patch added |
---|
Changed 16 years ago by
Attachment: | settings_mrs.pro added |
---|
comment:1 Changed 16 years ago by
Owner: | changed from Isaac Richards to Anduin Withers |
---|---|
Status: | new → assigned |
comment:2 Changed 16 years ago by
comment:3 Changed 16 years ago by
comment:4 Changed 16 years ago by
Anduin , I suspect that if Qt was installed -prefix /usr/local/lib, then the problem would still occur. Maybe the fix should be
QMAKE_LIBDIR_QT -= $${PREFIX}/lib
comment:6 Changed 16 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Yes, looks fine to me, thanks for completing this one.
1) This is only a problem for people who use --prefix=/usr (e.g. KnoppMyth?)
2) After some recent lib changes, programs/* linking had a several problems (lots of globalsettings.o:(.rodata._ZTV12HostComboBox[vtable for HostComboBox?]+0x8c): undefined reference to `SelectSetting::ReplaceLabel?(QString const&, QString const&)'). I could have purged /usr/lib/libmyth*, but remembered this ticker, and experimented a little. The following got me a clean build, and is a much simpler way to exclude /usr/lib:
Mark + others, can you tell me if it works for you?