pkgdata calls "./icu-config"

Bug #1024009 reported by Massimo Dal Zotto
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
icu (Ubuntu)
New
Undecided
Unassigned

Bug Description

Running pkgdata it complains that "./icu-config" is not found. However /usr/bin/icu-config is installed and if i create a symlink ./icu-config the program works as expected:

$ pkgdata -v -p bin_mkltfs -m static -q packagelist.txt
# Calling icu-config: ./icu-config --incpkgdatafile
sh: 1: ./icu-config: not found
pkgdata: icu-config: Could not read from icu-config. (fix PATH or use -O option)
 required parameter is missing: -O is required for static and shared builds.
Run 'pkgdata --help' for help.

$ ln -s /usr/bin/icu-config ./
$ pkgdata -v -p bin_mkltfs -m static -q packagelist.txt
# Calling icu-config: ./icu-config --incpkgdatafile
# icu-config said: /usr/lib/icu/4.8.1.1/pkgdata.inc
# pkgdata: Reading packagelist.txt..
# Reading options file /usr/lib/icu/4.8.1.1/pkgdata.inc
# pkgDataFlags= "-a gcc", "so", "so", "a", "lib", ".48.1.1", "gcc -D_REENTRANT -DU_ATTRIBUTE_DEPRECATED= -g -Wall -O2 -Wall -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long -c", "-I/usr/include -DPIC -fPIC", "gcc -g -Wall -O2 -Wall -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long -shared -Wl,-Bsymbolic"
# Writing package file ./bin_mkltfs.dat ..
# libFileName[LIB_FILE] = libbin_mkltfs
# libFileName[LIB_FILE_VERSION] = libbin_mkltfs.a (static)
# Generating assembly code of type -a gcc ..
pkgdata: gcc -D_REENTRANT -DU_ATTRIBUTE_DEPRECATED= -g -Wall -O2 -Wall -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long -c -I/usr/include -DPIC -fPIC -o ./bin_mkltfs_dat.o ./bin_mkltfs_dat.s
pkgdata: ar r ./libbin_mkltfs.a ./bin_mkltfs_dat.o
ar: creating ./libbin_mkltfs.a
pkgdata: ranlib ./libbin_mkltfs.a

Pkgdata should call "icu-config" without any path prefix and let the shell find automatically the program in the directories listed in the PATH variable.

The bug is not present in version 2.4.1-3 of the package.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: libicu-dev 4.8.1.1-3
ProcVersionSignature: Ubuntu 3.2.0-26.41-generic 3.2.19
Uname: Linux 3.2.0-26-generic i686
ApportVersion: 2.0.1-0ubuntu8
Architecture: i386
Date: Thu Jul 12 20:02:00 2012
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1)
ProcEnviron:
 TERM=xterm
 LC_COLLATE=C
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: icu
UpgradeStatus: Upgraded to precise on 2012-04-26 (77 days ago)

Revision history for this message
Massimo Dal Zotto (dz) wrote :
Revision history for this message
Massimo Dal Zotto (dz) wrote :

> The bug is not present in version 2.4.1-3 of the package.

Sorry, the bug is not present in version 4.2.1-3 of the package.

Revision history for this message
Steven R. Loomis (srl-icu-project) wrote : Re: [Bug 1024009] Re: pkgdata calls "./icu-config"

How is 'configure' being called, particularly, what prefix? The
"./icu-config" should actually be a full path to where ICU was installed.

Revision history for this message
Massimo Dal Zotto (dz) wrote :

There isn't any configure, I'm invoking pkgdata from the shell. The "./icu-config" path comes from some pkgdata default. The same commands works fine with libicu-4.2.1-3 but fails with libicu-4.4.2-2 and later, so I assume it is a recent libicu bug.

Revision history for this message
Massimo Dal Zotto (dz) wrote :

I found this interesting behaviour:

 $ pkgdata -v -p bin_mkltfs -m static -q packagelist.txt
# Calling icu-config: ./icu-config --incpkgdatafile
sh: 1: ./icu-config: not found
pkgdata: icu-config: Could not read from icu-config. (fix PATH or use -O option)
 required parameter is missing: -O is required for static and shared builds.
Run 'pkgdata --help' for help.

$ /usr/bin/pkgdata -v -p bin_mkltfs -m static -q packagelist.txt
# Calling icu-config: /usr/bin/icu-config --incpkgdatafile
# icu-config said: /usr/lib/icu/4.8.1.1/pkgdata.inc
# pkgdata: Reading packagelist.txt..
# Reading options file /usr/lib/icu/4.8.1.1/pkgdata.inc
# pkgDataFlags= "-a gcc", "so", "so", "a", "lib", ".48.1.1", "gcc -D_REENTRANT -DU_ATTRIBUTE_DEPRECATED= -g -Wall -O2 -Wall -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long -c", "-I/usr/include -DPIC -fPIC", "gcc -g -Wall -O2 -Wall -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long -shared -Wl,-Bsymbolic"
# Writing package file ./bin_mkltfs.dat ..
# libFileName[LIB_FILE] = libbin_mkltfs
# libFileName[LIB_FILE_VERSION] = libbin_mkltfs.a (static)
# Generating assembly code of type -a gcc ..
pkgdata: gcc -D_REENTRANT -DU_ATTRIBUTE_DEPRECATED= -g -Wall -O2 -Wall -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long -c -I/usr/include -DPIC -fPIC -o ./bin_mkltfs_dat.o ./bin_mkltfs_dat.s
pkgdata: ar r ./libbin_mkltfs.a ./bin_mkltfs_dat.o
pkgdata: ranlib ./libbin_mkltfs.a

In other words pkgdata works if invoked with the full path of the executable and fails if called only by program name, even if it is in the PATH:

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

So it is definitely a pkgdata bug.

Revision history for this message
Steven R. Loomis (srl-icu-project) wrote :
Download full text (5.1 KiB)

That does sound like a bug. if invoked w/o a path it should not assume a
path.

please file a bug upstream http://bugs.icu-project.org/trac/newticket

Also, the 'configure' i was referring to was configure when ICU was built.
but, it's moot.

-s

On Sun, Jul 15, 2012 at 10:33 AM, Massimo Dal Zotto <email address hidden> wrote:

> I found this interesting behaviour:
>
> $ pkgdata -v -p bin_mkltfs -m static -q packagelist.txt
> # Calling icu-config: ./icu-config --incpkgdatafile
> sh: 1: ./icu-config: not found
> pkgdata: icu-config: Could not read from icu-config. (fix PATH or use -O
> option)
> required parameter is missing: -O is required for static and shared
> builds.
> Run 'pkgdata --help' for help.
>
> $ /usr/bin/pkgdata -v -p bin_mkltfs -m static -q packagelist.txt
> # Calling icu-config: /usr/bin/icu-config --incpkgdatafile
> # icu-config said: /usr/lib/icu/4.8.1.1/pkgdata.inc
> # pkgdata: Reading packagelist.txt..
> # Reading options file /usr/lib/icu/4.8.1.1/pkgdata.inc
> # pkgDataFlags= "-a gcc", "so", "so", "a", "lib", ".48.1.1", "gcc
> -D_REENTRANT -DU_ATTRIBUTE_DEPRECATED= -g -Wall -O2 -Wall -ansi -pedantic
> -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings
> -Wno-long-long -c", "-I/usr/include -DPIC -fPIC", "gcc -g -Wall -O2 -Wall
> -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes
> -Wwrite-strings -Wno-long-long -shared -Wl,-Bsymbolic"
> # Writing package file ./bin_mkltfs.dat ..
> # libFileName[LIB_FILE] = libbin_mkltfs
> # libFileName[LIB_FILE_VERSION] = libbin_mkltfs.a (static)
> # Generating assembly code of type -a gcc ..
> pkgdata: gcc -D_REENTRANT -DU_ATTRIBUTE_DEPRECATED= -g -Wall -O2 -Wall
> -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes
> -Wwrite-strings -Wno-long-long -c -I/usr/include -DPIC -fPIC -o
> ./bin_mkltfs_dat.o ./bin_mkltfs_dat.s
> pkgdata: ar r ./libbin_mkltfs.a ./bin_mkltfs_dat.o
> pkgdata: ranlib ./libbin_mkltfs.a
>
> In other words pkgdata works if invoked with the full path of the
> executable and fails if called only by program name, even if it is in
> the PATH:
>
> $ echo $PATH
> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
>
> So it is definitely a pkgdata bug.
>
> --
> You received this bug notification because you are subscribed to icu in
> Ubuntu.
> https://bugs.launchpad.net/bugs/1024009
>
> Title:
> pkgdata calls "./icu-config"
>
> Status in “icu” package in Ubuntu:
> New
>
> Bug description:
> Running pkgdata it complains that "./icu-config" is not found. However
> /usr/bin/icu-config is installed and if i create a symlink ./icu-
> config the program works as expected:
>
> $ pkgdata -v -p bin_mkltfs -m static -q packagelist.txt
> # Calling icu-config: ./icu-config --incpkgdatafile
> sh: 1: ./icu-config: not found
> pkgdata: icu-config: Could not read from icu-config. (fix PATH or use -O
> option)
> required parameter is missing: -O is required for static and shared
> builds.
> Run 'pkgdata --help' for help.
>
> $ ln -s /usr/bin/icu-config ./
> $ pkgdata -v -p bin_mkltfs -m static -q packagelist.txt
> # Calling icu-config: ./icu-config --incpkgdatafile
> # icu-config said: /usr/lib/icu/4.8.1.1/...

Read more...

Revision history for this message
Steven R. Loomis (srl-icu-project) wrote :

Upstream is http://bugs.icu-project.org/trac/ticket/9426 and is in reviewing state.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.