PDA

View Full Version : Library and Link listing please



TooShy
06-18-2002, 12:40 AM
Could someone do a "ldd showeq" and post it here? I'm missing a link or a library and it's balking during ./configure. It finds qt-2.3.2 dir and lib. I think I'm missing a link. Please show details, using Mandrake 8.2, gcc 3.0.4 and qt 2.3.2. I've looked for a readem on libEQ.a but couldn't find it on my system, if the listing is there.

Thanks.

high_jeeves
06-18-2002, 08:02 AM
How about if you post us the error, instead?

--Jeeves

TooShy
06-18-2002, 08:37 AM
Something wicked happned, check your libraries. conf.log says "/usr/bin/ld: cannot find -lqt.mt", "collect2: ld returned 1 exit status".

I set up the a symbolic link /usr/bin/lqt.mt and pointed it to /usr/lib/qt-2.3.2/lib/libqt.so.2.3.2, but no help. Not sure if I'm pointing to correct library. QT2 was installed as default with Mandrake 8.2 but was version 2.3.1.

TooShy
06-18-2002, 08:50 AM
I try renaming lqt-mt to qt-mt when I get home tonight and try again. I just caught that.

Zaphod
06-18-2002, 08:58 AM
Where did you get (and/or how did you build) your /usr/lib/qt-2.3.2? It looks like you didn't use the -thread option to configure when you built Qt 2.3.2.

Enjoy,
Zaphod (dohpaZ)

TooShy
06-18-2002, 12:04 PM
Well, I made some stupid mistakes. This is actually the second install attempt for seq. The first time, I compiled qt successfully. Read in a post that I could delete the /usr/lib/qt2 directory: big mistake. That totally hosed KDE which went into a loop restarting. I finally got on a counsle and edited inittab to stop the respawn of the KDE.

Knowing that this system was totally hosed. I tared up the qt-2.3.2 directory because it took my system (233mhz, 92meg ram) 3 hours to compile it, and I used the -thread option.

Ftp'd the tar to my win box.

Reinstalled Mandrake again this time with a bigger hard drive, and did not allow KDE to automatically start on boot. I actually saw gcc 3.0.4 this time in the flat listl, but still haven't seen ksh (my favorite shell). The only rpm I cant find is the BerklyDB's. But everything was on the Mandrake install disks that was required as per Monkey's faq.

Downloaded qt-2.3.2 and untared it. Could never find -devel for it. Then untared the "compiled" from the previous attempt there.

./configure failed on seq.

So, it's late, I'll just recompile qt again, when I wake up, it will be done. Wrong.... It appears that Mandrake power-saving features messed up the compile. I can see the screen going off, but something actually stopped the process!!!! Gad!

That's when I made this post. Sorry for the long-never-ending-store. I feel really stupid cause I develop for a living on a sco-unix box and this should be a no-brainer. I see posts all the time stating: I followed the instructions worked the first time.... ACK!

TooShy
06-20-2002, 12:37 AM
Ok, this project has become an obsession now to get it to work.

I killed qt-2.3.2, downloaded the gz and did a .configure -thread and make successfully.

./configure in /root/shoeq gives me a wicked error, looking for the libraries in qt. Here's the log:

configure:6818: gcc-3.0.4 -o conftest -g -O2 -I/usr/X11R6/include conftest.c -L/usr/X11R6/lib -lpng -lz -lm -lX11 1>&5
configure:6856: checking for Qt
tried /lib
tried /opt/qt-gcc3-2.3.2/lib
tried /usr/lib/qtgcc3-2.3.2/lib
tried /opt/qt-2.3.2/lib
tried /usr/local/qt-2.3.2/lib
tried /usr/lib
tried /usr/local/qt2/lib
tried /usr/local/qt3/lib
tried /usr/local/qt/lib
tried /usr/local/qt*/lib
configure:7165: g++-3.0.4 -o conftest -I/usr/lib/qt2/include -I/usr/X11R6/include -L/usr/lib/qt2/lib -L/usr/X11R6/lib conftest.C -lqt-mt -lpng -lz -lm -lXext -lX11 1>&5
/tmp/cczRh41a.o: In function `main':
/tmp/cczRh41a.o(.text+0x83): undefined reference to `QMutex::QMutex(bool)'
/tmp/cczRh41a.o(.text+0x92): undefined reference to `QMutex::~QMutex()'
/tmp/cczRh41a.o: In function `QString::QString()':
/tmp/cczRh41a.o(.gnu.linkonce.t._ZN7QStringC1Ev+0x7): undefined reference to `QString::shared_null'
/tmp/cczRh41a.o(.gnu.linkonce.t._ZN7QStringC1Ev+0x10): undefined reference to `QString::shared_null'
/tmp/cczRh41a.o(.gnu.linkonce.t._ZN7QStringC1Ev+0x18): undefined reference to `QString::makeSharedNull()'
collect2: ld returned 1 exit status
configure: failed program was:
#define QT_THREAD_SUPPORT 1
#include "confdefs.h"
#include <qglobal.h>
#include <qapplication.h>
#include <qapp.h>
#include <qobjcoll.h>
#include <qstringlist.h>
#include <qstyle.h>
#include <qthread.h>
#if ! (QT_VERSION > 230)
#error 1
#endif


I followed the instructions to the letter from the how-to for mandrake 8.2.

Obviously, QMux and QString is hosed. How do I fix it? Please don't say make-clean QT.

Morannon
06-20-2002, 03:23 AM
What is QTDIR set to, and where did you install the newly built qt ?

high_jeeves
06-20-2002, 07:39 AM
The errors you are getting are generally caused by not building QT with gcc3. Are you following the walkthrough? It has instructions on how to do this.

--Jeeves

TooShy
06-20-2002, 10:06 AM
Mandrake 8.2 installs QT 2.3.1. in /usr/lib/qt2. There is an entry in ld.so.conf for it's libraries. I also added the path for qt-2.3.2's libraries in ld.so.conf. Now there are actually two paths for QT in ld.so.conf. And, I believe that there are some duplicate names across the two libraries.

Edited linux-g++-shared as per the instructions, changing gcc to gcc-3.0.4 and g++ to g++-3.0.4.

I did a .configure -thread and make. The instructions do not say to do a "make install", so that was not done. QT reported that the compile was successful, even though I saw numerous warning during the make.

Mandrake installed gcc 2.96 as well as 3.04. a gcc<tab> shows that they are both active. Of course, CC=gcc-3.0.4, CXX=g++-3.0.4 and QDIR=/usr/lib/qt-2.3.2 paramaters were set and verified with echo $. I guess I should have done a $CC -v and $GCC -v to verify the paramaters.

As a side note: I noticed that Mandrake did not pick up my Triton chip-set pci bus properly. Not sure if that would cause a problem.

high_jeeves
06-20-2002, 10:31 AM
configure:7165: g++-3.0.4 -o conftest -I/usr/lib/qt2/include -I/usr/X11R6/include -L/usr/lib/qt2/lib -L/usr/X11R6/lib conftest.C -lqt-mt -lpng -lz -lm -lXext -lX11 1>&5

Note the first include statement above: -I/usr/lib/qt2/include

and the first lib statement: -L/usr/lib/qt2/lib

It is still trying to include your old qt2.3.1 install.


QDIR=/usr/lib/qt-2.3.2

I assume this is a type-o in your post (QDIR instead of QTDIR)? If not, that is your problem.

--Jeeves

TooShy
06-20-2002, 10:31 AM
Missed a question. qt-2.3.2 was obtained from ftp.trolltech.com/source/qt-x11-2.3.2.tar.gz and installed in /usr/var (created /usr/var/qt-2.3.2). tar xvfz showed no errors.

I'm looking at that log. I see some very unusual entries, especially in the "tried" section.

tried /lib # this looks ok
tried /opt/qt-gcc3-2.3.2/lib # this looks very strange, where'd it come from?
tried /usr/lib/qtgcc3-2.3.2/lib $ obviously missing a / after qt.
tried /opt/qt-2.3.2/lib # hmmm, thought only installs were in opt
tried /usr/local/qt-2.3.2/lib # pretty sure this doesn't exist
tried /usr/lib # this looks ok
tried /usr/local/qt2/lib # pretty sure this doesn't exist
tried /usr/local/qt3/lib # almost postitve this doesn't exist
tried /usr/local/qt/lib # probably should be /usr/lib/qt/lib
tried /usr/local/qt*/lib # ditto

Interesting that it never tried /usr/lib/qt-2.3.2/lib or it wasn't on the top of the list.

Morannon
06-20-2002, 10:40 AM
QDIR=/usr/lib/qt-2.3.2


and



installed in /usr/var (created /usr/var/qt-2.3.2)


I assume you mean QTDIR in the first place, and secondly why would you set QTDIR to point to somewhere you didnt install QT to? (ie QTDIR should be set to /usr/var/qt-2.3.2)

You said earlier you deleted everything - once you get it working, you can delete everything in /usr/var/qt-2.3.2 EXCEPT bin include and lib

TooShy
06-20-2002, 11:25 AM
My mistake, a typeo here, it's /usr/lib/qt-2.3.2.

Ok, I think I set QDIR not QTDIR. I'll take the flames. I set CC, CXX and QTDIR, ran make -f Makefile.dist, then ./configure. It worked. Running make now on showeq.

Mistakes I've made:

Not using at least a 4 gig hd with a 3 gig partition in /.
Not selecting simple partition method first time
Not using 'flat view" of rpms to install the first time.
Not sorting "required" rpms on Monkey's list. (no bouncing)
Using a Equinux SoundBlaster card (locked system-no sound card installed)
Mixing memory types for ram (edo-non edo)
Not using a named-brand video card (unrecongnized)
Buying a linksys "hub" (what happned to linksys, they used to be good)
Not doing a "make clean" if QT did not "make".
Not doing a "init 0" after envolking ldconfig and updating ld.so.conf
Allowing KDE to launch on startup.
Putting in a hostname parameter while using dhcp on a dsl/cable/router
Deleting /usr/lib/qt2
Not spotting gcc 3.0.4 on Mandrake 8.2 install the first time.
Not realizing a 4meg pci video card is fine (using ati 16m, pci)
Picking an Intel Triton chipset mb, pci bus still has wrong driver.
Not doing "init 0" just before makes and configures
Misspelling QTDIR (I think I did QDIR)
Using the build of qt-2.3.2 posted on this forum (build it yourslef)

Things I did right:
?? still thinking ??

Thanks for your help guys, make just completed successfully, I think I'm moving on to getting it connected. Just bought a Netgear ds104 and think it true ethernet hub.

Notes to newbies: follow the instructions on Monkey's post for Mandrake 8.2. It works. And don't drink massive quantities of alchohol while doing it. I would try to turn off powersaving features first is you can figure that out.

I'd run in pure counsle mode. I never really needed the KDE for anything except to run the program. It may save you some ram.

When installing Mandrake, use expert-simple mode for partitions. to resize the root partition "/" you need to delete swap and home first then resize. Then create a swap (about 300meg) and /home for the rest. Most your programs will be installed in "/" so that's the one you want at least 3gig.

Finally, every rpm you need is on the Mandrake 8.2 install disk. I don't think you need the BerkleyDB rpms. Here are some slight changes to the faq-how to:

libdb3.2 : lib3.3
libdb3.2-devel : libdb3.3-devel
libdbctl3.2 : libdbctl3.3
libjpeg : libjpeg62
libjpeg-devel : libjpeg62.devel
libpng : libpng3
libstdc++-3.0.4 : libstdc++-3.0 (it is 3.0.4)
libstdc++-devel-3.0.4 : libstdc++-devel-3.0 (it is 3.0.4)
libtool-libs : not found

Additional Items to install:
proftpd
tcpdump

If I saw a package required and a -devel package associated with it not on the list, I included it as well.

fryfrog
06-20-2002, 03:05 PM
since this is what you orginally asked for, here is an ldd showeq for gentoo linux.



mystique bin # ldd showeq
libqt-mt.so.2 => /usr/qt/2-gcc-3.1/lib/libqt-mt.so.2 (0x40017000)
libpthread.so.0 => /lib/libpthread.so.0 (0x404e5000)
libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x404fa000)
libz.so.1 => /usr/lib/libz.so.1 (0x40501000)
libpcap.so.0 => /usr/lib/libpcap.so.0 (0x4050f000)
libstdc++.so.4 => /usr/lib/libstdc++.so.4 (0x40535000)
libm.so.6 => /lib/libm.so.6 (0x40609000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x4062b000)
libc.so.6 => /lib/libc.so.6 (0x40634000)
libGLU.so.1 => /usr/X11R6/lib/libGLU.so.1 (0x40763000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x407ea000)
libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x40860000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40876000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40885000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x4094e000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40958000)
libXft.so.1 => /usr/X11R6/lib/libXft.so.1 (0x40970000)
libpng.so.3 => /usr/lib/libpng.so.3 (0x4099c000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x409ca000)
libmng.so.1 => /usr/lib/libmng.so.1 (0x409eb000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libstdc++-libc6.2-2.so.3 => /usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/libstdc++-libc6.2-2.so.3 (0x40a2f000)
libdl.so.2 => /lib/libdl.so.2 (0x40a86000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40a89000)
libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x40adb000)
libfreetype.so.6 => /usr/X11R6/lib/libfreetype.so.6 (0x40ae1000)
liblcms.so => /usr/lib/liblcms.so (0x40b25000)