PDA

View Full Version : Deque.h?



XeroVI
12-21-2001, 10:53 PM
I am running Mandrake 8.1 and have G++3, Gcc3, and QT 2.3.2. My problem is in when configuring for SEQ v4. It comes to a point and gets a error saying:

checking for deque.h... no
configure: error: cannot find deque.h

Any help?

Thanks,
Xero

Zaphod
12-21-2001, 11:09 PM
It sounds like you don't have the libstdc++3-devel package installed.

To make sure it and it's companion package libstdc++-3 is installed run the following command (Mandrake uses RPM right?):

$ rpm -q libstdc++-3 libstdc++3-devel

If it says either of those is not installed, install it.

Enjoy,
Zaphod (dohpaZ)

XeroVI
12-22-2001, 05:58 PM
I checked both of them and they are both 3.0.2 i still get this problem. any other sugestions?

Yendor
12-22-2001, 07:49 PM
Was installed from my rehat 7.2 CD in libstdc++3-devel-3.0.1-3,
file is actually located in: /usr/include/g++-v3/backward/deque.h
I believe. But as distributions may very do a search for the file and see if it exists anywhere, maybe configure is just unable to find it.

Run:

find / -name deque.h -print


(if you have lots of filesystems mounted that you don't want
to search, then "find /usr -name deque.h -print" is probably
sufficient).

If it finds deque.h, then something else is configured wrong, either with gcc or how configure searches for things.

Dagnir
12-23-2001, 11:08 PM
This is a bogus error - you really do have deque.h; a deprecation warning during the test is causing the check to fail so it assumes you don't have it. Edit the configure file and force it to pass this part - when you compile you'll see all the warnings.

AMonk
12-24-2001, 02:07 PM
I am having the same problem. I have checked other posts regarding this and here is the information I have gathered so far:

From config.log:
configure:7643: checking for deque.h
configure:7653: c++ -E conftest.C >/dev/null 2>conftest.out
In file included from /usr/include/g++-v3/backward/deque.h:59,
from configure:7649:
/usr/include/g++-v3/backward/backward_warning.h:32:2: warning: #warning This
file includes at least one deprecated or antiquated header. Please consider
using one of the 32 headers found in section 17.4.1.2 of the C++ standard.
Examples include substituting the
<X> header for the <X.h> header for C++ includes, or <sstream> instead of the
deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
configure: failed program was:
#line 7648 "configure"
#include "confdefs.h"
#include <deque.h>

Output of lcoate deque.h:
/usr/include/g++-2/deque.h
/usr/include/g++-2/stl_deque.h
/usr/include/g++-3/deque.h
/usr/include/g++-3/stl_deque.h
/usr/include/g++-v3/backward/deque.h
/usr/include/g++-v3/bits/std_deque.h
/usr/include/g++-v3/bits/stl_deque.h

Output of g++ -v:
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.1/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --host=i386-redhat-linux --with-system-zlib
Thread model: posix
gcc version 3.1 20011127 (Red Hat Linux Rawhide 3.1-0.10)


I performed these exports (recommended in another post):
export CXX=g++3
export cc=gcc3

When I ran ./configure, I got this:
loading cache ./config.cache
checking host system type... i586-pc-linux-gnu
checking target system type... i586-pc-linux-gnu
checking build system type... i586-pc-linux-gnu
checking for a BSD compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc3
checking whether the C compiler (gcc3 ) works... no
configure: error: installation or configuration problem: C compiler cannot create executables.

At this point, I rebooted and the system repeated the original error about deque.h.

This is a fresh install of RedHat 7.2, I have installed the appropriate RPMs and I installed QT 2.3.2 from the tarball downloaded from Trolltech.

Is there a specific change I should make in the configure script? Should I create a link?

Thanks for the help.

Yendor
12-24-2001, 04:51 PM
Check that you have the appropriate version of cpp as well perhaps. Looks like you are pulling in the v2 includes from libstdc++-devel rather than libstdc++3-devel.

Not sure who determines the version to use, the compiler itself or the preprocessor (cpp) so you might want to make sure cpp matches your version of gcc. Just an idear.

Unless something else you installed requires it you could remove libstdc++devel (and have just libstc++3-devel installed rather than both). Other's suggestions to force it past this error by skipping the check in ./configure are bound to cause trouble even if not immediately obvious.

Good luck.

AMonk
12-24-2001, 09:39 PM
I had to download a new copy of cpp to make the system work without using the --nodeps flag. I have reinstalled Linux a few times because of issues like this. (Especially with QT) The system I am working with has a small hard drive. I can't just install everything and fake it. I have had to pick and choose individual packages at times. Normally, I would just go buy a new HDD but this is a friend's system. My copy is working great.

I am certainly not a Linux guru but I can follow directions well. Is there a way to force the system to use the new versions? A symlink or something? I have already run /sbin/ldconfig with no improvement.

Please let me know if you have any ideas. This was supposed to be a Christmas present to my friend and it looks like I might not get it done in time.

Thanks!

fryfrog
12-24-2001, 09:58 PM
i would check a few things, i'll try and list as much as i can think of without actually being the one looking into this.

here is a list of the RPM's i have installed for gcc, and my showeq works.
[root@mystique root]# rpm -qa | grep gcc
gcc-2.96-98
gcc-c++-2.96-98
libgcc-3.0.1-3
gcc-g77-2.96-98
gcc3-3.0.1-3
gcc3-objc-3.0.1-3
gcc3-java-3.0.1-3
gcc-objc-2.96-98
gcc3-g77-3.0.1-3
gcc3-c++-3.0.1-3

i would also suggest doing "rpm -e qt-devel --nodeps ; rpm -e qt --nodeps ; rm -Rfv /usr/lib/qt-2.3.1" after you have built qt-2.3.2, THEN you can make a symlink for the old -> new. since qt-2.3.2 should be backwards compatible with qt-2.3.1 this should fix any issues you have from removing Qt.

rpm -e qt-devel --nodeps ; rpm -e qt --nodeps ; rm -Rfv /usr/lib/qt-2.3.1
ln -s /usr/lib/qt-2.3.2 /usr/lib/qt-2.3.1

as for "ldconfig" make sure you edit /etc/ld.so.conf and add "/usr/lib/qt-2.3.2/lib" and THEN run "ldconfig"

that is pretty much what i did (leaving out compiling qt-2.3.2 with ./configure -thread of course).

AMonk
12-26-2001, 02:51 PM
Ok... I think I figgured it out. (After downloading and applying more than 30 different RPMs and .tar.gz files, working out the dependancies and then finally reinstalling... twice...)

When I tried to apply the patch to the qt-2.3.2 directory, I copied the patch file inside of that directory. When I ran the patch, it returned to the bash prompt without any comment.

The patch file is written to be placed in the same directory that qt-2.3.2 is in. When I ran it there, it put four lines indicating that the qt files were updated properly.

I am running the make file again now and I am fairly confident that it will work properly.

If it doesn't work, I will post again. Thanks for the help!

RedRover
12-26-2001, 10:59 PM
I am also having the same problem....

I know where it is located, it is located in a backwards directory and I don't think i want it from there, i want it from elsewhere, can i force it to use a deque from somewhere else, if so where? I have all the needed RPM's but it errors out at this statement, any help would be great


RedRover

AMonk
12-27-2001, 07:58 AM
I got it to install correctly last night.

The problem for me was that I did not patch the installation of QT properly. I unzipped it in /usr/local/qt-2.3.2 and then placed the patch file into that directory. When I ran the patch file, it returned to a bash prompt with no messages. I assumed that this was normal and continued with the process. I was wrong.

The patch belongs in /usr/local. Run the patch from there and you will receive four lines indicating the correct files have been patched. You have to make sure that the correct environment variables have been set before running the make. You should be able to make QT with C++3 support.

Once you have QT installed properly, you will need to set the CXX and CC variables before running the configuration of showeq by typing:
export CXX=g++3
export CC=gcc3

Zaphod made an excellent walk through in this link:

http://seq.sourceforge.net/showthread.php?s=&threadid=70

If I had followed the steps exactly, I would not have had the problems I experienced.

Good luck!