icu development files not found. Adjusting PKG_CONFIG_PATH may help

You can get help here if Freeciv doesn't start on your computer, or if you keep getting fatal errors while playing etc.
Post Reply
HenriksenT
Posts: 3
Joined: Fri Oct 21, 2022 7:28 pm

icu development files not found. Adjusting PKG_CONFIG_PATH may help

Post by HenriksenT »

Hi,

I am trying to upgrade my freeciv version on my raspberry pi 4 from 2.6.3 to 3.0.4.

When I compile 3.0.4 I get this -

checking for icu-uc... no
configure: error: icu development files not found. Adjusting PKG_CONFIG_PATH may help

configure failed


Full log -

sudo ./autogen.sh --disable-nls
! nls checks disabled
+ checking for autoconf >= 2.65 ... found 2.69, ok.
+ checking for autoheader >= 2.65 ... found 2.69, ok.
+ checking for automake >= 1.13 ... found 1.16.3, ok.
+ checking for aclocal >= 1.13 ... found 1.16.3, ok.
+ checking for libtoolize >= 2.2 ... found 2.4.6, ok.
+ checking for python3 ... found 3.9.2, ok.
+ running aclocal ...
+ running autoheader ...
+ running libtoolize ...
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'bootstrap'.
libtoolize: copying file 'bootstrap/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
+ running aclocal for libtool installed files...
+ running autoconf ...
+ running automake ...
configure.ac:16: installing 'bootstrap/compile'
configure.ac:81: installing 'bootstrap/missing'
ai/Makefile.am: installing 'bootstrap/depcomp'
+ removing config.cache ...
+ running configure ...

using: --disable-nls

checking build system type... aarch64-unknown-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether byte ordering is bigendian... no
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports the include directive... yes (GNU style)
checking whether make supports nested variables... yes
checking dependency style of gcc... gcc3
checking whether make supports nested variables... (cached) yes
checking for a sed that does not truncate output... /usr/bin/sed
checking can we call malloc(0)... yes
checking for sys/types.h... (cached) yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking for getaddrinfo... yes
checking for inet_pton... yes
checking for inet_ntop... yes
checking for getnameinfo... yes
checking for AF_INET6... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for MagickWand... no
checking for MagickWand-config in default path... no
checking for gawk... (cached) mawk
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking how to run the C preprocessor... gcc -E
checking whether ln -s works... yes
checking for ar... ar
checking the archiver (ar) interface... ar
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking the maximum length of command line arguments... 1572864
checking how to convert aarch64-unknown-linux-gnu file names to aarch64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert aarch64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether C++ compiler works... yes
checking whether preprocessor token concenation works... yes
checking for uname... uname
checking size of int... 4
checking whether make sets $(MAKE)... (cached) yes
checking for ld... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking 32-bit host C ABI... no
checking for ELF binary format... yes
checking for the common suffixes of directories in the library search path... lib,lib,lib
checking for iconv... yes
checking for working iconv... yes
checking whether iconv is compatible with its POSIX signature... yes
checking for libcharset... no
checking for nl_langinfo and CODESET... yes
checking whether NLS is requested... no
checking for msgfmt... no
checking for gmsgfmt... :
checking for xgettext... no
checking for msgmerge... no
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyPreferredLanguages... no
checking whether to use NLS... no
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for libcurl >= 7.15.4... yes
checking for icu-uc... no
configure: error: icu development files not found. Adjusting PKG_CONFIG_PATH may help

configure failed




I never had to compile before, so I might not be 100% sure where to look for the above.



Hope someone can help.


Thanks



Best Regards

Torben
cazfi
Elite
Posts: 3077
Joined: Tue Jan 29, 2013 6:54 pm

Re: icu development files not found. Adjusting PKG_CONFIG_PATH may help

Post by cazfi »

HenriksenT wrote: Fri Oct 21, 2022 7:33 pm on my raspberry pi 4
Raspbian? In that case the package containing icu development files is likely called "libicu-dev", like in Debian.
cazfi
Elite
Posts: 3077
Joined: Tue Jan 29, 2013 6:54 pm

Re: icu development files not found. Adjusting PKG_CONFIG_PATH may help

Post by cazfi »

HenriksenT wrote: Fri Oct 21, 2022 7:33 pmsudo ./autogen.sh --disable-nls
In general, you should not build as root (using 'sudo'). Only if you want to do the installation to system directories (which I don't really recommend either - leave those for the package manager to maintain, and install self-built stuff under custom prefix, e.g., under your home directory, instead) you need to use 'sudo make install' as the final step.
HenriksenT
Posts: 3
Joined: Fri Oct 21, 2022 7:28 pm

Re: icu development files not found. Adjusting PKG_CONFIG_PATH may help

Post by HenriksenT »

Thanks cazfi,

I have to run sudo, otherwise I get -

viktor@raspberrypi:~/Downloads/freeciv-3.0.4 $ ./autogen.sh --disable-nls
! nls checks disabled
+ checking for autoconf >= 2.65 ... found 2.69, ok.
+ checking for autoheader >= 2.65 ... found 2.69, ok.
+ checking for automake >= 1.13 ... found 1.16.3, ok.
+ checking for aclocal >= 1.13 ... found 1.16.3, ok.
+ checking for libtoolize >= 2.2 ... found 2.4.6, ok.
+ checking for python3 ... found 3.9.2, ok.
+ running aclocal ...
autom4te: cannot open autom4te.cache/requests: Permission denied
aclocal: error: autom4te failed with exit status: 1

aclocal failed - check that all needed development files are present on system


I am now getting another error -

checking for SDL - version >= 1.0.0... no
*** The sdl-config script installed by SDL could not be found
*** If SDL was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the SDL_CONFIG environment variable to the
*** full path to sdl-config.
configure: checking for which client to compile:...
checking for gtk+-3.0 >= 3.22.0... no
checking for gtk+-3.0 >= 3.10.0... no
checking Qt5 headers... not found
checking for sdl2 >= 2.0.0... yes
checking for IMG_Load in -lSDL2_image... yes
checking SDL2/SDL_image.h usability... yes
checking SDL2/SDL_image.h presence... yes
checking for SDL2/SDL_image.h... yes
checking for TTF_OpenFont in -lSDL2_ttf... no
configure: error: can not build any of the supported clients

configure failed



I install SDL2_ttf-2.0.15 and did the ./configure , but still I get the above



Hope you can help with that too :)


Thanks
cazfi
Elite
Posts: 3077
Joined: Tue Jan 29, 2013 6:54 pm

Re: icu development files not found. Adjusting PKG_CONFIG_PATH may help

Post by cazfi »

HenriksenT wrote: Sun Oct 23, 2022 3:29 pmI have to run sudo, otherwise I get -

...

autom4te: cannot open autom4te.cache/requests: Permission denied
That's after you've already run with 'sudo' in the past, creating files under root (and not your own) ownership, I presume.
You'd need to run 'chown -R' under sudo to give everything to yourself.
HenriksenT wrote: Sun Oct 23, 2022 3:29 pmI install SDL2_ttf-2.0.15 and did the ./configure , but still I get the above
In general Debian & derivatives have packages to be used when running the program in one package, and additional things required at compile time in packages usually named as "...-dev". To build against libsdl2-ttf, you want libsdl2-ttf-dev.

However, is SDL2-client the one you want? As you define no client in the configure (or in this case: ./autogen.sh) line, it checks requirements for each of them in preferred order to find one for which you would have requirements for. Seems that you can't build any of the clients, not even the SDL2-client tested last when everything else had already failed.
checking for gtk+-3.0 >= 3.22.0... no
checking for gtk+-3.0 >= 3.10.0... no
checking Qt5 headers... not found
...
checking for TTF_OpenFont in -lSDL2_ttf... no
If you want to use raspi as a server only, you probably want completely disable build of clients, modpack installers, ruledit from the configure (autogen.sh) line. See './configure --help'
HenriksenT
Posts: 3
Joined: Fri Oct 21, 2022 7:28 pm

Re: icu development files not found. Adjusting PKG_CONFIG_PATH may help

Post by HenriksenT »

Thanks for your help,

I think this is a bit over my head :) , I will need to wait for the version to be part of raspbian to I can install it through there.

Thanks again for your time
Post Reply