PDA

View Full Version : New CVS version and MOC



lildr00d
02-05-2002, 12:08 PM
After updateing my CVS tree I run my normal compile batch

#make -f Makefile.dist
#./configure

After the configure is where I am running into problems with the new CVS.
*
checking for Qt... yes
>> Found version.: 2.3.2
>>> Headers........: /opt/qt-gcc3-2.3.2/include/
>>>> Libraries......: /opt/qt-gcc3-2.3.2/lib/
>>>>> Workable..: -*{YES}*-
checking for QT MOC... configure: error: No working Qt meta object compiler (moc) found!

Configure was ubable to locate a moc binary anywhere on your system!

If you have a working moc binary, please set the enviroment veriable MOC to point to the location of your moc binary and run configure over.

As a last resort, it make be possible to eliminate this error by typeing:
export MOC='updatedb && locate moc | grep bin/moc' (with the 's)
****

No luck - I even run the "last resort" method and it finds the moc at /opt/qt-gcc3-2.3.2/bin/moc

Any ideas on how to fix this problem or reinstall qt's to fix this:confused:

showeqnewb
02-05-2002, 02:43 PM
Frogfry posted this for me but i got the same error so i added the export line:

make distclean
cvs -d:pserver:[email protected]:/cvsroot/seq login
cvs -z3 update
cvs -d :pserver:[email protected]:/cvsroot/seq logout
head -n 10 CHANGES
export CC=gcc3 ; export CXX=g++3 ; export QTDIR=/usr/lib/qt-2.3.2
make -f Makefile.dist && ./configure && make -j3 && make install


Hope it helps!

crashtestdummy
02-07-2002, 06:08 PM
I am having the same issues and just tried the suggested fix and still no luck.

fryfrog
02-07-2002, 10:18 PM
it could just be the odd path that qt-2.3.2 is compiled into. i know i compiled my own qt-2.3.2 and placed it in /usr/lib/qt-2.3.2 and it works just fine. i know its a 2 or 3 hour "try" but that is what i would try :)

Brezer
03-20-2002, 01:18 AM
Ok am gettting the same message as in the start of the thread when I up date, and when I try your fix on the make distclean I get this error.

*** No rule to make target 'distclean'. Stop

have no idea how to recomplie the qt directory :(

fryfrog
03-20-2002, 02:06 AM
so what you are saying is that you HAVE compiled showeq before, but now that you have tried updating it... it won't compile?

the basic steps are as follows (w/o proper syntax or commands i'm sure)

1.) make distclean (or make clean) #this basically sorta un-compiles it and hopefully keeps any old stuff from interfereing with your next compile. it is OKAY if it seems to fail, it just means that it didn't have to unmake anything :)

2.) run a cvs -z3 update #this checks your files against the current cvs files (it gets this info from the CVS dir you are in) and if they have changed, it makes the changes to your file

3.) export your environment. this includes gcc, g++, and qtdir #this basically lets ./configure and make know which files to use to compile and which libraries to look for...

4.) make -f Makefile.dist && ./configure && make && make install #this is just the standard compile of showeq. the &&'s make it so that if the first thing worked, it does the next thing... if that worked it does the next thing... and so on. basically it means you type that one line and walk away and it SHOULD be done. if it fails, it doesn't bother doing the other stuff that it depends on (cause that would fail too).

Brezer
03-20-2002, 02:13 AM
Thank Goodnes for people that cant sleep :D

fryfrog
03-20-2002, 03:19 AM
heheh, actually i work at night... so i sleep during the day :)

Brezer
03-21-2002, 12:12 AM
Ok nothing helped so far, I did a complete reinstall of RH 7.2 and install seq and go to do update and still get this same message. When I go to configure I get the same MOC message and this is after a fresh install and not doing any changong to the system. Need help here plz.

dogmeat
03-21-2002, 12:38 AM
I had exact same problem. Existing SEQ installed, did a cvs update, barfed on ./configure with the MOC problem.

I'm a Linux idiot but good at build/configuration crap, so I dove in and fixed it rather quickly.

I think the problem is in the "configure" script file. There is a big loop that looks like this:

for i in $ac_qt_bindir .... and lots of directories listed ...

looks like a kinda *cough* hacky attempt at finding where your MOC binary is. At the end of the loop, there is a line:

MOC = "$MOC/moc"

That line is apparently NOT creating the correct path. So, I "commented out" the loop. I don't really know how to comment something out in a shell script (except maybe prefixing every line with a #, which I'm too lazy to do), so in front of the 'for' loop I added this line:

if 0; then

then after the second "done", and before the MOC= line, I added:

fi

Then after the MOC= line I added my own hardcoded path for MOC, determined by using "locate moc" from command line:

MOC="/opt/bin/moc"

The result of this chunk of script , with my additions in bold, looks like this:

if 0; then
for i in $ac_qt_bindir \
lots_of_directories_listed;
do
for j in moc;
do
...
done
done
fi

MOC="$MOC/moc"
MOC="/opt/bin/moc"


edit: NOTE: there are actually TWO of those ac_qt_bindir loops. the SECOND LOOP is the one that I was breaking on. I just realized that this probably means my original idea of just adding /opt/bin as a path in the second loop would be a simpler fix. I tried adding it in the first loop and it didn't work. duh.

dogmeat
03-21-2002, 12:43 AM
by the way, neither "make distclean" nor "make clean" work for me either (same "no target found" message as above).

And exporting MOC path from the shell doesn't work either. There is a line in the configure script that says MOC=NO right before the loop I mention, is that overriding "$MOC" ? That may be the whole problem. I dunno, I fixed it already my weird way.

Ataal
03-22-2002, 12:24 PM
I got this exact same message last night, I'm at work now so I can't try out the suggest fix in this thread. I noticed someone said something about putting QT in a different location than "the norm". Well, I was following a walkthrough...and I had to reconfigure the QTDIR in my environment table, so I think I may have mine in the abnormal directory also.

Otherwise, any of you gurus have any other ideas? that's a loooong compile hehe.

Brezer
03-22-2002, 12:52 PM
Iam getting a segmentation string error now after running seq for awhile and it shuts down but still getting the MOC error

Cable
03-22-2002, 03:00 PM
Did just what Dog suggests and still seeing the error... UG any other ideas?

linuxn00b
03-22-2002, 03:17 PM
well, i dont know anything about linux, but ever since i started using rh 7.2 i've been following a set of install rules. it seems like the most common problem i see on the boards is QT related. and since the cheater in me wants to cheat in every game i can ;) i keep my eyes open for little tricks. the install directions for odin's eye have the instructions to update QT to version 3.0.1 . now, i dunno if thats useful to these problems, but i havent seen any problems during any install or update for seq. try the update procedures for odin's eye, maybe that will help.

http://www.hackersquest.org/daoc/src/INSTALL.txt

datadog
03-22-2002, 08:27 PM
I have redhat 7.2 built just as Zaphods' instructions say. Compiled Seq 4 a few weeks back without any problems. Today I decided to do an update and see what was new and got the same error during the qt check...

>> Found Version.: 2.3.2
>>>Headers.........: /opt/qt-gcc3-2.3.2/include/
>>>>Libraries.......: /opt/qt-gcc3-2.3.2/lib/
>>>>> Workable...: -*{ YES }*-
checking for Qt MOC... configure: error: No working Qt meta object compiler (moc) found!

Configure was unable to locate a moc binary anywhere on your system!

If you have a working moc binary, please set the environment variable MOC to the location of your moc binary and run configure over.

As a last resort, it may be possible to eliminate this error by typing:

export MOC=`updatedb && locate moc | grep bin/moc` (with the `s)


===================
results of "find / -name moc -print" as follows

/opt/qt-gcc3-2.3.2/bin/moc
/opt/bin/moc (this is dl to above)

Tried setting MOC to both paths above, and.. as a last resort, tried the exact export command recommended in the error message... got the same error when re-running ./configure.

Zaphod
03-22-2002, 09:53 PM
Note, all examples I give below are based on sh style syntax, so should be usabel with: bash, sh, ksh, and zsh

In general, if MOC is not being found it is not in your PATH environment variable. Type 'which moc' and see what it says? If it says not found, it's not in your path.

If you installed my RPM of Qt 2.3.2 then source the shell script /opt/bin/useqt232, it will set the appropriate QTDIR and PATH environment variables. To do that you do:

$ . /opt/bin/useqt232


If you installed Qt yourself or used someone elses package, say as /usr/local/qt-2.3.2, then set your environment variables as follows:

$ export QTDIR=/usr/local/qt-2.3.2
$ export PATH=$QTDIR/bin:$PATH
$ export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH


If you are on a RedHat/Mandrake system, and using the GCC G++ 3.x from the RPMs that came with your distro, your gcc and g++ commands are gcc3 and g++3 respectively. Make sure to set your environment variables before running configure as follows:

$ export CXX=g++3
$ export CC=gcc3


If you are on a Debian system, and using the GCC G++ 3.x from the DEBs, your gcc and g++ commands are gcc-3 and g++-3 respectively. Make sure to set your environment variables before running configure as follows:

$ export CXX=g++-3
$ export CC=gcc-3


As to 'make distclean' and 'make clean' failing after you do a 'make -f Makefile.dist', it will and should. Makefile.dist does a maintainer-clean if necessary (which wipes more than distclean and clean, it even deletes the Makefile that configure built). At which point their is no Makefile until you successfully re-run configure.

So as an overview, if you are doing your update on a Redhat 7.[1-2] or Mandrake 8.[1-2] system using my install, do the following:

$ cd <your_seq_dir>
$ export CVSROOT=:pserver:[email protected] :/cvsroot/seq
$ cvs login
Hit enter when prompted for a password
$ cvs update
$ . /opt/bin/useqt232
$ export CXX=g++3
$ export CC=gcc3
$ make -f Makefile.dist
$ ./configure
$ make
$ make install


Where <your_seq_dir> is the showeq directory that you created when you originally checked out the tree. So if you did a 'cd /home/zaphod; cvs co showeq' it would be '/home/zaphod/showeq'.

I hope this helps.

Enjoy,
Zaphod (dohpaZ)

datadog
03-22-2002, 11:49 PM
Zaphod thanks.. this fixed it.. I had completely forgotten those commands from the initial install..

DD

Brezer
03-23-2002, 02:07 AM
Ok stupid question but i ahve not been able to find how to acess the shell, ofcaouse when i type the strings in it doesnt work because in a direction, could someone point me in teh right direction plz, have RH 7.2

high_jeeves
03-23-2002, 10:05 AM
Ok stupid question but i ahve not been able to find how to acess the shell, ofcaouse when i type the strings in it doesnt work because in a direction, could someone point me in teh right direction plz, have RH 7.2

I dont mean to flame, but I highly recommend you spend some time reading one of the linux newbies sights, or buy a RedHat book (there are some good ones at your local bookstore). You are going to have an extremely hard time getting everything to work if you have to come here for answer to a question like this... You will save yourself alot of time and trouble by spending some line learning the OS..

I'll ask again, slow down when you type, your posts are very hard to read...

--Jeeves

Cable
03-24-2002, 12:45 PM
That didn't work for me it is still looking for that file...

Is there anyway to hard code the path into the ./configure file?

Zaphod
03-24-2002, 01:40 PM
Cable,
If that didn't work, then you are doing something else wrong. Are you sure you know where your install of qt is? Do you happen to have an error message?

Enjoy,
Zaphod (dohpaZ)

Cable
03-24-2002, 03:01 PM
User erro and not doing what i was told... I got it I think... compiling now

Brezer
03-25-2002, 12:57 PM
Well I just did a reinstall of RH and used Zaphods original setup instructions and havent got the MOC or the segment error yet, but whats freaky my colors are all screwy, probely somethign i havent read yet to explain how to change them.

Ataal
03-25-2002, 02:00 PM
Finally got mine working, but I figured it out on my own over the weekend. I remembered during the original install that I had to specify the QTDIR, and I only needed to type out "QTDIR=(location of qt directory)" So, I tried that, still didn't work, then I tried "export QTDIR=(location of qt directory)...fired right up.

I'm still in the learning process when it comes to linux, however my background in just about all other OS's is really helping me out. Most of it's just figuring out which commands do what.