Hallo Thomas,
das macht natürlich Sinn, ich hatte inzwischen auch den Verdacht daß amavutils da mit herein muß, weil die Implementierung auf die das fehlende Symbol hinweist daher kommt. Amadec hatte sich der Linker über amcodec auch so 'reingezogen. Trotzdem, ich habe nun die Flags genau so, explizit in Dein Makefile hereingepatcht (sieht man weiter unten) und beim Linken macht es immer noch keinen Unterschied, erzeugt wird ein gleich großes, mit ldd auf dem Zielsystem nachweislich mit den gleichen Abhängigkeiten wie schon gestern gepostet, und ich habe es ganz sicher richtig hinkopiert, sieht man am Datum und binär gab es doch Unterschiede, nur in der Größe nicht. So sieht der Output beim Bauen aus (ganz am Schluß in letzter Zeile die Linker-Flags):
devjoe@Gen2Dev /mnt/SrcTmp/OpenELEC.tv $ PROJECT=WeTek_Play ARCH=arm ./scripts/build vdr-plugin-amlhddevice
UNPACK vdr-plugin-amlhddevice
APPLY PATCH (common) /mnt/SrcTmp/OpenELEC.tv/packages/addons/depends/multimedia/vdr-plugin-amlhddevice/patches/vdr-plugin-amlhddevice-01_libamcodec-package-fix.patch
patching file Makefile
BUILD vdr-plugin-amlhddevice (target)
/mnt/SrcTmp/OpenELEC.tv/build.OpenELEC-WeTek_Play.arm-7.0-devel/toolchain/bin/armv7a-openelec-linux-gnueabi-g++ -march=armv7-a -mabi=aapcs-linux -Wno-psabi -Wa,-mno-warn-deprecated -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon-fp16 -fomit-frame-pointer -Wall -pipe -Os -fexcess-precision=fast -flto -ffat-lto-objects -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"amlhddevice"' -I/mnt/SrcTmp/OpenELEC.tv/build.OpenELEC-WeTek_Play.arm-7.0-devel/toolchain/armv7a-openelec-linux-gnueabi/sysroot/usr/include/amcodec -o amlhddevice.o amlhddevice.c
In file included from /mnt/SrcTmp/OpenELEC.tv/build.OpenELEC-WeTek_Play.arm-7.0-devel/toolchain/armv7a-openelec-linux-gnueabi/sysroot/usr/include/amcodec/codec_type.h:17:0,
from /mnt/SrcTmp/OpenELEC.tv/build.OpenELEC-WeTek_Play.arm-7.0-devel/toolchain/armv7a-openelec-linux-gnueabi/sysroot/usr/include/amcodec/codec.h:15,
from amldevice.h:14,
from amlhddevice.c:9:
/mnt/SrcTmp/OpenELEC.tv/build.OpenELEC-WeTek_Play.arm-7.0-devel/toolchain/armv7a-openelec-linux-gnueabi/sysroot/usr/include/amcodec/amports/aformat.h:80:35: warning: backslash and newline separated by space
||(afmt == AFORMAT_EAC3) \
^
/mnt/SrcTmp/OpenELEC.tv/build.OpenELEC-WeTek_Play.arm-7.0-devel/toolchain/bin/armv7a-openelec-linux-gnueabi-g++ -march=armv7-a -mabi=aapcs-linux -Wno-psabi -Wa,-mno-warn-deprecated -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon-fp16 -fomit-frame-pointer -Wall -pipe -Os -fexcess-precision=fast -flto -ffat-lto-objects -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"amlhddevice"' -I/mnt/SrcTmp/OpenELEC.tv/build.OpenELEC-WeTek_Play.arm-7.0-devel/toolchain/armv7a-openelec-linux-gnueabi/sysroot/usr/include/amcodec -o amldevice.o amldevice.c
In file included from /mnt/SrcTmp/OpenELEC.tv/build.OpenELEC-WeTek_Play.arm-7.0-devel/toolchain/armv7a-openelec-linux-gnueabi/sysroot/usr/include/amcodec/codec_type.h:17:0,
from /mnt/SrcTmp/OpenELEC.tv/build.OpenELEC-WeTek_Play.arm-7.0-devel/toolchain/armv7a-openelec-linux-gnueabi/sysroot/usr/include/amcodec/codec.h:15,
from amldevice.h:14,
from amldevice.c:11:
/mnt/SrcTmp/OpenELEC.tv/build.OpenELEC-WeTek_Play.arm-7.0-devel/toolchain/armv7a-openelec-linux-gnueabi/sysroot/usr/include/amcodec/amports/aformat.h:80:35: warning: backslash and newline separated by space
||(afmt == AFORMAT_EAC3) \
^
/mnt/SrcTmp/OpenELEC.tv/build.OpenELEC-WeTek_Play.arm-7.0-devel/toolchain/bin/armv7a-openelec-linux-gnueabi-g++ -march=armv7-a -mabi=aapcs-linux -Wno-psabi -Wa,-mno-warn-deprecated -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon-fp16 -fomit-frame-pointer -Wall -pipe -Os -fexcess-precision=fast -flto -ffat-lto-objects -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"amlhddevice"' -I/mnt/SrcTmp/OpenELEC.tv/build.OpenELEC-WeTek_Play.arm-7.0-devel/toolchain/armv7a-openelec-linux-gnueabi/sysroot/usr/include/amcodec -o fbosd.o fbosd.c
/mnt/SrcTmp/OpenELEC.tv/build.OpenELEC-WeTek_Play.arm-7.0-devel/toolchain/bin/armv7a-openelec-linux-gnueabi-g++ -march=armv7-a -mabi=aapcs-linux -Wno-psabi -Wa,-mno-warn-deprecated -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon-fp16 -fomit-frame-pointer -Wall -pipe -Os -fexcess-precision=fast -flto -ffat-lto-objects -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"amlhddevice"' -I/mnt/SrcTmp/OpenELEC.tv/build.OpenELEC-WeTek_Play.arm-7.0-devel/toolchain/armv7a-openelec-linux-gnueabi/sysroot/usr/include/amcodec -o tools.o tools.c
/mnt/SrcTmp/OpenELEC.tv/build.OpenELEC-WeTek_Play.arm-7.0-devel/toolchain/bin/armv7a-openelec-linux-gnueabi-g++ -march=armv7-a -mabi=aapcs-linux -Wno-psabi -Wa,-mno-warn-deprecated -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon-fp16 -fomit-frame-pointer -Wall -pipe -Os -fexcess-precision=fast -flto -ffat-lto-objects -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -march=armv7-a -mtune=cortex-a9 -s -Wl,--as-needed -fuse-ld=gold -fuse-linker-plugin -flto -shared amlhddevice.o amldevice.o fbosd.o tools.o -lamavutils -lamadec -lamcodec -o libvdr-amlhddevice.so
devjoe@Gen2Dev /mnt/SrcTmp/OpenELEC.tv $
Alles anzeigen
Das dabei erzeugte libvdr-amlhddevice.so.2.2.0 "will" selber nach wie vor nur libamcodec.so, und nur darüber, und nicht unmittelbar libamadec.so. Von libamavutils.so nach wie vor keine Rede. Wird denn da beim Linken zu viel weg-optimiert, kann man es noch durch andere Flags beeinflussen (deswegen postete ich nun den kompletten Output)?
Gruss,
Lucian