uclibc2.diff und uclibc3.diff getestet. Baut durch. Aber das Problem mit libdl.so.0 besteht noch *heul* *jammer*
![smile :-)](./images/smilies/icon_smile.gif)
Darum werde ich mich noch kümmernamiga23 hat geschrieben:Aber das Problem mit libdl.so.0 besteht noch *heul* *jammer*
libdl.so sollte nun im Flashimage funktionieren.rhabarber1848 hat geschrieben:Eigentlicher uClibc-Patch, uclibc2.diff muss vorher eingespielt werden: EDIT: Patch ist im CVS
Patch aktualisiert: automount, uClibc und -fPIE mögen einander nicht.rhabarber1848 hat geschrieben:Eigentlicher uClibc-Patch, uclibc2.diff muss vorher eingespielt werden: EDIT: Patch ist im CVS
uClibc braucht das scheinbar, warum? Das weiß ich nicht.Barf hat geschrieben:Zum Problem mit libdl: Wo wird noch libdl benutzt?
Funktioniert hier einwandfrei:amiga23 hat geschrieben:Allerdings ist mir jetzt aufgefallen, das links im Grafikmodus nicht mehr geht.
und auf dem Fernseher ist die Wikipedia-Seite zu sehen.# links -g de.wikipedia.org
=======================| DirectFB 1.0.0 |=======================
(c) 2001-2007 The DirectFB Organization (directfb.org)
(c) 2000-2004 Convergence (integrated media) GmbH
------------------------------------------------------------
(*) DirectFB/Core: Single Application Core. (2008-11-22 14:19)
(*) Direct/Memcpy: Using ppcasm_memcpy()
(*) Direct/Thread: Running 'VT Switcher' (CRITICAL, 183)...
(*) Direct/Thread: Running 'Linux Input' (INPUT, 184)...
(*) DirectFB/Input: DBOX-2 FP IR 0.1 (directfb.org)
(!) Direct/Modules: Could not open module directory `/lib/directfb-1.0-0/gfxdrivers'!
--> No such file or directory
(*) DirectFB/Graphics: Generic Software Rasterizer 0.6 (directfb.org)
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
Das Problem ist in der neuen Patch-Version durch Code in cdk/configure.ac behoben.rhabarber1848 hat geschrieben:Patch-Update: EDIT: Patch ist im CVS
- neue Datei hostapps/mklibs/mklibs_uclibc.py
[...]
Beim CVS-commit ist darauf zu achten, dass die Datei im CVS ausführbar ist.
Die aktuelle Version des Patches behebt das Problem: EDIT: Patch ist im CVSrhabarber1848 hat geschrieben:[1] sectionsd, zapit u.a. erzeugen einen Segfault, wenn deren Konfigurationsdateien nicht existieren,
touch behebt das Problem, es tritt nicht im Yadd auf...
Code: Alles auswählen
ac_cv_header_aio_h=yes \
ac_cv_lib_rt_lio_listio=yes \
Code: Alles auswählen
/home/harald/tuxbox-cvs/head-uclibc-new/cdk/xfsprogs-2.9.4/repair/progress.c:186: undefined refere to `timer_create'
/home/harald/tuxbox-cvs/head-uclibc-new/cdk/xfsprogs-2.9.4/repair/progress.c:189: undefined refere to `timer_settime'
/home/harald/tuxbox-cvs/head-uclibc-new/cdk/xfsprogs-2.9.4/repair/progress.c:277: undefined refere to `timer_delete'
collect2: ld returned 1 exit status
make[2]: *** [xfs_repair] Fehler 1
Code: Alles auswählen
config UCLIBC_HAS_REALTIME
bool "Realtime-related family of SUSv functions"
default y
help
These functions are part of the Timers option and need not
be available on all implementations.
Includes AIO, message-queue, scheduler, semaphore functions:
Soweit bin ich mittlerweile auch, uClibc dürfte diese Funktionen haben,Houdini hat geschrieben:Code: Alles auswählen
/home/harald/tuxbox-cvs/head-uclibc-new/cdk/xfsprogs-2.9.4/repair/progress.c:186: undefined refere to `timer_create' /home/harald/tuxbox-cvs/head-uclibc-new/cdk/xfsprogs-2.9.4/repair/progress.c:189: undefined refere to `timer_settime' /home/harald/tuxbox-cvs/head-uclibc-new/cdk/xfsprogs-2.9.4/repair/progress.c:277: undefined refere to `timer_delete' collect2: ld returned 1 exit status make[2]: *** [xfs_repair] Fehler 1
Code: Alles auswählen
#ifdef __NR_timer_create
Code: Alles auswählen
#if 0
[...]
#define __NR_timer_create 240
#define __NR_timer_settime 241
#define __NR_timer_gettime 242
#define __NR_timer_getoverrun 243
#define __NR_timer_delete 244
[...]
#endif
Das zu portieren, dürfte dann nicht schwierig sein, oder? Freiwillige vor!Houdini hat geschrieben:glibc hat eine eigene user space implementierung falls der system call nicht existiert, deswegen geht es mit glibc
http://osdir.com/ml/lib.uclibc.buildroo ... 00008.htmlconfig UCLIBC_SUSV3_LEGACY
bool "Enable SuSv3 LEGACY functions"
Enable this option if you want to have SuSv3 LEGACY functions
in the library, else they are replaced by SuSv3 proposed macros.
Currently applies to:
bcmp, bcopy, bzero, index, rindex, ftime,
bsd_signal, (ecvt), (fcvt), gcvt, (getcontext),
(getwd), (makecontext),
mktemp, (pthread_attr_getstackaddr), (pthread_attr_setstackaddr),
scalb, (setcontext), (swapcontext), ualarm, usleep,
wcswcs.
WARNING! ABI incompatibility.
Deshalb habe ich mal drangesetzt und Patches geschrieben, welche dieYou don't want UCLIBC_SUSV3_LEGACY_MACROS nor UCLIBC_SUSV3_LEGACY, as a
general rule of thumb.
In uClinux wurden bereits solche Patches eingepflegt:The memset() function is preferred over this function.
For maximum portability, it is recommended to replace the function call to bzero() as follows:
#define bzero(b,len) (memset((b), '\0', (len)), (void) 0)
Hier der Patch für Tuxbox: EDIT: Patch ist im CVSbcopy/bzero/bcmp/index/rindex are marked LEGACY in SuSv3.
They are replaced as proposed by SuSv3.Code: Alles auswählen
- bzero(&addr, sizeof(addr)); + memset(&addr, 0, sizeof(addr));
Code: Alles auswählen
#define _ISbit(bit) (1 << (bit))
Code: Alles auswählen
_M_bit[__k] = static_cast<mask>(_ISbit(__k));
Code: Alles auswählen
_M_bit[__k] = static_cast<mask>(1 << __k);
Mit der aktuellen uClibc-Version ist dieser Patch in Ordnung, allerdingsrhabarber1848 hat geschrieben:Hier der Patch für Tuxbox: EDIT: Patch ist im CVS