Erstellt vor 22 Monaten

Geschlossen vor 22 Monaten

#2795 closed defect (fixed)

Compilieren von htop schlägt fehl

Erstellt von: lsmod Verantwortlicher:
Priorität: normal Meilenstein: freetz-next
Komponente: unknown Version: freetz-2.0
Stichworte: Beobachter:
Product Id: Fon Firmware Version:

Beschreibung

Ich habe versucht htop mit in das build zu übernehmen, aber dies schlägt leider fehl.

/srv/test/freetz-stable-2.0/toolchain/build/mipsel_gcc-4.6.4_uClibc-0.9.28/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-gcc -DHAVE_CONFIG_H -I.  -DNDEBUG  -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/etc\" -march=4kc -Os -pipe -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT htop-TraceScreen.o -MD -MP -MF .deps/htop-TraceScreen.Tpo -c -o htop-TraceScreen.o `test -f 'TraceScreen.c' || echo './'`TraceScreen.c
Process.c: In function 'Process_getAffinity':
Process.c:673:4: error: unknown type name 'cpu_set_t'
Process.c:674:4: warning: implicit declaration of function 'sched_getaffinity' [-Wimplicit-function-declaration]
Process.c:674:51: error: 'cpu_set_t' undeclared (first use in this function)
Process.c:674:51: note: each undeclared identifier is reported only once for each function it appears in
Process.c:678:7: warning: implicit declaration of function 'CPU_ISSET' [-Wimplicit-function-declaration]
Process.c: In function 'Process_setAffinity':
Process.c:685:4: error: unknown type name 'cpu_set_t'
Process.c:686:4: warning: implicit declaration of function 'CPU_ZERO' [-Wimplicit-function-declaration]
Process.c:688:7: warning: implicit declaration of function 'CPU_SET' [-Wimplicit-function-declaration]
Process.c:690:4: warning: implicit declaration of function 'sched_setaffinity' [-Wimplicit-function-declaration]
Makefile:760: recipe for target 'htop-Process.o' failed
make[2]: *** [htop-Process.o] Error 1
make[2]: *** Warte auf noch nicht beendete Prozesse...
mv -f .deps/htop-SwapMeter.Tpo .deps/htop-SwapMeter.Po
mv -f .deps/htop-TasksMeter.Tpo .deps/htop-TasksMeter.Po
mv -f .deps/htop-TraceScreen.Tpo .deps/htop-TraceScreen.Po
make[2]: Leaving directory '/srv/test/freetz-stable-2.0/source/target-mipsel_uClibc-0.9.28/htop-1.0.2'
Makefile:292: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/srv/test/freetz-stable-2.0/source/target-mipsel_uClibc-0.9.28/htop-1.0.2'

ERROR: Build failed.
make/htop/htop.mk:21: recipe for target 'source/target-mipsel_uClibc-0.9.28/htop-1.0.2/htop' failed
make: *** [source/target-mipsel_uClibc-0.9.28/htop-1.0.2/htop] Error 1

Anhänge (2)

config.zip (10.8 KB) - hinzugefügt von lsmod vor 22 Monaten.
.config
fix_htop_uclibc0928.patch (453 Byte) - hinzugefügt von MaxMuster vor 22 Monaten.
use —disable-native-affinity with uClibc 0.9.28

Alle Anhänge herunterladen als: .zip

Änderungshistorie (11)

Geändert vor 22 Monaten durch lsmod

.config

comment:1 Geändert vor 22 Monaten durch MaxMuster

uClibc-0.9.28 hat kein cpu_set_t.

Probiere es doch bitte mal mit diesem Patch.

Geändert vor 22 Monaten durch MaxMuster

use —disable-native-affinity with uClibc 0.9.28

comment:2 Geändert vor 22 Monaten durch lsmod

Hmm - ein Tip wie der Patch zu verwenden ist wäre nicht schlecht.

Ich habe Mal abgeschätzt das ich diesen in …/freetz-stable-2.0/make/htop/patches ablegen muss.

Das scheint aber noch nicht zu funzen:

mkdir -p packages/target-mipsel_uClibc-0.9.28/htop-1.0.2/root[[BR]]if test -d make/htop/files; then tar -c -C make/htop/files --exclude=.svn . | tar -x -C packages/target-mipsel_uClibc-0.9.28/htop-1.0.2 ; fi[[BR]]---> package/htop: preparing... tools/gunzip -c dl/htop-1.0.2.tar.gz | tar -C source/target-mipsel_uClibc-0.9.28 -x[[BR]]set -e; shopt -s nullglob; for i in make/htop/patches/*.patch; do tools/freetz_patch source/target-mipsel_uClibc-0.9.28/htop-1.0.2 $i; done[[BR]]    applying patch file make/htop/patches/010-ioprio_support.patch[[BR]]    patching file htop.c[[BR]]    patching file IOPriority.c[[BR]]    patching file IOPriority.h[[BR]]    patching file IOPriorityPanel.c[[BR]]    patching file IOPriorityPanel.h[[BR]]    patching file ioprio_syscalls.h[[BR]]    patching file Process.c[[BR]]    patching file Process.h[[BR]]    patching file !ProcessList.c[[BR]]    ----------------------------------------------------------------------[[BR]]    applying patch file make/htop/patches/fix_htop_uclibc0928.patch[[BR]]    can't find file to patch at input line 5[[BR]]    Perhaps you used the wrong -p or --strip option?[[BR]]    The text leading up to this was:[[BR]]    --------------------------[[BR]]    |Index: make/htop/htop.mk[[BR]]    |===================================================================[[BR]]    |--- make/htop/htop.mk      (Revision 13445)[[BR]]    |+++ make/htop/htop.mk      (Arbeitskopie)[[BR]]    --------------------------[[BR]]    No file to patch.  Skipping patch.[[BR]]    1 out of 1 hunk ignored[[BR]]    ----------------------------------------------------------------------[[BR]]ERROR: modpatch: Error in patch-file make/htop/patches/fix_htop_uclibc0928.patch[[BR]]make/htop/!htop.mk:17: recipe for target 'source/target-mipsel_uClibc-0.9.28/htop-1.0.2/.unpacked' failed[[BR]]make: *** [source/target-mipsel_uClibc-0.9.28/htop-1.0.2/.unpacked] Error 2[[BR]]}}}

comment:3 Geändert vor 22 Monaten durch lsmod

Es ist nicht einfach hier etwas lesbar abzulegen …

mkdir -p packages/target-mipsel_uClibc-0.9.28/htop-1.0.2/root
if test -d make/htop/files; then tar -c -C make/htop/files --exclude=.svn . | tar -x -C packages/target-mipsel_uClibc-0.9.28/htop-1.0.2 ; fi
---> package/htop: preparing... tools/gunzip -c dl/htop-1.0.2.tar.gz | tar -C source/target-mipsel_uClibc-0.9.28 -x
set -e; shopt -s nullglob; for i in make/htop/patches/*.patch; do tools/freetz_patch source/target-mipsel_uClibc-0.9.28/htop-1.0.2 $i; done
    applying patch file make/htop/patches/010-ioprio_support.patch
    patching file htop.c
    patching file IOPriority.c
    patching file IOPriority.h
    patching file IOPriorityPanel.c
    patching file IOPriorityPanel.h
    patching file ioprio_syscalls.h
    patching file Process.c
    patching file Process.h
    patching file ProcessList.c
    ----------------------------------------------------------------------
    applying patch file make/htop/patches/fix_htop_uclibc0928.patch
    can't find file to patch at input line 5
    Perhaps you used the wrong -p or --strip option?
    The text leading up to this was:
    --------------------------
    |Index: make/htop/htop.mk
    |===================================================================
    |--- make/htop/htop.mk      (Revision 13445)
    |+++ make/htop/htop.mk      (Arbeitskopie)
    --------------------------
    No file to patch.  Skipping patch.
    1 out of 1 hunk ignored
    ----------------------------------------------------------------------
ERROR: modpatch: Error in patch-file make/htop/patches/fix_htop_uclibc0928.patch
make/htop/htop.mk:17: recipe for target 'source/target-mipsel_uClibc-0.9.28/htop-1.0.2/.unpacked' failed
make: *** [source/target-mipsel_uClibc-0.9.28/htop-1.0.2/.unpacked] Error 2

comment:4 Geändert vor 22 Monaten durch lsmod


Zuletzt geändert vor 22 Monaten von lsmod (vorher) (Diff)

comment:5 Geändert vor 22 Monaten durch MaxMuster

Sorry, hier die "Anleitung" (bitte zunächst make/htop/patches/fix_htop_uclibc0928.patch wieder löschen):

  1. Patch-Datei fix_htop_uclibc0928.patch in den Freetz-Ordner ablegen
  2. patch -p0 < fix_htop_uclibc0928.patch
  3. neues make

comment:6 Geändert vor 22 Monaten durch lsmod

Kaum macht man es richtig - schon kompiliert es auch.

Leider ist das Image für die Eumex nun zu gross, aber es läuft sauber durch.

installing packages
  syslogd-cgi-0.2.3 ............    3.04 Kb 
  haserl-0.9.29 ................    8.84 Kb 
  htop-1.0.2 ...................   41.58 Kb 
  iftop-0.17 ...................   18.60 Kb 
  mod-1.0 ......................   93.18 Kb 
  modcgi-0.3 ...................    3.43 Kb 
invoking custom script
processing mod base options
  setting colored style as default
  patching security level
  rc.external was not integrated into image
  libmodmount.sh was not integrated into image
  integrating stripped .config file into image
stripping leftover unstripped binaries
    build/modified/filesystem/lib/libpthread-0.9.28.so
done.

Mein Glückwunsch - das Problem ist gefixt.

Zuletzt geändert vor 22 Monaten von lsmod (vorher) (Diff)

comment:7 Geändert vor 22 Monaten durch MaxMuster

In 13447:

htop:

  • fix build with uClibc 0.9.28 (missing cpu_set_t)
  • refs #2795

comment:8 Geändert vor 22 Monaten durch MaxMuster

In 13446:

htop:

  • fix build with uClibc 0.9.28 (missing cpu_set_t)
  • refs #2795

comment:9 Geändert vor 22 Monaten durch MaxMuster

  • Lösung auf fixed gesetzt
  • Status von new nach closed geändert
Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.