PDA

View Full Version : Pass ./configure - Fail Make - ? UTS_RELEASE



Sargent_Slate
10-29-2006, 04:47 PM
Searched and seen no reference to "UTS_RELEASE" -

This is under Fedora Core 6 - full install but had to add the Libpcap-devel after cause it failed the configure... after that - it passed that no prob... but upon MAKE I get the following... Anyone know what it means?


Success!
Please run:
make
[root@localhost showeq-5.6.0.0]# make
make all-recursive
make[1]: Entering directory `/EQ/showeq-5.6.0.0'
Making all in src
make[2]: Entering directory `/EQ/showeq-5.6.0.0/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/lib/qt-3.3/include -I. -DPKGDATADIR=\"/usr/local/share/showeq/\" -I/usr/include/pcap -D_REENTRANT -O2 -Wall -g -ggdb -DDEBUG -finline-functions -DQT_THREAD_SUPPORT=1 -DDISPLAY_ICONS=false -DICON_DIR=\"/eq-icons/\" -g -O2 -MT main.o -MD -MP -MF ".deps/main.Tpo" -c -o main.o main.cpp; \
then mv -f ".deps/main.Tpo" ".deps/main.Po"; else rm -f ".deps/main.Tpo"; exit 1; fi
main.cpp: In function ‘void displayVersion()’:
main.cpp:768: error: ‘UTS_RELEASE’ was not declared in this scope
make[2]: *** [main.o] Error 1
make[2]: Leaving directory `/EQ/showeq-5.6.0.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/EQ/showeq-5.6.0.0'
make: *** [all] Error 2
[root@localhost showeq-5.6.0.0]#

purple
10-29-2006, 05:49 PM
Do you have linux kernel headers installed?

Sargent_Slate
10-29-2006, 06:23 PM
kernel-headers-2.6.18-1.2798.fc6 are installed according to the package manager.

purple
10-29-2006, 06:46 PM
So your /usr/include/linux/version.h doesn't define UTS_RELEASE?

Sargent_Slate
10-30-2006, 05:33 AM
LOL - your good!

Ok - I looked in /usr/include/linux/version.h and found....


#define LINUX_VERSION_CODE 132626
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

So - by default - a fresh install of FC6 (did it twice to be sure) leaves this file devoid of this statement? I did a little search on the web and seen this from one person saying the following...


First off, it seems Fedora developers did not define the UTS_RELEASE in the kernel version header. When running --buildpkg Fedora/FC6 on a clean FC6T3 install, the build will error out. The error, however, resides with the kernel. Within /lib/modules/2.6.17-1.2630.fc6/build/include/linux/version.h the UTS_RELEASE is not specified. Adding #define UTS_RELEASE "2.6.17-1.2630.fc6" to version.h will correct this problem so the RPMs generate fine.

I gotta admit... I'm no programmer and this is beyond my scope... I would never have known in a million years to look there... or what to look for. I never had this problem in prior releases and SEQ always compiled easily for me. Thanks for pointing me in the right direction - and for those using FC6 - here is a solution that worked for me so far. (well - make is still running but looks good so far ;) )

purple
10-30-2006, 08:31 AM
Really, the entire purpose for that is when someone comes here with a problem, we can say "cut and paste what seq says when it starts up" and then it will include some version information to help in trouble shooting.

For now, you can hack it out if you want. I'll see if I can either get rid of it or find a better way to get uname -a for that info dump.

purple
10-30-2006, 08:37 AM
Hmm, do you have a /usr/include/linux/utsversion.h? It looks like this was a recent kernel change.

purple
10-30-2006, 09:39 AM
If you feel like being a guinea pig, in both itemdbtool.cpp and main.cpp, replace:


#ifdef __linux__
#include <linux/version.h>
#endif


with



#ifdef __linux__
#include <linux/version.h>

// Newer kernel versions move this to utsversion.h
#ifndef UTS_RELEASE
#include <linux/utsversion.h>
#endif
#endif


and see if it works and report back!

Cossack
11-24-2006, 09:32 PM
Happened across this post while working on getting SEQ 5.6.1.0 working on FC6 as I was having the exact same error message.

I also noticed that the code recommended above to be added to main.cpp etc was already included in this SEQ release, however the make still failed until I entered the UTS_RELEASE definition in the version.h file.

No utsversion.h file exists in my reasonably fresh FC6 install.

Once I entered the new line into version.h everything went smoothly. Installed the maps and filters, loaded up SEQ and logged into EQ and everything is showing up as I'd expect, PoK map pops up and spawns and characters seem to be properly populated.

The only difference I know of in what I'm using from what is noted in some of the other FC6 posts and the standard FC6 install is that i'm using libpcap-0.9.5

Hope this helps the other FC6 users out there.

purple
11-25-2006, 06:12 AM
I sorta just made that fix up based off reading old kernel ml posts. I guess what they were talking about never made it live. I guess I should just take out the debug output for kernel header versions. It's not that important.

hellraiser
01-21-2007, 03:45 PM
I got the same problem today. While the post above is correct, I wanted to be more specific in what you have to do to fix this. I'm using Fedora 6 as well but it might also be valid for other linux flavors.

Step1: Check your kernel version




[root@localhost linux]# cat /proc/version
Linux version 2.6.18-1.2798.fc6 ([email protected]) (gcc version 4.1.1 20061011 (Red Hat 4.1.1-30)) #1 SMP Mon Oct 16 14:54:20 EDT 2006


The first bold text is the command you enter. The 2nd bold text is your kernel version. Only the first three numbers are relevant, you can ignore everything after.

Step 2: Add this info to version.h


nano /usr/include/linux/version.h

enter the following line at the end of the text:

#define UTS_RELEASE "2.6.18"

Save version.h and rerun make in the showeq directory. Now it shouldn't bring up this error anymore

Plugh
03-26-2007, 02:49 AM
Step 2: Add this info to version.h


nano /usr/include/linux/version.h

enter the following line at the end of the text:

#define UTS_RELEASE "2.6.18"

Save version.h and rerun make in the showeq directory. Now it shouldn't bring up this error anymore

Thanks for this. Gentoo had the same problem, and this fixed it.

uRit1u2CBBA=
03-26-2007, 03:08 AM
You must not keep your gentoo box up-to-date. I've been using gentoo for 2 years, and never had this problem. Compiled 5.9.1 last night without any problems.

purple
03-26-2007, 07:17 AM
I use Gentoo also and I've never seen this either. That's actually what I've been waiting for to truly fix this.

What version of linux-headers do you have? Just do:


# equery list linux-headers


edit: equery is in gentoolkit, so need to emerge gentoolkit if you don't have it already.

Plugh
03-26-2007, 10:01 AM
You must not keep your gentoo box up-to-date. I've been using gentoo for 2 years, and never had this problem. Compiled 5.9.1 last night without any problems.
There was indeed a new version of linux-headers when I checked. I hadn't emerged world in about a week.

bonkersbobcat
04-15-2007, 05:33 PM
For those keeping score... I just updated a box to Ubuntu 7.04 and ran into the missing UTS_RELEASE issue there.

purple
04-16-2007, 08:31 AM
What version of glibc and the kernel headers is that? This still hasn't happened to me. When it does I'll fix it. Until them I'm still accepting patches!

Gentoo stable kernel headers are 2.6.17-r2 and still have UTS_RELEASE in /usr/include/linux/version.h.

bonkersbobcat
04-16-2007, 09:43 AM
I have version 2.6.20-15 installed.

purple
04-16-2007, 09:53 AM
Hmm, I can come up to 2.6.20 on gentoo by going unstable. I'll play with it tonight and see what happens.

purple
04-16-2007, 06:01 PM
What if you change utsversion.h to utsrelease.h in itemdbtool.cpp and main.cpp?

eqhunter
04-22-2007, 01:59 PM
What if you change utsversion.h to utsrelease.h in itemdbtool.cpp and main.cpp?


Purple

I found the main.cpp but not the itemdbtool.cpp

Can you tell me where it is

Also I looked and /usr/include/linux/version.h is not there - anyone know where its at in Ubuntu?

purple
04-22-2007, 02:48 PM
itemdbtool.cpp is part of the showeq source. It is in <where you untarred showeq>/src.

Do you have a /usr/include/linux/utsrelease.h?

eqhunter
04-22-2007, 03:21 PM
itemdbtool.cpp is part of the showeq source. It is in <where you untarred showeq>/src.

Do you have a /usr/include/linux/utsrelease.h?


Dont see it - running Ubuntu 7

purple
04-22-2007, 04:09 PM
And you have some package installed that represents kernel headers?

Run this and what does it say:



$ ls -1 /usr/include/linux | wc

eqhunter
04-23-2007, 03:33 PM
when I ran

root@d-desktop:/home/d/temp/showeq-5.9.1.0# ls -1 /usr/include/linux | wc

I got


335 335 3209

thanks purple for the help


And you have some package installed that represents kernel headers?

Run this and what does it say:



$ ls -1 /usr/include/linux | wc

purple
04-23-2007, 05:13 PM
So you do have some sort of headers in there. And ls -al /usr/include/linux/version.h says nothing?

eqhunter
04-23-2007, 05:59 PM
root@d-desktop:/home/d/temp/showeq-5.9.1.0# ls -1 /usr/include/linux | wc
335 335 3209
root@d-desktop:/home/d/temp/showeq-5.9.1.0# ls -al /usr/include/linux/version.h -rw-r--r-- 1 root root 97 2007-04-15 01:27 /usr/include/linux/version.h

purple
04-23-2007, 06:51 PM
So version.h is there! how about a:



$ grep UTS_RELEASE /usr/include/linux/*.h

eqhunter
04-23-2007, 07:00 PM
root@d-desktop:/home/d/temp/showeq-5.9.1.0# ls -1 /usr/include/linux | wc
335 335 3209
root@d-desktop:/home/d/temp/showeq-5.9.1.0# ls -al /usr/include/linux/version.h -rw-r--r-- 1 root root 97 2007-04-15 01:27 /usr/include/linux/version.h
root@d-desktop:/home/d/temp/showeq-5.9.1.0# grep UTS_RELEASE /usr/include/linux/*.h
root@d-desktop:/home/d/temp/showeq-5.9.1.0#

purple
04-23-2007, 07:06 PM
So definitely no uts_release for you. How about



$ find /usr/include -exec grep UTS_RELEASE {} \;

eqhunter
04-23-2007, 07:10 PM
alot of

root@d-desktop:/home/d/temp/showeq-5.9.1.0# ls -1 /usr/include/linux | wc
335 335 3209
root@d-desktop:/home/d/temp/showeq-5.9.1.0# ls -al /usr/include/linux/version.h -rw-r--r-- 1 root root 97 2007-04-15 01:27 /usr/include/linux/version.h
root@d-desktop:/home/d/temp/showeq-5.9.1.0# grep UTS_RELEASE /usr/include/linux/*.h
root@d-desktop:/home/d/temp/showeq-5.9.1.0# find /usr/include -exec grep UTS_RELEASE {} \;
grep: /usr/include/python2.5_d/Python-ast.h: No such file or directory
grep: /usr/include/python2.5_d/boolobject.h: No such file or directory
grep: /usr/include/python2.5_d/Python.h: No such file or directory
grep: /usr/include/python2.5_d/abstract.h: No such file or directory
grep: /usr/include/python2.5_d/asdl.h: No such file or directory
grep: /usr/include/python2.5_d/ast.h: No such file or directory
grep: /usr/include/python2.5_d/bitset.h: No such file or directory
grep: /usr/include/python2.5_d/bufferobject.h: No such file or directory
grep: /usr/include/python2.5_d/cStringIO.h: No such file or directory
grep: /usr/include/python2.5_d/cellobject.h: No such file or directory
grep: /usr/include/python2.5_d/ceval.h: No such file or directory
grep: /usr/include/python2.5_d/classobject.h: No such file or directory
grep: /usr/include/python2.5_d/cobject.h: No such file or directory
grep: /usr/include/python2.5_d/code.h: No such file or directory
grep: /usr/include/python2.5_d/codecs.h: No such file or directory
grep: /usr/include/python2.5_d/compile.h: No such file or directory
grep: /usr/include/python2.5_d/complexobject.h: No such file or directory
grep: /usr/include/python2.5_d/datetime.h: No such file or directory
grep: /usr/include/python2.5_d/descrobject.h: No such file or directory
grep: /usr/include/python2.5_d/dictobject.h: No such file or directory
grep: /usr/include/python2.5_d/enumobject.h: No such file or directory
grep: /usr/include/python2.5_d/errcode.h: No such file or directory
grep: /usr/include/python2.5_d/eval.h: No such file or directory
grep: /usr/include/python2.5_d/fileobject.h: No such file or directory
grep: /usr/include/python2.5_d/floatobject.h: No such file or directory
grep: /usr/include/python2.5_d/frameobject.h: No such file or directory
grep: /usr/include/python2.5_d/funcobject.h: No such file or directory
grep: /usr/include/python2.5_d/genobject.h: No such file or directory
grep: /usr/include/python2.5_d/graminit.h: No such file or directory
grep: /usr/include/python2.5_d/grammar.h: No such file or directory
grep: /usr/include/python2.5_d/import.h: No such file or directory
grep: /usr/include/python2.5_d/intobject.h: No such file or directory
grep: /usr/include/python2.5_d/intrcheck.h: No such file or directory
grep: /usr/include/python2.5_d/iterobject.h: No such file or directory
grep: /usr/include/python2.5_d/listobject.h: No such file or directory
grep: /usr/include/python2.5_d/longintrepr.h: No such file or directory
grep: /usr/include/python2.5_d/longobject.h: No such file or directory
grep: /usr/include/python2.5_d/marshal.h: No such file or directory
grep: /usr/include/python2.5_d/metagrammar.h: No such file or directory
grep: /usr/include/python2.5_d/methodobject.h: No such file or directory
grep: /usr/include/python2.5_d/modsupport.h: No such file or directory
grep: /usr/include/python2.5_d/moduleobject.h: No such file or directory
grep: /usr/include/python2.5_d/node.h: No such file or directory
grep: /usr/include/python2.5_d/object.h: No such file or directory
grep: /usr/include/python2.5_d/objimpl.h: No such file or directory
grep: /usr/include/python2.5_d/opcode.h: No such file or directory
grep: /usr/include/python2.5_d/osdefs.h: No such file or directory
grep: /usr/include/python2.5_d/parsetok.h: No such file or directory
grep: /usr/include/python2.5_d/patchlevel.h: No such file or directory
grep: /usr/include/python2.5_d/pgen.h: No such file or directory
grep: /usr/include/python2.5_d/pgenheaders.h: No such file or directory
grep: /usr/include/python2.5_d/py_curses.h: No such file or directory
grep: /usr/include/python2.5_d/pyarena.h: No such file or directory
grep: /usr/include/python2.5_d/pydebug.h: No such file or directory
grep: /usr/include/python2.5_d/pyerrors.h: No such file or directory
grep: /usr/include/python2.5_d/pyexpat.h: No such file or directory
grep: /usr/include/python2.5_d/pyfpe.h: No such file or directory
grep: /usr/include/python2.5_d/pygetopt.h: No such file or directory
grep: /usr/include/python2.5_d/pymactoolbox.h: No such file or directory
grep: /usr/include/python2.5_d/pymem.h: No such file or directory
grep: /usr/include/python2.5_d/pyport.h: No such file or directory
grep: /usr/include/python2.5_d/pystate.h: No such file or directory
grep: /usr/include/python2.5_d/pystrtod.h: No such file or directory
grep: /usr/include/python2.5_d/pythonrun.h: No such file or directory
grep: /usr/include/python2.5_d/pythread.h: No such file or directory
grep: /usr/include/python2.5_d/rangeobject.h: No such file or directory
grep: /usr/include/python2.5_d/setobject.h: No such file or directory
grep: /usr/include/python2.5_d/sliceobject.h: No such file or directory
grep: /usr/include/python2.5_d/stringobject.h: No such file or directory
grep: /usr/include/python2.5_d/structmember.h: No such file or directory
grep: /usr/include/python2.5_d/structseq.h: No such file or directory
grep: /usr/include/python2.5_d/symtable.h: No such file or directory
grep: /usr/include/python2.5_d/sysmodule.h: No such file or directory
grep: /usr/include/python2.5_d/timefuncs.h: No such file or directory
grep: /usr/include/python2.5_d/token.h: No such file or directory
grep: /usr/include/python2.5_d/traceback.h: No such file or directory
grep: /usr/include/python2.5_d/tupleobject.h: No such file or directory
grep: /usr/include/python2.5_d/ucnhash.h: No such file or directory
grep: /usr/include/python2.5_d/unicodeobject.h: No such file or directory
grep: /usr/include/python2.5_d/weakrefobject.h: No such file or directory
root@d-desktop:/home/d/temp/showeq-5.9.1.0#

purple
04-23-2007, 07:59 PM
So really definitely no uts_release! I guess I should get rid of that debugging output then. Thanks for the help.

eqhunter
04-23-2007, 08:15 PM
KK LOL glad I can help.


now i have the normal ubuntu how can I fix it for seq

ephieis
04-23-2007, 10:05 PM
I have tried all of the above and still get an error, this is my first time with linux. It will not make file for me Error is in main.cpp now what ??
ty

Cryonic
04-23-2007, 11:36 PM
Wait for SEQ to be fixed due to patch and try again.

eqhunter
04-24-2007, 12:17 PM
Wait for SEQ to be fixed due to patch and try again.


thank C

ephieis
04-24-2007, 01:54 PM
Ty Cryonic, like I said I am new to Linux just installed fc6 3 days ago.

arantius
09-03-2007, 09:12 AM
I just ran into the same exact thing. Very old unused for quite some time Gentoo system that I've been updating over the course of the weekend to get showeq installed.


$ equery l linux-headers
[ Searching for package 'linux-headers' in all categories among: ]
* installed packages
[I--] [ -] sys-kernel/linux-headers-2.6.21 (0)
$ grep -r UTS_RELEASE /usr/include/linux/

Yes, really no results.

So based on what else was in this thread, I:


$ svn diff
Index: src/itemdbtool.cpp
================================================== =================
--- src/itemdbtool.cpp (revision 685)
+++ src/itemdbtool.cpp (working copy)
@@ -5,15 +5,7 @@
* http://seq.sourceforge.net/
*/

-#ifdef __linux__
-#include <linux/version.h>

-// Newer kernel versions move this to utsversion.h
-#ifndef UTS_RELEASE
-#include <linux/utsversion.h>
-#endif
-#endif
-
#include <sys/utsname.h>
#include <stdlib.h>
#include <stdio.h>
@@ -449,10 +441,6 @@
#ifdef QT_VERSION_STR
printf ("\t\tUsing Qt version: %s\n", QT_VERSION_STR);
#endif
-#ifdef __linux__
- printf ("\t\tUsing headers from linux version: %s\n",
- UTS_RELEASE);
-#endif
printf ("\tUsing GDBM: %s\n", GDBMConvenience::Version());
#ifdef USE_DB3
printf ("\tUsing DB3: %s\n", DB3Convenience::Version());
Index: src/main.cpp
================================================== =================
--- src/main.cpp (revision 685)
+++ src/main.cpp (working copy)
@@ -11,15 +11,7 @@
* options and initializes the application
*/

-#ifdef __linux__
-#include <linux/version.h>

-// Newer kernel versions put this in utsversion
-#ifndef UTS_RELEASE
-#include <linux/utsversion.h>
-#endif
-#endif
-
#include <sys/utsname.h>

#include <stdio.h>
@@ -772,10 +764,6 @@
#ifdef QT_VERSION_STR
printf ("\t\tUsing Qt version: %s\n", QT_VERSION_STR);
#endif
-#ifdef __linux__
- printf ("\t\tUsing headers from linux version: %s\n",
- UTS_RELEASE);
-#endif
#ifdef ITEMDB
printf ("\t\tUsing EQItemDB: %s\n", EQItemDB::Version());
printf ("\tUsing GDBM: %s\n", GDBMConvenience::Version());

And it's built and running.