Error building lazarus with Qt interface lazarus / 1-Linux ---------------------------------------------------------------------- belal · 2010-03-17 11:23 Hello, I try to build lazarus with QT interface using the command make clean all lcl LCL_PLATFORM=qt OPT=-dUSE_QT_45 on opensuse 11.2 using fpc 2.4.0 I get error message when linking lazarus: /usr/bin/ld: cannot find -lQt4Pas Any idea or solution to this problem? Thanks! ---------------------------------------------------------------------- JuhaManninen · 2010-03-17 11:42 http://wiki.lazarus.freepascal.org/Qt_Interface You will find there also this: As of lazarus 0.9.29 svn rev. 23858 2.1 bindings are needed, also bindings name is changed from libqt4intf to libQt4Pas ! ---------------------------------------------------------------------- belal · 2010-03-20 20:36 Thanks ---------------------------------------------------------------------- VirtUX · 2010-03-23 10:31 I have an OS PC-BSD 8.0 (FreeBSD) Code: [Select]    Linking ../lazarus     /usr/bin/ld: warning: libc.so.6, needed by /usr/X11R6/lib//libQt4Pas.so, may conflict with libc.so.7     /usr/local/lib/compat/libc.so.6: warning: WARNING!  setkey(3) not present in the system!     /usr/local/lib/compat/libc.so.6: warning: warning: this program uses gets(), which is unsafe.     /usr/local/lib/compat/libc.so.6: warning: warning: mktemp() possibly used unsafely; consider using mkstemp()     /usr/local/lib/compat/libc.so.6: warning: WARNING!  des_setkey(3) not present in the system!     /usr/local/lib/compat/libc.so.6: warning: WARNING!  encrypt(3) not present in the system!     /usr/local/lib/compat/libc.so.6: warning: warning: tmpnam() possibly used unsafely; consider using mkstemp()     /usr/local/lib/compat/libc.so.6: warning: warning: this program uses f_prealloc(), which is not recommended.     /usr/local/lib/compat/libc.so.6: warning: WARNING!  des_cipher(3) not present in the system!     /usr/local/lib/compat/libc.so.6: warning: warning: tempnam() possibly used unsafely; consider using mkstemp()     /usr/X11R6/lib//libQt4Pas.so: undefined reference to `strlen@GLIBC_2.0'     /usr/X11R6/lib//libQt4Pas.so: undefined reference to `memmove@GLIBC_2.0'     lazarus.pp(127,1) Error: Error while linking     lazarus.pp(127,1) Fatal: There were 1 errors compiling module, stopping     Fatal: Compilation aborted     gmake[2]: *** [lazarus] Ошибка 1     gmake[2]: Leaving directory `/home/atom/bin/lazarus/ide'     gmake[1]: *** [bigide] Ошибка 2     gmake[1]: Leaving directory `/home/atom/bin/lazarus/ide'     gmake: *** [idebig] Ошибка 2 I try to compile Lazarus 0.9.29 SVN (fpc 2.4.0, libQt4Pas.so 2.1, widget Qt). I understand - this is due to the difference in versions of libc, and I have is newer so.7? What to do? ---------------------------------------------------------------------- JuhaManninen · 2010-03-23 20:51 Quote from: VirtUX on March 23, 2010, 11:31:06 amI have an OS PC-BSD 8.0 (FreeBSD) I try to compile Lazarus 0.9.29 SVN (fpc 2.4.0, libQt4Pas.so 2.1, widget Qt). I understand - this is due to the difference in versions of libc, and I have is newer so.7? What to do? You could download "Library Source" from http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html and try to compile it. I haven't done that myself but I hope you succeed with it :-) Mailing list qt@lists.lazarus.freepascal.org is a good place to ask for detailed instructions. Juha ---------------------------------------------------------------------- VirtUX · 2010-03-24 12:31 2 JuhaManninen Thank you very much! ---------------------------------------------------------------------- Soaliar · 2010-06-24 17:28 Hi, I'm having the same error here. I have Lazarus 2.29, FPC 2.4.0 I've downloaded the QT4pas V2.1 libraries, and they are in my /usr/lib directory. Also I ran the "ldconfig" and compiled the LCL, but when I try to compile the IDE + Packages I got: Quote/usr/bin/ld: warning: ./link.res contains output sections; did you forget -T? /usr/bin/ld: cannot find -lQt4Pas /usr/lib/lazarus/examples/hello.pp(31,1) Error: Error while linking /usr/lib/lazarus/examples/hello.pp(31,1) Fatal: There were 1 errors compiling module, stopping ---------------------------------------------------------------------- JuhaManninen · 2010-06-24 21:14 > I have Lazarus 2.29, FPC 2.4.0 I guess it is Lazarus 0.9.29. > /usr/bin/ld: cannot find -lQt4Pas There is something wrong with the library installation. Test in command line with : Code: [Select]su ldconfig -p | grep Qt4 You should get something like: Code: [Select]        libQt4Pas.so.5 (libc6) => /usr/local/lib/libQt4Pas.so.5         libQt4Pas.so (libc6) => /usr/local/lib/libQt4Pas.so Juha ---------------------------------------------------------------------- Soaliar · 2010-06-25 04:28 Quote from: JuhaManninen on June 24, 2010, 11:14:47 pmI guess it is Lazarus 0.9.29. Yes, it's 0.9.29. My mistake. Quote from: JuhaManninen on June 24, 2010, 11:14:47 pmThere is something wrong with the library installation. Test in command line with : Code: [Select]su ldconfig -p | grep Qt4 You should get something like: Code: [Select]        libQt4Pas.so.5 (libc6) => /usr/local/lib/libQt4Pas.so.5         libQt4Pas.so (libc6) => /usr/local/lib/libQt4Pas.so Juha I just get "libQt4Pas.so.5 (libc6) => /usr/local/lib/libQt4Pas.so.5", but no "libQt4Pas.so (libc6) => /usr/local/lib/libQt4Pas.so". ---------------------------------------------------------------------- JuhaManninen · 2010-06-26 01:30 Quote from: Soaliar on June 25, 2010, 06:28:13 amI just get "libQt4Pas.so.5 (libc6) => /usr/local/lib/libQt4Pas.so.5", but no "libQt4Pas.so (libc6) => /usr/local/lib/libQt4Pas.so". It doesn't find "libQt4Pas.so". You can make a symlink for it using ln -s ... You could also copy all files and symlinks again from the Qt4Pas library package. And, make sure you don't have other versions of the files in /usr/lib or somewhere. Juha ---------------------------------------------------------------------- Soaliar · 2010-06-26 11:13 Quote from: JuhaManninen on June 26, 2010, 03:30:01 amQuote from: Soaliar on June 25, 2010, 06:28:13 amI just get "libQt4Pas.so.5 (libc6) => /usr/local/lib/libQt4Pas.so.5", but no "libQt4Pas.so (libc6) => /usr/local/lib/libQt4Pas.so". It doesn't find "libQt4Pas.so". You can make a symlink for it using ln -s ... You could also copy all files and symlinks again from the Qt4Pas library package. And, make sure you don't have other versions of the files in /usr/lib or somewhere. Juha Thanks, it worked. It's weird because I already got that symlink, but I removed it and created it again.