Complete.Org: Mailing Lists: Archives: freeciv-dev: April 2004:
[Freeciv-Dev] Failing to link with a QPE client -- any hints?
Home

[Freeciv-Dev] Failing to link with a QPE client -- any hints?

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Failing to link with a QPE client -- any hints?
From: Frederic Briere <fbriere@xxxxxxxxxxx>
Date: Mon, 19 Apr 2004 02:53:17 -0400

Hi guys!

I'm trying to get Rob Fisher's Zaurus Freeciv client [1] to compile
cleanly with the current Freeciv tree.  (The original version builds
on 1.12 beta and overwrites the Makefiles.)  I figure there's not much
hope of anybody picking up its development until this is done.

[1] http://www.robfisher.net/zaurus/freeciv.html

I think I'm almost there, but there's this one error which I just can't
understand, and I was hoping that someone could shed some light on it:

  make[1]: Entering directory `/freeciv-1.14.1/client'
  gcc  -g -O2 -Wall   -o civclient     attribute.o citydlg_common.o 
cityrepdata.o civclient.o chatline_common.o climisc.o clinet.o control.o goto.o 
helpdata.o mapctrl_common.o mapview_common.o messagewin_common.o packhand.o 
plrdlg_common.o options.o repodlgs_common.o tilespec.o audio.o audio_none.o 
gui-qpe/libguiclient.a ../common/libcivcommon.a gui-qpe/libguiclient.a 
../common/libcivcommon.a -L/usr/share/qte2/lib -lqte -lqpe agents/libagents.a 
-L/usr/share/qte2/lib -lqte -lqpe  
  agents/libagents.a(agents.o)(.text+0x4aa): In function `agents_free':
  /freeciv-1.14.1/client/agents/agents.c:327: undefined reference to 
`free_timer'
  agents/libagents.a(agents.o)(.text+0x515): In function `register_agent':
  /freeciv-1.14.1/client/agents/agents.c:346: undefined reference to `new_timer'
  agents/libagents.a(agents.o)(.text+0x9be): In function `wait_for_requests':
  /freeciv-1.14.1/client/agents/agents.c:636: undefined reference to 
`start_timer'
  
agents/libagents.a(agents.o)(.text+0x9d3):/freeciv-1.14.1/client/agents/agents.c:638:
 undefined reference to `stop_timer'
  agents/libagents.a(cma_core.o)(.text+0x2b2b): In function `cma_init':
  /freeciv-1.14.1/client/agents/cma_core.c:1900: undefined reference to 
`new_timer'
  agents/libagents.a(cma_core.o)(.text+0x2b8f): In function `cma_free':
  /freeciv-1.14.1/client/agents/cma_core.c:1917: undefined reference to 
`free_timer'
  agents/libagents.a(cma_core.o)(.text+0x2bef): In function `cma_query_result':
  /freeciv-1.14.1/client/agents/cma_core.c:1941: undefined reference to 
`start_timer'
  
agents/libagents.a(cma_core.o)(.text+0x2c15):/freeciv-1.14.1/client/agents/cma_core.c:1943:
 undefined reference to `stop_timer'
  collect2: ld returned 1 exit status


What's got me stumped is that all timer functions are actually there in
libcivcommon.a; it seems that linking against gui-qpe/libguiclient.a
(the client I'm trying to merge in) somehow prevents the linker from
seeing the timer functions.  I checked, and there are no functions with
the same name in the gui-qpe tree.

I thought it might be a problem with my version of automake/autoconf,
but the xaw client still links correctly after I remake the Makefiles.

I also thought there might be a conflict with the QT/Opie libraries, but
even when I don't link them in, I still get these errors (and a
gazillion more, of course).

Mixing C and C++ has a tendency of bringing up weird bugs, but I can't
understand how the gui-qpe code can prevent two other libraries from
linking to each other.

Could the fact that struct timer is not defined (only declared) in
timing.h have something to do with this?  

Anybody has any ideas?  I'm at the end of my rope...


-- 
             Frederic Briere    <*>    fbriere@xxxxxxxxxxx

 =>  <fbriere@xxxxxxxxxx> IS NO MORE:  <http://www.abacomsucks.com>  <=


[Prev in Thread] Current Thread [Next in Thread]