Project

General

Profile

Build problem Ubuntu 14.04

Added by Mikael Persson over 10 years ago

When I run ./configure on Ubuntu 14.04 I fail on 2 sections:

checking for cc libiconv ... fail
fetching dvb-scan files ... fail

I have tried to figure out which package that are missing but I have not found it

Anyone that know what could be wrong?


Replies (17)

RE: Build problem Ubuntu 14.04 - Added by Peter Baumann over 10 years ago

Hi Mikael,
You can resolve this when you install the latest libiconv directly from here: http://ftp.gnu.org/gnu/libiconv/
Just do a configure && make install

It seems that the libiconv Library is not included in 14.04.

RE: Build problem Ubuntu 14.04 - Added by Mikael Persson over 10 years ago

Hi,

I tried to install it but I get the following errors:

make2: * [progname.o] Fel 1
make2: Lämnar katalogen "/usr/src/libiconv-1.14/srclib"
make1:
[all] Fel 2
make1: Lämnar katalogen "/usr/src/libiconv-1.14/srclib"
make: *
* [all] Fel 2

I run ./configure and then make.

RE: Build problem Ubuntu 14.04 - Added by Prof Yaffle over 10 years ago

I suspect the real error comes just before those messages.

RE: Build problem Ubuntu 14.04 - Added by Peter Baumann over 10 years ago

You're missing some components needed for compiling libiconv.
To see what's wrong, you need to show the full capture of the screen.

RE: Build problem Ubuntu 14.04 - Added by Gary Brown over 10 years ago

try running

sudo apt-get install libiconv-hook*

RE: Build problem Ubuntu 14.04 - Added by Mikael Persson over 10 years ago

Now I have tried:

sudo apt-get install libiconv-hook*

without success.

When I run make I get the following error:

make all-am
make2: GÃ¥r till katalogen "/usr/src/libiconv-1.14/srclib"
make3: GÃ¥r till katalogen "/usr/src/libiconv-1.14"
make3: Inget behöver göras för "am--refresh".
make3: Lämnar katalogen "/usr/src/libiconv-1.14"
gcc -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I.. -I../lib -I../intl -DDEPENDS_ON_LIBI CONV=1 -DDEPENDS_ON_LIBINTL=1 -g -O2 -c progname.c
In file included from progname.c:26:0:
./stdio.h:1010:1: error: âgetsâ undeclared here (not in a function)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
^
make2: * [progname.o] Fel 1
make2: Lämnar katalogen "/usr/src/libiconv-1.14/srclib"
make1:
[all] Fel 2
make1: Lämnar katalogen "/usr/src/libiconv-1.14/srclib"
make: *
* [all] Fel 2

RE: Build problem Ubuntu 14.04 - Added by Mikael Persson over 10 years ago

I solved this issue by removing the line:

_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");

from the file srclib/stdio.in.h

After that it compiled and I could install it.

RE: Build problem Ubuntu 14.04 - Added by Mikael Persson over 10 years ago

Now I get problem when I tried to build the debian package:

dpkg-shlibdeps: error: no dependency information found for /usr/local/lib/libiconv.so.2 (used by debian/tvheadend/usr/bin/tvheadend).

dh_shlibdeps: dpkg-shlibdeps -Tdebian/tvheadend.substvars debian/tvheadend/usr/bin/tvheadend returned exit code 2
make: *** [binary] Error 2
dpkg-buildpackage: error: debian/rules binary error exit status 2

Someone know how to solve this issue?

RE: Build problem Ubuntu 14.04 - Added by Prof Yaffle over 10 years ago

Seems to be that this error is a problem with old headers and glibc over 2.16 - and 14.04 uses 2.19 from what I can see.

Full patch here: http://www.itkb.ro/kb/linux/patch-libiconv-pentru-glibc-216

or here: https://gist.github.com/paulczar/5493708

... or just comment out the warning, as you effectively did.

From what I read, C89 demands gets is declared, but gets was dropped in C11, and thus it was dropped from glibc - so after that you're checking for a function that no longer exists, to tell users that it's a security flaw to use it. Very Joseph Heller.

RE: Build problem Ubuntu 14.04 - Added by Mikael Persson over 10 years ago

Prof Yaffle wrote:

Seems to be that this error is a problem with old headers and glibc over 2.16 - and 14.04 uses 2.19 from what I can see.

Full patch here: http://www.itkb.ro/kb/linux/patch-libiconv-pentru-glibc-216

or here: https://gist.github.com/paulczar/5493708

... or just comment out the warning, as you effectively did.

From what I read, C89 demands gets is declared, but gets was dropped in C11, and thus it was dropped from glibc - so after that you're checking for a function that no longer exists, to tell users that it's a security flaw to use it. Very Joseph Heller.

This doesn't solve the issue:

Now I get problem when I tried to build the debian package:

dpkg-shlibdeps: error: no dependency information found for /usr/local/lib/libiconv.so.2 (used by debian/tvheadend/usr/bin/tvheadend).

dh_shlibdeps: dpkg-shlibdeps -Tdebian/tvheadend.substvars debian/tvheadend/usr/bin/tvheadend returned exit code 2
make: *** [binary] Error 2
dpkg-buildpackage: error: debian/rules binary error exit status 2

or I missunderstood you?

RE: Build problem Ubuntu 14.04 - Added by Prof Yaffle over 10 years ago

Yes, our posts crossed - my message was in response to your earlier message.

Your new error looks like something's missing - you can edit the files to change the behaviour:

http://stackoverflow.com/questions/11238134/dpkg-shlibdeps-error-no-dependency-information-found-for

... but it looks like you haven't installed libiconv.so.2?

RE: Build problem Ubuntu 14.04 - Added by Mikael Persson over 10 years ago

I download libiconv-1.14 and run:

./configure
make
make install

I hope it install everything that was necessary. Could you install libiconv.so.2 seperate?

RE: Build problem Ubuntu 14.04 - Added by Mikael Persson over 10 years ago

When I run ldd /usr/bin/tvheadend it loos like:

linux-gate.so.1 =>  (0xb77a6000)
libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xb7732000)
libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xb7586000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb756b000)
liburiparser.so.1 => /usr/lib/liburiparser.so.1 (0xb754f000)
libavahi-common.so.3 => /usr/lib/i386-linux-gnu/libavahi-common.so.3 (0xb7541000)
libavahi-client.so.3 => /usr/lib/i386-linux-gnu/libavahi-client.so.3 (0xb752f000)
libavcodec.so.54 => /usr/lib/i386-linux-gnu/i686/cmov/libavcodec.so.54 (0xb699f000)
libavutil.so.52 => /usr/lib/i386-linux-gnu/i686/cmov/libavutil.so.52 (0xb6975000)
libavformat.so.54 => /usr/lib/i386-linux-gnu/i686/cmov/libavformat.so.54 (0xb6834000)
libswscale.so.2 => /usr/lib/i386-linux-gnu/i686/cmov/libswscale.so.2 (0xb67e3000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb67de000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb67c2000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb677b000)
libiconv.so.2 => /usr/local/lib/libiconv.so.2 (0xb6696000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb668d000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb64de000)
libdbus-1.so.3 => /lib/i386-linux-gnu/libdbus-1.so.3 (0xb6493000)
libxvidcore.so.4 => /usr/lib/i386-linux-gnu/libxvidcore.so.4 (0xb6362000)
libx264.so.142 => /usr/lib/i386-linux-gnu/i686/sse2/libx264.so.142 (0xb61b6000)
libvpx.so.1 => /usr/lib/i386-linux-gnu/libvpx.so.1 (0xb5fe5000)
libvorbisenc.so.2 => /usr/lib/i386-linux-gnu/libvorbisenc.so.2 (0xb5e6d000)
libvorbis.so.0 => /usr/lib/i386-linux-gnu/libvorbis.so.0 (0xb5e41000)
libtheoraenc.so.1 => /usr/lib/i386-linux-gnu/libtheoraenc.so.1 (0xb5dfb000)
libtheoradec.so.1 => /usr/lib/i386-linux-gnu/libtheoradec.so.1 (0xb5de1000)
libspeex.so.1 => /usr/lib/i386-linux-gnu/sse2/libspeex.so.1 (0xb5dbe000)
libschroedinger-1.0.so.0 => /usr/lib/i386-linux-gnu/libschroedinger-1.0.so.0 (0xb5d05000)
libopus.so.0 => /usr/lib/i386-linux-gnu/libopus.so.0 (0xb5cbe000)
libopenjpeg.so.2 => /usr/lib/i386-linux-gnu/libopenjpeg.so.2 (0xb5c9d000)
libmp3lame.so.0 => /usr/lib/i386-linux-gnu/libmp3lame.so.0 (0xb5c1f000)
libgsm.so.1 => /usr/lib/i386-linux-gnu/libgsm.so.1 (0xb5c0e000)
libva.so.1 => /usr/lib/i386-linux-gnu/libva.so.1 (0xb5bf7000)
librtmp.so.0 => /usr/lib/i386-linux-gnu/librtmp.so.0 (0xb5bdc000)
libgnutls.so.26 => /usr/lib/i386-linux-gnu/libgnutls.so.26 (0xb5b15000)
libbz2.so.1.0 => /lib/i386-linux-gnu/libbz2.so.1.0 (0xb5b03000)
/lib/ld-linux.so.2 (0xb77a7000)
libogg.so.0 => /usr/lib/i386-linux-gnu/libogg.so.0 (0xb5afa000)
liborc-0.4.so.0 => /usr/lib/i386-linux-gnu/liborc-0.4.so.0 (0xb5a6a000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb5a4c000)
libgcrypt.so.11 => /lib/i386-linux-gnu/libgcrypt.so.11 (0xb59c6000)
libtasn1.so.6 => /usr/lib/i386-linux-gnu/libtasn1.so.6 (0xb59b2000)
libp11-kit.so.0 => /usr/lib/i386-linux-gnu/libp11-kit.so.0 (0xb5976000)
libgpg-error.so.0 => /lib/i386-linux-gnu/libgpg-error.so.0 (0xb5971000)
libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xb5969000)

RE: Build problem Ubuntu 14.04 - Added by Gary Brown over 10 years ago

right I have just had to reinstall my system and theese problems did come up for me. I tried to use the source for the libiconv but it was not working with autobuild scripts.

using the "apt-get install libiconv-hook1 libiconv-hook-dev" solved that problem

with the dvb-scan failed you need to check your permissions in the tvheadend source folder. the lazy way is to "chmod -R 777 *" in the tvheadend folder.

if you've installed the source coded version of libiconv you need to go to to the source folder and run "make uninstall" before installing libiconv.

RE: Build problem Ubuntu 14.04 - Added by Mikael Persson over 10 years ago

It work to run the Autobuild script but it still fail on:

checking for cc libiconv ... fail

Did you get Ok on that?

RE: Build problem Ubuntu 14.04 - Added by Gary Brown over 10 years ago

yes. I'm not sure what is causing the problems here for you as when I tried to compile libiconv source I could compile but not build a package. have you tried fully removing libiconv (apt-get purge libiconv*) and the source version ("make uninstall" in the source directory) then installing the 2 in the repository (apt-get install libiconv-hook1 libiconv-hook-dev). see if that works.

RE: Build problem Ubuntu 14.04 - Added by Chuang Liang-Shing over 10 years ago

The libiconv seems have moved to libc, o long exits as a separated library /usr/lib in Ubuntu 14.0.
You may try my workaround as follwoing
Just modify the 'configure' and 'Makefile' by find the '-liconv' and removed the '-liconv' word.
I tried it on Ubuntu 14.04, and it works!

    (1-17/17)