Wed Jul 8 09:43:05 CEST 2009

broken libtool 2.2.6? (OSD2 VLC works with libtool 1.5.26)

i doubt it..

something else is going on.  problem is that i don't really understand
the error message so let's figure that out first.

make[5]: Entering directory `/opt/debian-i386/opt/src/neuros/vlc/vlc-build-davinci/modules/access'

/bin/sh ../../libtool --tag=CC --mode=link arm-linux-gcc
-Wsign-compare -Wall -Os -march=armv5te
-I/opt/src/neuros/toolchains/default/target/usr/include -msoft-float
-mlittle-endian -I/opt/src/neuros/vlc/extras/contrib/include -pipe
-Wl,-z,defs -Wl,-z,defs -L/opt/src/neuros/vlc/extras/contrib/lib -o
libaccess_file_plugin.so libaccess_file_plugin.a -g -shared -lpthread
-fpic -fPIC -u vlc_entry__0_8_7neuros

libtool: link: arm-linux-gcc -Wsign-compare -Wall -Os -march=armv5te
-I/opt/src/neuros/toolchains/default/target/usr/include -msoft-float
-mlittle-endian -I/opt/src/neuros/vlc/extras/contrib/include -pipe
-Wl,-z -Wl,defs -Wl,-z -Wl,defs -o libaccess_file_plugin.so -g -fpic
-fPIC -u vlc_entry__0_8_7neuros
-L/opt/src/neuros/vlc/extras/contrib/lib libaccess_file_plugin.a

libaccess_file_plugin.a(libaccess_file_plugin_a-file.o): warning:
duplicate section `.note.gnu.arm.ident' has different contents

In function `_start': ../sysdeps/arm/elf/start.S:99: undefined
reference to `main' collect2: ld returned 1 exit status

the libtool script that's run is vlc/vlc-build-davinci/libtool

tom@zni:/opt/src/neuros/vlc/vlc-build-davinci$ ./libtool --version
ltmain.sh (GNU libtool) 2.2.6

why isn't this the same as this?

tom@zni:/opt/src/neuros/vlc/vlc-build-davinci$ libtool --version
ltmain.sh (GNU libtool) 1.5.26 Debian 1.5.26-4 (1.1220.2.493 2008/02/01 16:58:18)

first, where does the script come from?

# Generated automatically by config.status (vlc) 0.8.7
# Libtool was configured on host zni:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.

I tried a distclean in the vlc-build-davinci directory..

Let's have a look at the build script itself

1. Build VLC deps

  cd vlc/
  pushd extras/contrib
      ./bootstrap arm-linux davinci

The bootstrap file is patched in VLC git.  It says it's a bit neuros
specific.  This step seems to work after patching faad and ffmpeg.  It
_only_ outputs config.mak and distro.mak, and doesn't do anything
else.  It uses src/Distributions/davinci.mak for distro.mak while
config.mak contains variables.

This works and is independent of the main build.

2. Build VLC

  mkdir -p vlc-build-davinci/staging
  cd vlc-build-davinci

The configure-neuros.sh script is in git.

One thing i noticed: even after downgrading my libtool, it still shows
version 2.2.6 for the generated script.  What version of ltmain.sh is
used then?

Aha.  There is a directory vlc/autotools which contains ltmain.sh and
other things.  Let's remove it and regenerate it with ./bootstrap

Yes.  This seems to work.  At least it brings us to the following