Hi,
I am trying to compile on vdr 1.7.15 the filebrowser-0.2.0 plugin
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -c -DFILEBROWSER_PLUGIN_BUILD -DUSE_LIEMIEXT -DUSE_SETUP -DUSE_SORTRECORDS -DUSE_TTXTSUBS -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"filebrowser"' -I/usr/src/linux-2.6.34-ARCH/include/linux/dvb//include -I../../../include -I/usr/src/linux-2.6.34-ARCH/include/linux/dvb//include filebrowser.c g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -c -DFILEBROWSER_PLUGIN_BUILD -DUSE_LIEMIEXT -DUSE_SETUP -DUSE_SORTRECORDS -DUSE_TTXTSUBS -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"filebrowser"' -I/usr/src/linux-2.6.34-ARCH/include/linux/dvb//include -I../../../include -I/usr/src/linux-2.6.34-ARCH/include/linux/dvb//include menu-filebrowser.c menu-filebrowser.c: In member function ‘void cOsdMenuFilebrowser::LoadDir(cString)’: menu-filebrowser.c:205:70: error: invalid conversion from ‘const char*’ to ‘char*’ menu-filebrowser.c: In member function ‘void cOsdMenuFilebrowser::Refresh(const char*)’: menu-filebrowser.c:243:112: error: invalid conversion from ‘const char*’ to ‘char*’ menu-filebrowser.c:260:154: error: invalid conversion from ‘int (*)(const void*, const void*)’ to ‘int (*)(const dirent64**, const dirent64**)’ menu-filebrowser.c:260:154: error: initializing argument 4 of ‘int scandir64(const char*, dirent64***, int (*)(const dirent64*), int (*)(const dirent64**, const dirent64**))’ make: *** [menu-filebrowser.o] Error 1
Anybody has managed to compile it? Ideally does anybody have a patched filebrowser plugin or a patch to get it to compile under vdr 1.7.15?
Am 11.09.2010 10:07, schrieb martinez@embl.de:
Hi,
I am trying to compile on vdr 1.7.15 the filebrowser-0.2.0 plugin
menu-filebrowser.c:205:70: error: invalid conversion from ‘const char*’ to ‘char*’
You're using a newer GCC version that is more strict regarding implicit conversions from const char* to char*. (by not allowing them at all.)
These code parts need to be fixed by either using const char* as type, or by inserting a (char*) for conversion at the right place.
menu-filebrowser.c:260:154: error: invalid conversion from ‘int (*)(const void*, const void*)’ to ‘int (*)(const dirent64**, const dirent64**)’ menu-filebrowser.c:260:154: error: initializing argument 4 of ‘int scandir64(const char*, dirent64***, int (*)(const dirent64*), int (*)(const dirent64**, const dirent64**))’
This sounds like a mismatch in 64-bit file handling. Beginning from VDR-1.7.4, all plugins must use DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE in their makefiles to enable large file handling.
Cheers,
Udo
On Sat, Sep 11, 2010 at 9:07 AM, martinez@embl.de wrote:
Anybody has managed to compile it? Ideally does anybody have a patched filebrowser plugin or a patch to get it to compile under vdr 1.7.15?
Try this http://github.com/oldmanuk/vdr-plugin-filebrowser or apply the attached patch.