PDA

View Full Version : Problems with libEQ.a



IcewraithUK
12-31-2001, 07:52 AM
Hiya,

I've seen a few posts of people with a similar problem to me, but not with the resolution :) Basically, in the ./configure stage of showeq I get an error saying that it can't find libEQ.a in the path. Now, I have the latest version, the md5sum matches, and it's in /lib, /usr/lib and /usr/local/lib... Please help?

Environment is:
RedHat 7.2
GCC3 and QT upgraded as per other posts. QT shows ver 2.3.2.

Thanks
Craig

Yendor
12-31-2001, 01:20 PM
Can you post the exact error message.

libEQ.a only needs to be in ONE of those directories (though duplicates shouldn't matter, just leaves you prone to having one be the wrong version or something).

One possibility I could think of is bad permissions on the file, but it depends on the exact error you are getting.

Also take a look at the end of the config.log file, that may provide some hints as to what went wrong. (you can also post the last few lines of that as well to help nail it down).

nick
12-31-2001, 04:55 PM
i had this same exact problem on slackware 7.1. unfortunately, downloading, compiling and installing gcc3 took care of my problem.

one thing you might want to do, is check to make sure you're actually using gcc3 when you compile. c++ -v is the easiest way. (i think the showeq distro uses 'c++' as the default compiler, otherwise try gcc)

Zaphod
12-31-2001, 05:52 PM
Please include the last 20 or so lines of the config.log file that is generated when you run configure.

Also, you really only want it in one spot, multiple spots makes it a nightmare when libEQ.a gets updated, like it did today (bug fix).

Enjoy,
Zaphod (dohpaZ)

IcewraithUK
01-01-2002, 01:21 PM
Okay, I fixed that error I was getting by putting in the following two environment variables (thanks for pointing me to the config.log - that's where I got the clue *grin*):

export CC=gcc3
export CXX=g++3

However, I now get a mass of qt errors (by the looks of things) - I can't scroll back to the start of the errors, but it ends with the following:

/usr/local/qt/include/qstring.h:651: undefined reference to `QString::shared_null'
Collect 2: ld returned 1 exit status
make[2]: *** [showeq.C] Error 1
make[2]: Leaving directory `/usr/local/src/shoeq/linux/src'

Any ideas?

Thanks again
Craig

IcewraithUK
01-01-2002, 01:35 PM
Another update on this error:

I ran ./configure --with-qt-validation and got the following in the config.log:


configure:6347: checking for libpng
configure:6415: checking for Qt
configure:6695: g++3 -o conftest.C -g -O2 -I/usr/local/qt/include -I/usr/X11R6/include -L/usr/local/qt/lib -L/usr/X11R6/lib conftest.C -lqt -lpng -lz -lm -lXext -lX11 1>&5
/tmp/cci9geyO.o: In function `main':
/usr/local/qt/include/qstring.h:643: undefined reference to `QString::shared_null'
/tmp/cci9geyO.o: In function `main':
/usr/local/src/showeq/linux/conftest.C:15: undefined reference to `QString::makeSharedNull()'
collect2: ld returned 1 exit status
configure: failed program was:

Any ideas? I also tried setting --with-qt-dir=/usr/local/qt and that made no difference... it seems I am missing this QString.h file?

roboyeti
01-01-2002, 07:28 PM
I also have the configure process fail at the libEQ.a stage. The config.log reveals:

configure:4060: checking for ProcessPacket in -lEQ
configure:4082: c++ -o conftest -g -O2 conftest.C -lEQ -lgdbm -lz -lpcap -lpthread 1>&5
/usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libEQ.a(libEQ.o)(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 4068 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char ProcessPacket();

int main() {
ProcessPacket()
; return 0; }


Normally, I am pretty good at fixing configure errors, but this one is to vague for me...any ideas?

I am using gcc/g++ 2.96 btw. Any help would be appreciated.

Thanks for the good work Show EQ team and I am glad that soemthing new is out...I was one of the unlucky who didn't get a working libEQ last round.

Override
01-01-2002, 07:38 PM
read this
http://seq.sourceforge.net/showthread.php?s=&threadid=152

Get the patch for qt in zaphod's how too, make clean on qt, and apply the patch and recompile it in gcc3, then recompile showeq.

Yendor
01-01-2002, 08:36 PM
roboyeti: you are not using gcc v3.x (how you got past the ./configure phase I don't understand)

IcewraithUK: I don't think you are using a qt compiled with gcc v3.x (and it's not using the threaded libqt-mt in anycase, both are problems).

==============================================

Two very important facts to remember:

1) You MUST use gcc v3.x
2) You MUST use a version of qt compiled with gcc v3.x
(which means you have to compile qt yourself, or get a package which _explicitly_ states it was built with gcc v3.x such as cassey and zaphod have provided for debian and redhat respectively).

Read the various threads here the details are covered many times.

IcewraithUK
01-02-2002, 02:16 AM
Right, I've mucked around with my system like mad, and have discovered the following:

I had built QT 2.3.2 with GCC3, and set the environment variables (checked with export) - however - the bloody system was still using the /usr/local/lib/qt-2.3.1 libraries! I had to symlink /usr/local/qt to that location and archive the old folder before anything would work!

Showeq now compiles, but doesn't seem to decode anything... sigh - more reading to do I guess :) Must have gotten something wrong somewhere...

roboyeti
01-03-2002, 11:13 PM
Well, I don't spend much time reading this forum, just read the INSTALL file, which appears to be out of date.

Thanks Yendor, will update and try again.

Inccidently, not only does the configure get past my GCC version, it obviously passed the QT test as well, stating that it was useable.

Yendor
01-04-2002, 09:04 AM
roboyeti, IcewraithUK


I wonder if you both have the same problem. Did you check showeq out of CVS using the "linux" or "showeq" module. The linux module is 3.1.2 and has no decryption and doesn't require gcc v3. THe showeq module is 4.0 and has decryption and requires and enforces the use of gcc3.

4.0 detects the version of qt, but does not (yet) verify that it is compiled with gcc3.

Perhaps the 3.1.2 module should be changed to put a huge ("YOU HAVE THE WRONG SEQ MODULE!") when you try to configure it. :)

roboyeti
01-08-2002, 01:26 PM
I checked out linux module, not showeq, I will do that. Been so busy, haven't gone past compiling gcc v3 yet, but will post progress when I get back there...should be this weekend.


Thanks for the suggestions.

caldwelljt
01-09-2002, 01:55 AM
i don't know if this works yet... because i'm compiling this on a TSR80 =P or a P1... either way it's slower than snot...

but all i did was made sure all my dependancies were addressed besides the libEQ.a problem... then i poped open the ./configure script in nano and removed the lines that check for libEQ.a

well, not all of them... just the "else" line and the two lines following it... the script continues and starts to compile for me...

well, we'll see if it works...

-Jon

Yendor
01-09-2002, 12:26 PM
If the configure script failed to find a working libEQ your compile will fail when it performs the final link step.

AlphaCentauri
01-17-2002, 03:19 PM
Good day masters of Linux, I request your assitance. I have followed the guides to get version 4 running, but seem to have run upon this snag. I've downloaded libEQ.a from both smurfette & azrielle websites both with the same results. This is where (according to the guides) I should be downloading from to get 4.0 to work. Perhaps someone could shed some light upon my darkened corner. A simple fix would be nice, although perhaps not exactly helpful to my ego... :(

BTW I am running a fresh install of Mandrake 8.1, I've had previous ShowEQ versions running, but wanted to try out 4.0.

Here is the transcript of my ./configure && make
Your assistance will be much appreciated.

>> Found version.: 2.3.2
>>> Headers......: /usr/lib/qt-2.3.2/include/
>>>> Libraries...: /usr/lib/qt-2.3.2/lib/
>>>>> Workable...: -*{ YES }*-
checking for Qt MOC... yes
checking if Qt compiles without flags... yes
checking for pthread_create in -lpthread... yes
setting Linux pthread compilation options
checking for pcap_open_live in -lpcap... yes
checking for gdImageCreate in -lgd... no
./configure: havegd: command not found
checking for gdImagePng in -lgd... no
checking for inflate in -lz... yes
checking for gdbm_open in -lgdbm... yes
checking how to run the C++ preprocessor... g++ -E
checking for ANSI C header files... yes
checking for deque.h... yes
checking for size_t... yes
checking whether to build with decryption... yes
checking for InitializeLibEQ in -lEQ... no
configure: error: libEQ.a not found or out of date. Be sure libEQ.a is already
installed in /usr/local/lib or /usr/lib

casey
01-17-2002, 03:25 PM
one of two problems here

1) you have an older version of libEQ.a floating around your library search paths. find and delete every copy of libEQ.a, then copy the current version into /usr/lib

2) you are not telling configure to use gcc3 *and* g++3

AlphaCentauri
01-17-2002, 04:27 PM
It shouldn't be problem 1) I've got a fresh install to do version 4 and ONLY downloaded the libEQ.a from smurfette.

That leaves 2) gcc3 and g++3.

From what I can tell...
I need libgcc-3.0.1-3 installed, but it conflicts with package libgcc3.0-3.0.1-1mdk
How do I force or unistall this conflicing rpm.

Next, I should be installing gcc3-3.0.1-3
Next, I should be installing gcc3-c++-3.0.1-3

I then should be on the right track correct?

Then what, re-complie qt-x11.2.3.2?

I guess this is where my problems have been lying. Your assistance is much welcome.

Thank you

fryfrog
01-17-2002, 07:58 PM
use mdk's version of gcc3 and g++3 (which end up being called gcc-3.0.1 and g++-3.0.1) and make sure you have both of the libs that gcc3/g++3 need.

yes, you need to compile qt-2.3.2 with ./configure -thread and make sure it compiles using gcc-3.0.1 and g++-3.0.1. the easiest way to make sure it uses these is to open the /qt-src/configs/linux-gcc-shared file and change ALL instances of "gcc" -> "gcc-3.0.1" (about 2 or 3) and all "g++" -> "g++-3.0.1" (about 2 or 3).

you can use "pico -w <filename>" then ctrl-w (^w) to search.