Hi,
ich versuche grade xine-lib-0.9.2 xine-lib.patch in VeXP-5.1 reinzufrickeln (Hintergrund: Via EPIA EX15000 soll HDTV dekodieren). Der Gesamtpatch produziert 8 oder 9 Rejects, wenn man die vorsichtig von Hand nachzieht, kommt die Übersetzung schon ziemlich weit. An einer Stelle falle ich jetzt aber auf die Nase, wahrscheinlich weil VeXP-5.1 auf einer uralten xine-lib Version basiert. Ich habe es auch mit dem etwa zeitgleich erschienenen xine-lib-0.8.1 Patch versucht, aber da gibt es das gleiche Problem.
Make-Output:
combined_vdr.c:35: Fehler: expected »=«, »,«, »;«, »asm« or »__attribute__« before »EXPORTED«
make[3]: *** [combined_vdr.lo] Fehler 1
make[3]: *** Warte auf noch nicht beendete Prozesse...
Das ist schonmal schräg. Was genau will mir der gcc damit sagen? Was ist EXPORTED, und wo sollte das definiert sein? Die Quellcodezeile dazu sieht folgendermaßen aus:
const plugin_info_t xine_plugin_info[] EXPORTED =
{
/* type , API, "name" , version , special_info , init_function */
{ PLUGIN_INPUT, 17, "VDR" , XINE_VERSION_CODE, NULL , &vdr_input_init_plugin },
{ PLUGIN_POST , 9, "vdr" , XINE_VERSION_CODE, &vdr_video_special_info, &vdr_video_init_plugin },
{ PLUGIN_POST , 9, "vdr_video", XINE_VERSION_CODE, &vdr_video_special_info, &vdr_video_init_plugin },
{ PLUGIN_POST , 9, "vdr_audio", XINE_VERSION_CODE, &vdr_audio_special_info, &vdr_audio_init_plugin },
{ PLUGIN_NONE , 0, "" , 0 , NULL , NULL }
};
Weiter geht's in Make-Output:
input_vdr.c: In Funktion »vdr_execute_rpc_command«:
input_vdr.c:498: Warnung: Implizite Deklaration der Funktion »_x_query_unprocessed_osd_events«
input_vdr.c:498: Warnung: Geschachtelte extern-Deklaration von »_x_query_unprocessed_osd_events«
input_vdr.c:719: Warnung: Implizite Deklaration der Funktion »_x_demux_seek«
input_vdr.c:719: Warnung: Geschachtelte extern-Deklaration von »_x_demux_seek«
input_vdr.c:727: Warnung: Implizite Deklaration der Funktion »_x_trigger_relaxed_frame_drop_mode«
OK, hier fehlen noch ein paar händisch nachgezogene Patches.
input_vdr.c:727: Warnung: Geschachtelte extern-Deklaration von »_x_trigger_relaxed_frame_drop_mode«
input_vdr.c:753: Warnung: Implizite Deklaration der Funktion »_x_reset_relaxed_frame_drop_mode«
input_vdr.c:753: Warnung: Geschachtelte extern-Deklaration von »_x_reset_relaxed_frame_drop_mode«
input_vdr.c:795: Fehler: »XINE_EVENT_VDR_SELECTAUDIO« nicht deklariert (erste Benutzung in dieser Funktion)
Hier geht's los: Offenbar sind hier einige Variablen nicht definiert. Die XINE_EVENT_VDR_* bringt doch der Patch mit, aber wo sind die fehlenden?
input_vdr.c:795: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
input_vdr.c:795: Fehler: für jede Funktion in der er auftritt.)
input_vdr.c:817: Fehler: »XINE_EVENT_VDR_TRICKSPEEDMODE« nicht deklariert (erste Benutzung in dieser Funktion)
input_vdr.c:882: Warnung: Implizite Deklaration der Funktion »_x_query_buffer_usage«
input_vdr.c:882: Warnung: Geschachtelte extern-Deklaration von »_x_query_buffer_usage«
input_vdr.c:1082: Fehler: »xine_current_frame_data_t« nicht deklariert (erste Benutzung in dieser Funktion)
input_vdr.c:1082: Fehler: expected »;« before »frame_data«
Sieht nach Syntaxfehler aus.
input_vdr.c:1083: Fehler: »frame_data« nicht deklariert (erste Benutzung in dieser Funktion)
input_vdr.c:1085: Warnung: Implizite Deklaration der Funktion »xine_get_current_frame_data«
input_vdr.c:1085: Warnung: Geschachtelte extern-Deklaration von »xine_get_current_frame_data«
input_vdr.c:1085: Fehler: »XINE_FRAME_DATA_ALLOCATE_IMG« nicht deklariert (erste Benutzung in dieser Funktion)
input_vdr.c:1309: Fehler: »BUF_CONTROL_RESET_TRACK_MAP« nicht deklariert (erste Benutzung in dieser Funktion)
input_vdr.c: In Funktion »vdr_rpc_thread_loop«:
input_vdr.c:1406: Warnung: Implizite Deklaration der Funktion »_x_lock_frontend«
input_vdr.c:1406: Warnung: Geschachtelte extern-Deklaration von »_x_lock_frontend«
input_vdr.c:1419: Warnung: Implizite Deklaration der Funktion »_x_lock_port_rewiring«
input_vdr.c:1419: Warnung: Geschachtelte extern-Deklaration von »_x_lock_port_rewiring«
input_vdr.c:1428: Warnung: Implizite Deklaration der Funktion »_x_unlock_port_rewiring«
input_vdr.c:1428: Warnung: Geschachtelte extern-Deklaration von »_x_unlock_port_rewiring«
input_vdr.c:1431: Warnung: Implizite Deklaration der Funktion »_x_unlock_frontend«
input_vdr.c:1431: Warnung: Geschachtelte extern-Deklaration von »_x_unlock_frontend«
input_vdr.c: In Funktion »vdr_plugin_read«:
input_vdr.c:1553: Warnung: Implizite Deklaration der Funktion »_x_continue_stream_processing«
input_vdr.c:1553: Warnung: Geschachtelte extern-Deklaration von »_x_continue_stream_processing«
input_vdr.c:1608: Warnung: Zeigerziele bei Übergabe des Arguments 2 von »this_gen->read« unterscheiden sich im Vorzeichenbesitz
input_vdr.c: In Funktion »vdr_plugin_open_fifo_mrl«:
input_vdr.c:1878: Warnung: Implizite Deklaration der Funktion »_x_mrl_unescape«
input_vdr.c:1878: Warnung: Geschachtelte extern-Deklaration von »_x_mrl_unescape«
input_vdr.c:1913: Warnung: Der Rückgabewert von »read«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
input_vdr.c:1918: Warnung: Der Rückgabewert von »asprintf«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
input_vdr.c:1938: Warnung: Der Rückgabewert von »asprintf«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
input_vdr.c:1960: Warnung: Der Rückgabewert von »asprintf«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
input_vdr.c: In Funktion »event_handler«:
input_vdr.c:2202: Fehler: »XINE_EVENT_VDR_DISCONTINUITY« nicht deklariert (erste Benutzung in dieser Funktion)
input_vdr.c:2211: Fehler: »XINE_EVENT_VDR_PLUGINSTARTED« nicht deklariert (erste Benutzung in dieser Funktion)
input_vdr.c:2217: Fehler: »XINE_EVENT_VDR_TRICKSPEEDMODE« nicht deklariert (erste Benutzung in dieser Funktion)
input_vdr.c:2230: Fehler: »XINE_EVENT_VDR_SELECTAUDIO« nicht deklariert (erste Benutzung in dieser Funktion)
input_vdr.c:2294: Fehler: »XINE_EVENT_VDR_AUDIO« nicht deklariert (erste Benutzung in dieser Funktion)
input_vdr.c:2295: Fehler: »XINE_EVENT_VDR_INFO« nicht deklariert (erste Benutzung in dieser Funktion)
input_vdr.c:2296: Fehler: »XINE_EVENT_VDR_CHANNELPREVIOUS« nicht deklariert (erste Benutzung in dieser Funktion)
input_vdr.c:2299: Fehler: »XINE_EVENT_VDR_SUBTITLES« nicht deklariert (erste Benutzung in dieser Funktion)
input_vdr.c: In Funktion »vdr_vpts_offset_queue_change_end«:
input_vdr.c:2381: Fehler: »XINE_EVENT_VDR_DISCONTINUITY« nicht deklariert (erste Benutzung in dieser Funktion)
input_vdr.c: In Funktion »vdr_class_get_instance«:
input_vdr.c:2523: Warnung: Zuweisung von inkompatiblem Zeigertyp
input_vdr.c:2536: Warnung: Variable »caps« wird nicht verwendet
input_vdr.c: In Funktion »vdr_input_init_plugin«:
input_vdr.c:2649: Warnung: Zuweisung von inkompatiblem Zeigertyp
make[3]: *** [input_vdr.lo] Fehler 1
Alles anzeigen
HELP!
# gcc -v
Es werden eingebaute Spezifikationen verwendet.
Ziel: i486-linux-gnu
Konfiguriert mit: ../src/configure -v --with-pkgversion='Ubuntu 4.3.3-5ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread-Modell: posix
gcc-Version 4.3.3 (Ubuntu 4.3.3-5ubuntu4)
Danke!
Wenn das am Ende nicht tut, muss wohl eine eHD ran ... dann muss ich aber den oder die DVB-S2 Empfänger per USB anschließen (es gibt in dem vorgesehenen Gehäuse nur einen PCI Slot), und die sind lt. linuxtv.org/wiki alle nicht besonders gut oder gar nicht unterstützt. Da ist wohl die nächste Frickelei vorprogrammiert...