SayIT
Software => Sisteme *NIX => Topic started by: ~Empathy~ on 11 February 2007, 17:47
Se pare ca nu imi merge deloc flash 9 in FreeBSD, indiferent daca folosesc Opera de Linux sau Opera de FreeBSD. Opera zice:
% opera -debugplugin
...
operapluginwrapper: [plugin failed ] /usr/local/lib/npapi/symlinks/linux-opera/libflashplayer.so, /usr/local/lib/npap
i/symlinks/linux-opera/libflashplayer.so: ELF file OS ABI invalid
Nu merge nici cu Opera de FreeBSD, nici cu Opera de Linux. Binarul de FreeBSD este:
% readelf -h /usr/local/share/opera/bin/opera
ELF Header:
Magic: 7f 45 4c 46 01 01 01 09 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - FreeBSD
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x805e5e8
Start of program headers: 52 (bytes into file)
Start of section headers: 9387432 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 5
Size of section headers: 40 (bytes)
Number of section headers: 23
Section header string table index: 22
si cel de linux:
% readelf -h /usr/local/share/linux-opera/bin/opera
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x80504f0
Start of program headers: 52 (bytes into file)
Start of section headers: 14177032 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 6
Size of section headers: 40 (bytes)
Number of section headers: 26
Section header string table index: 25
A se observa ca binarul de Linux nu este Linux(3) branded, ci este SVR4(0) branded.
Pe noi ne intereseaza operapluginwrapper. operapluginwrapper este un wrapper folosit pentru incarcarea pluginurilor incepand de la versiunea Opera 9.10.
readelf -h /usr/local/share/opera/bin/operapluginwrapper
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x804e950
Start of program headers: 52 (bytes into file)
Start of section headers: 109480 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 6
Size of section headers: 40 (bytes)
Number of section headers: 26
Section header string table index: 25
Pluginul flash 9 este:
% readelf -h /usr/local/lib/npapi/linux-flashplugin/libflashplayer.so
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x21fb0
Start of program headers: 52 (bytes into file)
Start of section headers: 7039000 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 6
Size of section headers: 40 (bytes)
Number of section headers: 27
Section header string table index: 26
Pare a fi in concordanta cu operapluginwrapper.
Pluginul pentru flash 7 (care merge atat in versiuna de Linux, cat si in versiunea de FreeBSD) este:
% readelf -h /usr/local/lib/npapi/linux-flashplugin/libflashplayer.so
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x67f30
Start of program headers: 52 (bytes into file)
Start of section headers: 2157864 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 5
Size of section headers: 40 (bytes)
Number of section headers: 25
Section header string table index: 24
Este la fel cu flash 9, care nu merge.
M-am gandit sa rebranduiesc biblioteca flash 9, sa vad ce se intampla.
# brandelf -t FreeBSD lib/usr/local/lib/npapi/linux-flashplugin/flashplayer.so
% opera -debugplugin
operapluginwrapper: [plugin failed ] /usr/local/share/opera/plugins/libnpp.so, /usr/local/share/opera/plugins/libnpp.
so: ELF file OS ABI invalid
opera: pluginwrapper exited cleanly with exit code 1 during plug-in detection
operapluginwrapper: [plugin probing] /usr/X11R6/Adobe/Acrobat7.0/ENU/Browser/intellinux/nppdf.so
opera: plugin detection successful: /usr/X11R6/Adobe/Acrobat7.0/ENU/Browser/intellinux/nppdf.so
operapluginwrapper: [plugin failed ] /usr/local/lib/npapi/symlinks/linux-opera/libflashplayer.so, /usr/local/lib/npap
i/symlinks/linux-opera/libflashplayer.so: ELF file OS ABI invalid
Nu a mers... Sa incercam si alt branding:
# brandelf -t Linux lib/usr/local/lib/npapi/linux-flashplugin/flashplayer.so
Aceeasi eroare:
operapluginwrapper: [plugin failed ] /usr/local/lib/npapi/symlinks/linux-opera/libflashplayer.so, /
usr/local/lib/npapi/symlinks/linux-opera/libflashplayer.so: ELF file OS ABI invalid
Se pare ca schimbarea brandingului libflashplayer.so nu ajuta la nimic. Am incercat sa schimb brandingul la operapluginwrapper.
# brandelf -t Linux /usr/local/share/opera/bin/operapluginwrapper
Pluginul Flash l-am lasat de Linux.
Am primit acceasi eroare. Oare trebuie restartata Opera? Am incercat si asta. Nu a ajutat la nimic, primesc urmatoare eroare:
% opera -debugplugin
ELF interpreter /lib/ld-linux.so.2 not found
operapluginwrapper: [plugin probing] /usr/local/share/opera/plugins/libnpp.so
opera: plugin detection successful: /usr/local/share/opera/plugins/libnpp.so
operapluginwrapper: [plugin failed ] /usr/X11R6/Adobe/Acrobat7.0/ENU/Browser/intellinux/nppdf.so, /usr/X11R6/Adobe/Acrobat7.0/ENU/Browser/intellinux/nppdf.so: Undefined symbol "__ctype_b_loc"
opera: pluginwrapper exited cleanly with exit code 1 during plug-in detection
operapluginwrapper: [plugin failed ] /usr/local/lib/npapi/symlinks/linux-opera/libflashplayer.so, Shared object "libdl.so.2" not found, required by "libflashplayer.so"
opera: pluginwrapper exited cleanly with exit code 1 during plug-in detection
ELF interpreter /lib/ld-linux.so.2 not found
Acelasi lucru se intampla indiferent cum corelez brandingurile operapluginwrapper si libflashplayer.so. Am incercat si cu Opera de FreeBSD si cu Opera de Linux iar comportamentul este identic. Mentionez ca flash 7 functioneaza perfect. Ceva Idei?
Multumesc anticipat.