Skip to contentSkip to conversation

xterm: force detection of libICE

PATCH New kyak 3 participants 8 messages Jul 24, 2015 – Jul 26, 2015

lore
Share & tools
lore

kyak

author
#0 lore raw

PATCH 1/1 xterm: force detection of libICE

With some hosts, xterm configure script fails to detect presence of libICE. This results in error during xterm linking stage, because -lICE is not passed to linker. This patches forces configure script to detect libICE.

---
 package/xterm/xterm.mk | 1 +
 1 file changed, 1 insertion(+)
package/xterm/xterm.mk +1 -0
index 56f692d..dd07e35 100644
@@ -11,5 +11,6 @@ XTERM_DEPENDENCIES = ncurses xlib_libXaw
 XTERM_LICENSE = MIT
 XTERM_LICENSE_FILES = version.c
 XTERM_CONF_OPTS = --enable-256-color
+XTERM_CONF_ENV = ac_cv_lib_ICE_IceConnectionNumber=yes
 
 $(eval $(autotools-package))
Signature · 1 line
2.4.6
#1 lore raw

PATCH 1/1 xterm: force detection of libICE

Mikhail, All,

On 2015-07-24 17:54 +0300, kyak spake thusly:

Quoted 4 lines

With some hosts, xterm configure script fails to detect presence of libICE. This results in error during xterm linking stage, because -lICE is not passed to linker. This patches forces configure script to detect libICE.

Could you share the error message you get, with some mor einfo about your host that exhibit the issue, please?

Also, a defconfig to reproduce the build would be helpful! ;-)

Regards,
Yann E. MORIN.

Quoted 23 lines
---
 package/xterm/xterm.mk | 1 +
 1 file changed, 1 insertion(+)
package/xterm/xterm.mk +1 -0
index 56f692d..dd07e35 100644
@@ -11,5 +11,6 @@ XTERM_DEPENDENCIES = ncurses xlib_libXaw
 XTERM_LICENSE = MIT
 XTERM_LICENSE_FILES = version.c
 XTERM_CONF_OPTS = --enable-256-color
+XTERM_CONF_ENV = ac_cv_lib_ICE_IceConnectionNumber=yes
 
 $(eval $(autotools-package))
Signature · 6 lines
2.4.6

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
author
#2 lore raw

PATCH 1/1 xterm: force detection of libICE

Hi Yann,

I get the following error:

Quoted 1 line
Quoted 1 line
Quoted 1 line

xterm 314 Building

PATH="/home/user/build/buildroot/output/host/bin:/home/user/build/buildroot/output/host/sbin:/home/user/build/buildroot/output/host/usr/bin:/home/user/build/buildroot/output/host/usr/sbin:/home/user/perl5/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/android-sdk/platform-tools:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/user/bin" /usr/bin/make -j9 -C /home/user/build/buildroot/output/build/xterm-314/
make[1]: Entering directory
'/home/user/build/buildroot/output/build/xterm-314'
/bin/sh ./plink.sh
/home/user/build/buildroot/output/host/usr/bin/i686-buildroot-linux-gnu-gcc
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os
-Wl,-rpath,/home/user/build/buildroot/output/host/usr/i686-buildroot-linux-gnu/sysroot/usr/lib
-o xterm button.o cachedGCs.o charproc.o charsets.o cursor.o data.o
doublechr.o fontutils.o input.o linedata.o main.o menu.o misc.o print.o
ptydata.o scrollback.o screen.o scrollbar.o tabs.o util.o version.o
xstrings.o xtermcap.o VTPrsTbl.o TekPrsTbl.o Tekproc.o charclass.o
precompose.o wcwidth.o
-L/home/user/build/buildroot/output/host/usr/i686-buildroot-linux-gnu/sysroot/usr/lib
-lXft -lfontconfig
-L/home/user/build/buildroot/output/host/usr/i686-buildroot-linux-gnu/sysroot/usr/lib
-lfreetype -lutil -lXaw7 -lXmu -lXt -lX11 -lncurses
testing if -lXft is needed
...yes
testing if -lfontconfig is needed
...yes
testing if -lfreetype is needed
...yes
testing if -lutil is needed
...yes
testing if -lXaw7 is needed
...yes
testing if -lXmu is needed
...yes
testing if -lXt is needed
...yes
testing if -lX11 is needed
...yes
testing if -lncurses is needed
...yes
/home/user/build/buildroot/output/host/usr/lib/gcc/i686-buildroot-linux-gnu/4.9.3/../../../../i686-buildroot-linux-gnu/bin/ld:
misc.o: undefined reference to symbol 'IceConnectionNumber'
/home/user/build/buildroot/output/host/usr/i686-buildroot-linux-gnu/sysroot/usr/lib/libICE.so.6:
error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:178: recipe for target 'xterm' failed
make[1]: *** [xterm] Error 1
make[1]: Leaving directory
'/home/user/build/buildroot/output/build/xterm-314'
package/pkg-generic.mk:156: recipe for target
'/home/user/build/buildroot/output/build/xterm-314/.stamp_built' failed
make: *** [/home/user/build/buildroot/output/build/xterm-314/.stamp_built]
Error 2

I'm running current Arch Linux.
I don't have a defconfig, but here is the current config:
http://paste.pound-python.org/show/7ptuA3j9NutxLmAjGxgM/

Quoted 48 lines · Yann E. MORIN

Mikhail, All,

On 2015-07-24 17:54 +0300, kyak spake thusly:

Quoted 4 lines

With some hosts, xterm configure script fails to detect presence of libICE. This results in error during xterm linking stage, because -lICE is not passed to linker. This patches forces configure script to detect libICE.

Could you share the error message you get, with some mor einfo about your host that exhibit the issue, please?

Also, a defconfig to reproduce the build would be helpful! ;-)

Regards,
Yann E. MORIN.

Quoted 23 lines
---
 package/xterm/xterm.mk | 1 +
 1 file changed, 1 insertion(+)
package/xterm/xterm.mk +1 -1
index 56f692d..dd07e35 100644
@@ -11,5 +11,6 @@ XTERM_DEPENDENCIES = ncurses xlib_libXaw
 XTERM_LICENSE = MIT
 XTERM_LICENSE_FILES = version.c
 XTERM_CONF_OPTS = --enable-256-color
+XTERM_CONF_ENV = ac_cv_lib_ICE_IceConnectionNumber=yes
 
 $(eval $(autotools-package))
--

2.4.6

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH 1/1 xterm: force detection of libICE

Mikhail, All,

On 2015-07-26 10:55 +0300, kyak spake thusly:

Quoted 3 lines

I get the following error:

Quoted 1 line
Quoted 1 line
Quoted 1 line

xterm 314 Building

It would have been more useful to also see the output of the configuring part, too.

Also, can you look at output/build/xterm-314/config.log why it does not find libICE?

Otherwise, I'm not able to reproduce this error with your .config... ;-/

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
author
#4 lore raw

PATCH 1/1 xterm: force detection of libICE

Hi Yann,

Sure, i should've attached this information in the first place. After all, i too used it for debugging of this problem.

Full build log: http://paste.pound-python.org/show/dQ2gfhqx7aQMHAQlRVfK/

config.log: http://paste.pound-python.org/show/EsWJPVSwSaYKN2S0UYJH/

Basically, when configure tests for libICE, it attempts to use host search path looking for IceConnectionNumber symbol:

"warning: library search path "/usr/lib64" is unsafe for cross-compilation"

Quoted 26 lines · Yann E. MORIN

Mikhail, All,

On 2015-07-26 10:55 +0300, kyak spake thusly:

Quoted 3 lines

I get the following error:

Quoted 1 line
Quoted 1 line
Quoted 1 line

xterm 314 Building

It would have been more useful to also see the output of the configuring part, too.

Also, can you look at output/build/xterm-314/config.log why it does not find libICE?

Otherwise, I'm not able to reproduce this error with your .config... ;-/

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#5 lore raw

PATCH 1/1 xterm: force detection of libICE

Mikhail, All,

[Please, do not top-post]

On 2015-07-26 18:49 +0300, kyak spake thusly:

Quoted 11 lines

Sure, i should've attached this information in the first place. After all, i too used it for debugging of this problem.

Full build log: http://paste.pound-python.org/show/dQ2gfhqx7aQMHAQlRVfK/

config.log: http://paste.pound-python.org/show/EsWJPVSwSaYKN2S0UYJH/

Basically, when configure tests for libICE, it attempts to use host search path looking for IceConnectionNumber symbol:

"warning: library search path "/usr/lib64" is unsafe for cross-compilation"

Ah, but then that's what we must fix, instead of forcing detectin of libICE. So, I'm marking your patch as "Changes Requested" in Patchwork.

Unfortunately, I can't reproduce that leakage on my setup... :-(

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#6 lore raw

PATCH 1/1 xterm: force detection of libICE

Hi, Mikhail, Yann, All,

Le 26/07/2015 18:13, Yann E. MORIN a ?crit :

Quoted 15 lines

Mikhail, All,

[Please, do not top-post]

On 2015-07-26 18:49 +0300, kyak spake thusly:

Quoted 10 lines

Sure, i should've attached this information in the first place. After all, i too used it for debugging of this problem.

Full build log: http://paste.pound-python.org/show/dQ2gfhqx7aQMHAQlRVfK/

config.log: http://paste.pound-python.org/show/EsWJPVSwSaYKN2S0UYJH/

Basically, when configure tests for libICE, it attempts to use host search path looking for IceConnectionNumber symbol:

Quoted 6 lines
Quoted 1 line

"warning: library search path "/usr/lib64" is unsafe for cross-compilation"

Ah, but then that's what we must fix, instead of forcing detectin of libICE. So, I'm marking your patch as "Changes Requested" in Patchwork.

Unfortunately, I can't reproduce that leakage on my setup... :-(

Me neither but I made a diff between your build.log and mine:

Yours:
checking for X... libraries /usr/lib64, headers
Mine:
checking for X... libraries , headers

I recommends you to add --x-includes and --x-libraries in xterm.mk:

./configure --help
X features:
--x-includes=DIR X include files are in DIR
--x-libraries=DIR X library files are in DIR

like we did for libecore package:
http://git.buildroot.net/buildroot/commit/?id=0d9d8984a9240a27f5ed2e15f1977ada67266906

Also it seems that a dependency on freetype is missing

Mine:
freetype-config... /usr/bin/freetype-config
Yours:
checking for FreeType config... /home/user/build/buildroot/output/host/usr/bin/pkg-config xft

but even with freetype builded before xterm, it still use /usr/bin/freetype-config... Also, I guess that you don't have freetype installed on your host.

./configure --help

  --disable-freetype      disable freetype library-support
  --with-freetype-config  configure script to use for FreeType
  --with-freetype-cflags  -D/-I options for compiling with FreeType
  --with-freetype-libs    -L/-l options to link FreeType

So, the xterm package seems incomplete in Buildroot and your initial patch is not correct.
Can you rework this package by adding (at least) X features options and freetype options in xterm.mk?

Thanks for your report!

Best regards,
Romain Naour

Quoted 4 lines

Regards,
Yann E. MORIN.

author
#7 lore raw

PATCH 1/1 xterm: force detection of libICE

Hi Romain,

It's really great you provided this diff with your setup. I hope the patch makes sense now.

Thank you!