"GL/gl.h" header not found

Questions, problems and discussion about compiling FreeOrion.

Moderators: Oberlus, Oberlus

Message
Author
User avatar
loonycyborg
Compilation Expert
Posts: 219
Joined: Thu Jul 06, 2006 10:30 pm
Location: Russia/Moscow

Re: "GL/gl.h" header not found

#16 Post by loonycyborg » Thu Mar 20, 2008 5:25 pm

This is, indeed, the cause. SCons script crashed when creating the .pc file and it won't add -l linker flags for GiGi if pkg-config fails.
In Soviet Russia, forum posts YOU!!

freereign
Space Squid
Posts: 53
Joined: Wed Mar 19, 2008 4:40 pm

Re: "GL/gl.h" header not found

#17 Post by freereign » Thu Mar 20, 2008 5:32 pm

I removed all my old GiGi stuff then cleaned the compile directory, reran the config, rebuilt, and reinstalled. Still not working. I also tried changing the with_gg_include to ./GG, ./GG/src ./GG/GG, /usr/local/include, and /usr/local/include/GG.
I also tried changing with_gg_libdir to ./GG, /usr/local/lib/GG, and /usr/local/lib
MoO: Darloks Rule!
MoO2: Custom Darloks Rule!
MoO3: Dunno cuz I'm a cheapskate

User avatar
loonycyborg
Compilation Expert
Posts: 219
Joined: Thu Jul 06, 2006 10:30 pm
Location: Russia/Moscow

Re: "GL/gl.h" header not found

#18 Post by loonycyborg » Thu Mar 20, 2008 5:38 pm

freereign wrote:Still not working.
Do you get python backtraces during GG configure too?
In Soviet Russia, forum posts YOU!!

EyesKiller
Space Krill
Posts: 5
Joined: Thu Mar 20, 2008 3:59 pm

Re: "GL/gl.h" header not found

#19 Post by EyesKiller » Thu Mar 20, 2008 6:24 pm

loonycyborg wrote:This is, indeed, the cause. SCons script crashed when creating the .pc file and it won't add -l linker flags for GiGi if pkg-config fails.
So, what should I do then? If you need some infos, let me know and I'll provides them.

cu Floh

User avatar
loonycyborg
Compilation Expert
Posts: 219
Joined: Thu Jul 06, 2006 10:30 pm
Location: Russia/Moscow

Re: "GL/gl.h" header not found

#20 Post by loonycyborg » Thu Mar 20, 2008 6:35 pm

What's in linker command line that produces undefined references? Does it contain -lGiGi*? If it doesn't, try configuring GG with 'scons with_boost="/usr" configure' so env["LIBPATH"] exists. Make sure there are no python backtraces and it installs .pc files correctly.
In Soviet Russia, forum posts YOU!!

freereign
Space Squid
Posts: 53
Joined: Wed Mar 19, 2008 4:40 pm

Re: "GL/gl.h" header not found

#21 Post by freereign » Thu Mar 20, 2008 7:00 pm

loonycyborg wrote:
freereign wrote:Still not working.
Do you get python backtraces during GG configure too?
Nope, I don't.

I do, on the other hand, get some warnings when I compile GG:

Code: Select all

libltdl/ltdl.c: In function 'try_dlopen':
libltdl/ltdl.c:3175: warning: the address of 'sys_search_path' will always evaluate as 'true'
libltdl/ltdl.c: In function 'lt_dlopenext':
libltdl/ltdl.c:3467: warning: the address of 'archive_ext' will always evaluate as 'true'
libltdl/ltdl.c:3488: warning: the address of 'shlib_ext' will always evaluate as 'true'
libltdl/ltdl.c:3488: warning: the address of 'archive_ext' will always evaluate as 'true'
libltdl/ltdl.c:3491: warning: the address of 'shlib_ext' will always evaluate as 'true'
I am going to attempt to compile the other executables (since freeoriond always crashes) and see if they compile.
MoO: Darloks Rule!
MoO2: Custom Darloks Rule!
MoO3: Dunno cuz I'm a cheapskate

freereign
Space Squid
Posts: 53
Joined: Wed Mar 19, 2008 4:40 pm

Re: "GL/gl.h" header not found

#22 Post by freereign » Sat Mar 22, 2008 5:11 pm

Nope, none of the other executables compiled. they all errored out trying to find GiGi. If I can make it find GiGi I won't have any problem building it.
MoO: Darloks Rule!
MoO2: Custom Darloks Rule!
MoO3: Dunno cuz I'm a cheapskate

User avatar
loonycyborg
Compilation Expert
Posts: 219
Joined: Thu Jul 06, 2006 10:30 pm
Location: Russia/Moscow

Re: "GL/gl.h" header not found

#23 Post by loonycyborg » Sat Mar 22, 2008 6:10 pm

Do you have -lGiGi in linker command line?

g++ -o freeoriond -pthread combat/Combat.o Empire/Empire.o Empire/EmpireManager.o Empire/ResourcePool.o network/Message.o network/MessageQueue.o network/Networking.o network/boost/error_code.o UI/StringTable.o universe/Building.o universe/Condition.o universe/ConditionParser1.o universe/ConditionParser2.o universe/ConditionParser.o universe/Effect.o universe/EffectParser.o universe/Enums.o universe/Fleet.o universe/Meter.o universe/ParserUtil.o universe/Planet.o universe/PopCenter.o universe/Predicates.o universe/ResourceCenter.o universe/Ship.o universe/ShipDesign.o universe/Special.o universe/System.o universe/Tech.o universe/TopLevelParsers.o universe/UniverseObject.o universe/ValueRef.o universe/ValueRefParser.o util/DataTable.o util/GZStream.o util/MultiplayerCommon.o util/OptionsDB.o util/Order.o util/OrderSet.o util/Process.o util/Random.o util/Serialize.o util/SitRepEntry.o util/VarText.o util/Version.o util/binreloc.o util/Directories.o util/XMLDoc.o combat/CombatSystem-server.o network/ServerNetworking-server.o server/SaveLoad-server.o server/ServerApp-server.o server/ServerFSM-server.o server/dmain-server.o universe/Universe-server.o util/AppInterface-server.o -L/usr/lib -L/usr/local/lib -lpython2.4 -lGiGiSDL -lIL -lILU -lGiGi -lboost_signals -lboost_filesystem -lboost_thread -lGL -lGLU -lfreetype -lz -lSDL -lpthread -lboost_serialization -lboost_iostreams -lboost_python -lalut -lopenal -lvorbisfile -lvorbis -lm -logg -lgvc -lgraph -lcdt -llog4cpp

During FreeOrion configuration you get

Code: Select all

Checking for GiGiSDL >= 0.6.0... yes
or

Code: Select all

Checking for GiGiSDL >= 0.6.0... no
?
In Soviet Russia, forum posts YOU!!

User avatar
kroddn
Static Linker
Posts: 347
Joined: Thu Jun 28, 2007 10:28 am

Re: "GL/gl.h" header not found

#24 Post by kroddn » Sun Mar 23, 2008 7:00 am

freereign wrote:I removed all my old GiGi stuff then cleaned the compile directory, reran the config, rebuilt, and reinstalled. Still not working. I also tried changing the with_gg_include to ./GG, ./GG/src ./GG/GG, /usr/local/include, and /usr/local/include/GG.
I also tried changing with_gg_libdir to ./GG, /usr/local/lib/GG, and /usr/local/lib
If you want that to work you have to patch build_support.py (i already reported that bug on sourceforge):

Code: Select all

Index: build_support.py
===================================================================
--- build_support.py    (Revision 2416)
+++ build_support.py    (Arbeitskopie)
@@ -247,6 +247,7 @@
         return True

 def CheckBoost(context, required_version, lib_tuples, conf, check_libs):
+    AppendPackagePaths('gg', context.env)
     AppendPackagePaths('boost', context.env)
     if not conf.CheckCXXHeader('boost/shared_ptr.hpp'):
         context.Message('Boost configuration... ')

freereign
Space Squid
Posts: 53
Joined: Wed Mar 19, 2008 4:40 pm

Re: "GL/gl.h" header not found

#25 Post by freereign » Sun Mar 23, 2008 12:23 pm

loonycyborg wrote:Do you have -lGiGi in linker command line?
...
During FreeOrion configuration you get

Code: Select all

Checking for GiGiSDL >= 0.6.0... yes
or

Code: Select all

Checking for GiGiSDL >= 0.6.0... no
?
Yes, -lGiGi* is in the command line.
I don't think there were any nos in the configuration, but I will check.
MoO: Darloks Rule!
MoO2: Custom Darloks Rule!
MoO3: Dunno cuz I'm a cheapskate

freereign
Space Squid
Posts: 53
Joined: Wed Mar 19, 2008 4:40 pm

Re: "GL/gl.h" header not found

#26 Post by freereign » Sun Mar 23, 2008 8:59 pm

Alright, during config everything was a yes.
MoO: Darloks Rule!
MoO2: Custom Darloks Rule!
MoO3: Dunno cuz I'm a cheapskate

User avatar
kroddn
Static Linker
Posts: 347
Joined: Thu Jun 28, 2007 10:28 am

Re: "GL/gl.h" header not found

#27 Post by kroddn » Sun Mar 23, 2008 10:22 pm

Did you answer the question if you did a "scons install" inside the GG subdir?

(if you use --with-gg=./GG you will not have to do install)

User avatar
loonycyborg
Compilation Expert
Posts: 219
Joined: Thu Jul 06, 2006 10:30 pm
Location: Russia/Moscow

Re: "GL/gl.h" header not found

#28 Post by loonycyborg » Sun Mar 23, 2008 10:47 pm

If there's -lGiGi in command line and you get undefined references to GG:Clr::Clr() that means that it found libGiGi*.so but it couldn't find these symbols in these libraries.
What's the output of

Code: Select all

$ readelf --symbols /usr/local/lib/libGiGi.so | grep Clr
?
In Soviet Russia, forum posts YOU!!

freereign
Space Squid
Posts: 53
Joined: Wed Mar 19, 2008 4:40 pm

Re: "GL/gl.h" header not found

#29 Post by freereign » Mon Mar 24, 2008 1:21 am

loonycyborg wrote:If there's -lGiGi in command line and you get undefined references to GG:Clr::Clr() that means that it found libGiGi*.so but it couldn't find these symbols in these libraries.
What's the output of

Code: Select all

$ readelf --symbols /usr/local/lib/libGiGi.so | grep Clr
?

Code: Select all

585: 000c3570   179 FUNC    GLOBAL DEFAULT   11 _ZN2GG6BubbleEiiiiNS_3Clr
   993: 001bfcb0   191 FUNC    WEAK   DEFAULT   11 _ZNSt6vectorIN2GG3ClrESaI
  1180: 000de370   550 FUNC    GLOBAL DEFAULT   11 _ZN2GG7RgbaTagERKNS_3ClrE
  1468: 000becd0    53 FUNC    GLOBAL DEFAULT   11 _ZN2GGeqERKNS_3ClrES2_
  1853: 001b1440    22 FUNC    GLOBAL DEFAULT   11 _ZN2GG6HSVClrC1Ev
  2302: 000c1510   146 FUNC    GLOBAL DEFAULT   11 _ZN2GG9DarkColorENS_3ClrE
  2304: 001bf3d0   533 FUNC    WEAK   DEFAULT   11 _ZNSt6vectorIN2GG3ClrESaI
  2460: 000bebf0    31 FUNC    GLOBAL DEFAULT   11 _ZN2GG3ClrC2Ehhhh
  2735: 001bf5f0   464 FUNC    WEAK   DEFAULT   11 _ZNSt6vectorIN2GG3ClrESaI
  2763: 000bec30   158 FUNC    GLOBAL DEFAULT   11 _ZN2GG8FloatClrEffff
  3016: 000bed10    48 FUNC    GLOBAL DEFAULT   11 _ZN2GGneERKNS_3ClrES2_
  3090: 000c1ae0    55 FUNC    GLOBAL DEFAULT   11 _ZN2GG5FlatXEiiiiNS_3ClrE
  3224: 001b1420    22 FUNC    GLOBAL DEFAULT   11 _ZN2GG6HSVClrC2Ev
  3286: 001b1660    31 FUNC    GLOBAL DEFAULT   11 _ZN2GG6HSVClrC2Edddh
  3373: 001b1680    31 FUNC    GLOBAL DEFAULT   11 _ZN2GG6HSVClrC1Edddh
  3501: 000bebd0    23 FUNC    GLOBAL DEFAULT   11 _ZN2GG3ClrC1Ev
  3853: 000c16c0    66 FUNC    GLOBAL DEFAULT   11 _ZN2GG7glColorENS_3ClrE
  4776: 000bec10    31 FUNC    GLOBAL DEFAULT   11 _ZN2GG3ClrC1Ehhhh
  4867: 000bebb0    23 FUNC    GLOBAL DEFAULT   11 _ZN2GG3ClrC2Ev
  5228: 001c1830  1815 FUNC    WEAK   DEFAULT   11 _ZNSt6vectorIS_IN2GG3ClrE
    99: 00000000     0 FILE    LOCAL  DEFAULT  ABS Clr.cpp
   763: 001b2480    16 FUNC    LOCAL  DEFAULT   11 _GLOBAL__I__ZN2GG6HSVClrC
  1062: 001bf5f0   464 FUNC    WEAK   DEFAULT   11 _ZNSt6vectorIN2GG3ClrESaI
  1401: 000bec30   158 FUNC    GLOBAL DEFAULT   11 _ZN2GG8FloatClrEffff
  1424: 000c3570   179 FUNC    GLOBAL DEFAULT   11 _ZN2GG6BubbleEiiiiNS_3Clr
  2152: 001c1830  1815 FUNC    WEAK   DEFAULT   11 _ZNSt6vectorIS_IN2GG3ClrE
  2424: 000bebd0    23 FUNC    GLOBAL DEFAULT   11 _ZN2GG3ClrC1Ev
  2710: 000becd0    53 FUNC    GLOBAL DEFAULT   11 _ZN2GGeqERKNS_3ClrES2_
  3164: 001bfcb0   191 FUNC    WEAK   DEFAULT   11 _ZNSt6vectorIN2GG3ClrESaI
  3310: 000bed10    48 FUNC    GLOBAL DEFAULT   11 _ZN2GGneERKNS_3ClrES2_
  3464: 001b1680    31 FUNC    GLOBAL DEFAULT   11 _ZN2GG6HSVClrC1Edddh
  3545: 000c1510   146 FUNC    GLOBAL DEFAULT   11 _ZN2GG9DarkColorENS_3ClrE
  3604: 001b1440    22 FUNC    GLOBAL DEFAULT   11 _ZN2GG6HSVClrC1Ev
  3715: 001bf3d0   533 FUNC    WEAK   DEFAULT   11 _ZNSt6vectorIN2GG3ClrESaI
  4018: 000bebf0    31 FUNC    GLOBAL DEFAULT   11 _ZN2GG3ClrC2Ehhhh
  4149: 000de370   550 FUNC    GLOBAL DEFAULT   11 _ZN2GG7RgbaTagERKNS_3ClrE
  4245: 001b1420    22 FUNC    GLOBAL DEFAULT   11 _ZN2GG6HSVClrC2Ev
  4730: 000c1ae0    55 FUNC    GLOBAL DEFAULT   11 _ZN2GG5FlatXEiiiiNS_3ClrE
  4756: 000bebb0    23 FUNC    GLOBAL DEFAULT   11 _ZN2GG3ClrC2Ev
  6036: 001b1660    31 FUNC    GLOBAL DEFAULT   11 _ZN2GG6HSVClrC2Edddh
  6084: 000bec10    31 FUNC    GLOBAL DEFAULT   11 _ZN2GG3ClrC1Ehhhh
  6199: 000c16c0    66 FUNC    GLOBAL DEFAULT   11 _ZN2GG7glColorENS_3ClrE
That is the output. I will try to compile with 'with_gg=./GG' and see if it works (after patching build_config.py)
MoO: Darloks Rule!
MoO2: Custom Darloks Rule!
MoO3: Dunno cuz I'm a cheapskate

freereign
Space Squid
Posts: 53
Joined: Wed Mar 19, 2008 4:40 pm

Re: "GL/gl.h" header not found

#30 Post by freereign » Mon Mar 24, 2008 1:29 am

kroddn wrote:
freereign wrote:I removed all my old GiGi stuff then cleaned the compile directory, reran the config, rebuilt, and reinstalled. Still not working. I also tried changing the with_gg_include to ./GG, ./GG/src ./GG/GG, /usr/local/include, and /usr/local/include/GG.
I also tried changing with_gg_libdir to ./GG, /usr/local/lib/GG, and /usr/local/lib
If you want that to work you have to patch build_support.py (i already reported that bug on sourceforge):

Code: Select all

Index: build_support.py
===================================================================
--- build_support.py    (Revision 2416)
+++ build_support.py    (Arbeitskopie)
@@ -247,6 +247,7 @@
         return True

 def CheckBoost(context, required_version, lib_tuples, conf, check_libs):
+    AppendPackagePaths('gg', context.env)
     AppendPackagePaths('boost', context.env)
     if not conf.CheckCXXHeader('boost/shared_ptr.hpp'):
         context.Message('Boost configuration... ')
the patch isn't working for me. patch gives the error:

Code: Select all

patching file build_support.py
patch: **** malformed patch at line 8: def CheckBoost(context, required_version, lib_tuples, conf, check_libs):
MoO: Darloks Rule!
MoO2: Custom Darloks Rule!
MoO3: Dunno cuz I'm a cheapskate

Post Reply