Mailinglist Archive: opensuse-buildservice (151 mails)

< Previous Next >
[opensuse-buildservice] linking with X11 in OBS
  • From: Roger Oberholtzer <roger@xxxxxx>
  • Date: Mon, 10 Mar 2014 13:25:48 +0100
  • Message-id: <45006336.to5ZleSUOX@acme>
Hi,

I am trying to compile a Tcl/Tk extension that uses X11. I can successfully
compile it on my local machine (direct - not in a local OBS) and it compiles
just fine. I use the same commands I see in the OBS log. Oddly, when the
application is being linked in OBS, it complains about some missing functions
that I really think should be resolved. Especially since the same command
works on my system.

For example:


gcc -DPACKAGE_NAME=\"TkXext\" -DPACKAGE_TARNAME=\"tkxext\" -
DPACKAGE_VERSION=\"3.6.13\" -DPACKAGE_STRING=\"TkXext\ 3.6.13\" -
DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DBUILD_TkXext=/\*\*/ -
DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -
DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -
DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -
DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -
DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -
DHAVE_NO_SEH=1 -DEXCEPTION_DISPOSITION=int -DHAVE_CAST_TO_UNION=1 -
D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -
DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DUSE_TCL_STUBS=1 -
DUSE_TK_STUBS=1 -DPIC -I"/usr/include" -I"/usr/include" -pipe -O2 -fomit-
frame-pointer -DNDEBUG -Wall -fPIC -lX11 -L/usr/lib -ltclstub8.5 -L/usr/lib
-ltkstub8.5 -lXext -lXtst `echo ./unix/TkXext.record.c` -o txerecord

[ 74s] ./unix/TkXext.record.c: In function 'main':
[ 74s] ./unix/TkXext.record.c:131:9: warning: variable 'w' set but not used
[-Wunused-but-set-variable]
[ 74s] /tmp/ccofzMaU.o: In function `.L30':
[ 74s] TkXext.record.c:(.text+0x26a): undefined reference to
`XkbKeycodeToKeysym'
[ 74s] /tmp/ccofzMaU.o: In function `.L27':
[ 74s] TkXext.record.c:(.text+0x289): undefined reference to
`XRecordFreeData'
[ 74s] /tmp/ccofzMaU.o: In function `main':
[ 74s] TkXext.record.c:(.text.startup+0x3a): undefined reference to
`XOpenDisplay'
[ 74s] TkXext.record.c:(.text.startup+0x54): undefined reference to
`XSynchronize'
[ 74s] TkXext.record.c:(.text.startup+0x6c): undefined reference to
`XRecordQueryVersion'
[ 74s] TkXext.record.c:(.text.startup+0x79): undefined reference to
`XRecordAllocRange'
[ 74s] TkXext.record.c:(.text.startup+0xbd): undefined reference to
`XRecordCreateContext'
[ 74s] TkXext.record.c:(.text.startup+0xcd): undefined reference to
`XOpenDisplay'
[ 74s] TkXext.record.c:(.text.startup+0xdb): undefined reference to `XFlush'
[ 74s] TkXext.record.c:(.text.startup+0xe3): undefined reference to `XFlush'
[ 74s] TkXext.record.c:(.text.startup+0x101): undefined reference to
`XRecordEnableContext'

Shouldn't XOpenDisplay and the others have been resolved by -lX11

My spec file says:

BuildRequires: xorg-x11-devel tcl tcl-devel tk-devel libXext-devel

which I would think would cover it. I am not getting a message that a library
cannot be found.

It you are curious, the extension is:

https://build.opensuse.org/package/show/home:rogeroberholtzer/TkXext

--
Yours sincerely,

Roger Oberholtzer

Ramböll RST / Systems

Office: Int +46 10-615 60 20
Mobile: Int +46 70-815 1696
roger.oberholtzer@xxxxxxxxxx
________________________________________

Ramböll Sverige AB
Krukmakargatan 21
P.O. Box 17009
SE-104 62 Stockholm, Sweden
www.rambollrst.se
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups