aus spaß habe ich mir mal mutt gebaut für meine freetzbox. wenn ich mutt nun starten möchte, bekomme ich immer diese meldung:

Error opening terminal: xterm.

aus dem netz habe ich raus gefunden, das dieses wohl durch die umgebungsvariable TERM verursacht wird denn dort trägt man ein in welchen terminal mutt gestartet werden soll. aber auf der freetzbox habe ich natürlich kein X. was muß in der variable stehen um es in der console zum starten?
Aus welcher Art Terminal startest du mutt? ssh zur Fritzbox?

mutt (als reine Konsolenanwendung) braucht ein Terminal(tty), welches ncurses-Darstellung verarbeiten kann.
Jedes normale TTY kann das. (z.B. Boot ohne X, nur zu den TTY-Terminals).
Als $TERM ist dann "linux" (ohne Anführungszeichen) gesetzt. Setze das ggf. mal explizit.

xterm als TERM-Variable bedingt ja nun einen X-Server...
ja, ich starte das über ssh ... log mich also ein und versuche dann mutt zu starten. da ich auch zum beispiel den mc starten kann, sollten die ncurses eigentlich da sein ( an sonsten hätte ich bestimmt ne meldung das die .so dateien nicht gefunden werden konnten ).

habe ich denn unter der freetzbox kein normales terminal? ich weiß das jetzt gar nicht genau.
habe das gerade mal versucht. dann kommt die meldung:

Error opening terminal: linux.
The Hit-Man schriebja, ich starte das über ssh ... log mich also ein und versuche dann mutt zu starten. da ich auch zum beispiel den mc starten kann, sollten die ncurses eigentlich da sein ( an sonsten hätte ich bestimmt ne meldung das die .so dateien nicht gefunden werden konnten ).

habe ich denn unter der freetzbox kein normales terminal? ich weiß das jetzt gar nicht genau.
Wenn der mc funktioniert (auch in Farbe) sollte das passen.
Unter X (also mit einem X-Terminal) sollte ein ssh-Terminal "xterm" als TERM haben.
Unter den TTYs dann "linux" als TERM.
Bei dir wäre also "xterm" richtig, ich gehe bei dir von einem Desktop/X -> fritzbox aus.
env bzw. echo $TERM sollte also nach einem ssh-Login "xterm" anzeigen - und mutt sollte damit auch funktionieren. Eigentlich...<g>

Welchen Terminal-Emulator verwendest du auf deinem Desktop? Welche Shell hast du auf der Fritzbox?

Und anderen Frage: Du hast mutt selbst kompiliert. Hast du dort die (n)curses-Unterstützung auch angegeben (--with-curses) und ncurses-Paket/Libs waren vorhanden? Ansonsten würde mutt wohl "nur" mit slang-Unterstützung laufen, daraus könnte dann dieser Fehler/Meldung IMHO resultieren.
Ich habe grad kein mutt zur Hand, aber ein
mutt -v
mutt -V
mutt --version
o.ä. (man page) zeigt AFAIK auch die verwendeten Kompilieroptionen an. Dort sollte ncurses dann auftauchen.
Evtl. reicht auch ein ldd auf das Binary um das zu sehen.
oha, oha ... so weit hatte ich mich gar nicht beschäftigt. also ich gehe per X ( ich nutze das roxterminal-gtk2 ) per ssh auf die box.
ich schick dir einfach mal die mutt -v:

Mutt 1.11.3 (2019-02-01)
Copyright (C) 1996-2016 Michael R. Elkins and others.
Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
Mutt is free software, and you are welcome to redistribute it
under certain conditions; type `mutt -vv' for details.

System: Linux 2.6.32.61 (mips)
ncurses: ncurses 6.1.20190216 (compiled with 6.1)

Compiler:
Es werden eingebaute Spezifikationen verwendet.
COLLECT_GCC=/home/u0/buildroot/buildroot/output/host/bin/mips-linux-gcc.br_real
COLLECT_LTO_WRAPPER=/home/u0/buildroot/buildroot/output/host/libexec/gcc/mips-buildroot-linux-uclibc/7.4.0/lto-wrapper
Ziel: mips-buildroot-linux-uclibc
Konfiguriert mit: ./configure --prefix=/home/u0/buildroot/buildroot/output/host --sysconfdir=/home/u0/buildroot/buildroot/output/host/etc --enable-static --target=mips-buildroot-linux-uclibc --with-sysroot=/home/u0/buildroot/buildroot/output/host/mips-buildroot-linux-uclibc/sysroot --enable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib --disable-decimal-float --with-gmp=/home/u0/buildroot/buildroot/output/host --with-mpc=/home/u0/buildroot/buildroot/output/host --with-mpfr=/home/u0/buildroot/buildroot/output/host --with-pkgversion='Buildroot 2019.02-rc2-00008-g292c5a0ecd' --with-bugurl=http://bugs.buildroot.net/ --disable-libquadmath --disable-libsanitizer --enable-tls --disable-libmudflap --enable-threads --without-isl --without-cloog --with-arch=mips32 --with-abi=32 --with-nan=legacy --with-fp-32=xx --enable-languages=c,c++ --with-build-time-tools=/home/u0/buildroot/buildroot/output/host/mips-buildroot-linux-uclibc/bin --enable-shared --disable-libgomp
Thread-Modell: posix
gcc-Version 7.4.0 (Buildroot 2019.02-rc2-00008-g292c5a0ecd)

Configure options: '--host=mips-linux' '--target=mips-linux' '--disable-doc' '--prefix=/home/u0/toolchain/mips_uclib_5.5/output/target/usr/' 'host_alias=mips-linux' 'target_alias=mips-linux' 'CC=mips-linux-gcc' 'CFLAGS=-I/home/u0/toolchain/mips_uclib_5.5/output/target/usr/include' 'LDFLAGS=-L/home/u0/toolchain/mips_uclib_5.5/output/target/usr/lib' 'LIBS=-L/home/u0/toolchain/mips_uclib_5.5/output/target/usr/lib'

Compilation CFLAGS: -Wall -pedantic -Wno-long-long -I/home/u0/toolchain/mips_uclib_5.5/output/target/usr/include

Compile options:
-DOMAIN
-DEBUG
-HOMESPOOL -USE_SETGID -USE_DOTLOCK -DL_STANDALONE +USE_FCNTL -USE_FLOCK
-USE_POP -USE_IMAP -USE_SMTP
-USE_SSL_OPENSSL -USE_SSL_GNUTLS -USE_SASL -USE_GSS +HAVE_GETADDRINFO
+HAVE_REGCOMP +USE_GNU_REGEX
+HAVE_COLOR +HAVE_START_COLOR +HAVE_TYPEAHEAD +HAVE_BKGDSET
+HAVE_CURS_SET +HAVE_META +HAVE_RESIZETERM +HAVE_FUTIMENS
+CRYPT_BACKEND_CLASSIC_PGP +CRYPT_BACKEND_CLASSIC_SMIME -CRYPT_BACKEND_GPGME
-EXACT_ADDRESS -SUN_ATTACHMENT
-ENABLE_NLS -LOCALES_HACK +HAVE_WC_FUNCS +HAVE_LANGINFO_CODESET +HAVE_LANGINFO_YESEXPR
-HAVE_ICONV -ICONV_NONTRANS -HAVE_LIBIDN -HAVE_LIBIDN2 +HAVE_GETSID -USE_HCACHE
-USE_SIDEBAR -USE_COMPRESSED +USE_INOTIFY
-ISPELL
SENDMAIL="/usr/sbin/sendmail"
MAILPATH="/var/mail"
PKGDATADIR="/home/u0/toolchain/mips_uclib_5.5/output/target/usr/share/mutt"
SYSCONFDIR="/home/u0/toolchain/mips_uclib_5.5/output/target/usr/etc"
EXECSHELL="/bin/sh"
-MIXMASTER

To contact the developers, please mail to <mutt-dev@mutt.org>.
To report a bug, please contact the Mutt maintainers via gitlab:
https://gitlab.com/muttmua/mutt/issues

u0@fritz:/var/mod/home/u0$

und ja, ich habe auch die vermutung, das ich beim bauen was falsch gemacht habe aber habe im configure nichts gefunden, was sich mit TERM erklären ließe. ist ja auch nen cross-compile gewesen. ich kann beim bauen auch die slang lib benutzen aber die war mir irgendwie zu schwierig zu bauen. könnte ich aber zum testen mal nachholen. aus spaß mal die version von dem mc:

u0@fritz:/var/mod/home/u0$ mc --version
GNU Midnight Commander 4.8.21
Built with GLib 2.32.4
Using the ncurses library
With builtin Editor
With subshell support as default
With support for background operations
With mouse support on xterm
With multiple codepages support
Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs
Data types: char: 8; int: 32; long: 32; void *: 32; size_t: 32; off_t: 64;
u0@fritz:/var/mod/home/u0$


die shell, sehe ich gerade ist:

BusyBox v1.27.2 built-in shell (ash)


also nur die busybox. kannste damit was anfangen? in der zwischenzeit baue ich mal die slang lib. allerdings hatte die echt viele abhängigkeiten.


P.S. muß das eigentlich so sein, das mutt -v genau die lib-pfade (zum beispiel PKGDATADIR ) anzeigt, mit denen es gebaut wurde? bischen doof wenn man nen richtigen usernamen im linux system benutzt und der dann da auftaucht.
habe dann auch mal abook cross erstellt, auch das gleiche problem mit der TERM variable.
The Hit-Man schrieb ich schick dir einfach mal die mutt -v:
...
und ja, ich habe auch die vermutung, das ich beim bauen was falsch gemacht habe aber habe im configure nichts gefunden, was sich mit TERM erklären ließe.
Ich sehe da (mit meinem auch bescheidenen Kompilierwissen, v.a. cross) einige Auffälligkeiten:
a)
-USE_POP  -USE_IMAP  -USE_SMTP 
Ohne pop/imap und smptp Unterstützung macht mutt im Allgemeinfall recht wenig Sinn...

b)
Du hast zwar die curses-Libs verfügbar, aber es fehlt die Anweisung diese auch beim Bauen zu nutzen (--with-curses fehlt). Ebenfalls AFAIK wichtig: NLS, ICONV und IDN Unterstützung.
-ENABLE_NLS  -LOCALES_HACK  +HAVE_WC_FUNCS  +HAVE_LANGINFO_CODESET  +HAVE_LANGINFO_YESEXPR 
-HAVE_ICONV  -ICONV_NONTRANS  -HAVE_LIBIDN  -HAVE_LIBIDN2  +HAVE_GETSID
Installiere dir mutt ruhig mal auf einem normalen Arch, dann kannst du mutt -v mal vergleichen.
Ich würde mich beim Bauen an die Optionen halten, mit denen auch das mutt-Paket aus extra gebaut wird.
Aus dem PKGBUILD:
./configure \
		--prefix=/usr \
		--sysconfdir=/etc \
		--enable-gpgme \
		--enable-pop \
		--enable-imap \
		--enable-smtp \
		--enable-hcache \
		--enable-sidebar \
		--with-curses=/usr \
		--with-gss=/usr \
		--with-ssl=/usr \
		--with-sasl \
		--with-idn2 \
Pfade ggf. an dein Zielsystem bzw. deine Toolchain anpassen.

c) Busybox
Da bin ich mir absolut unsicher, ich kenne busybox nur als "gekapselte Shell" eben für EmbeddedSystems. Ob diese vollkommen sh/bash/... kompatibel ist, also z.B. TERM überhaupt nutzt/setzt, bin ich überfragt. Wenn allerdings der mc läuft sollte es prinzipiell eigentlich ausreichen IMHO. Evtl. fehlt dir bei mutt und eben abook wirklich die ncurses-Unterstützung. Der mc aus dem extra-Repo ist übrigens gegen S_LANG gebaut...
Ob beim mutt (bzw. bei deinem Zielsystem) dieser dein Wert/Option:
EXECSHELL="/bin/sh"
eine Rolle für das Problem spielt? Gibt es denn auf deinem Ziel-System ein /bin/sh ? Ggf. als soft/hard-Link eben zur busybox?

d) mutt -v und die Pfade
Das bei dir so "viele Infos" auftauchen liegt wohl an deiner Toolchain. Da wohl jedes Binary im Header diese Informationen drin hat / haben kann, würde ich mir evtl. einen anderen "Startpunkt" für die Chain überlegen. Halt nicht gerade in einem $HOME... Oder ein buildchroot oder Container... Aber da fehlen mir die Praxiserfahrungen.

Ich würde mutt nochmal mit den o.a. Optionen bauen, bei abook würde ich auch mal ins offizielle PKGBUILD schauen, gerade bzgl. curses-Libs.
die sachen sollten alle schon per default mit eingebunden sein, sonst explizit auf no setzen. habe zum testen jetzt mal die slang lib benutzt. wenn ich mutt dann starte oder auch abook bekomme ich diese meldung:

./mutt: can't resolve symbol 'issetugid'

jetzt weiß ich nicht mal welche lib da gemeint ist. also ein einsprungspunkt fehlt.

und habe dann mal explizit die ncurses lib angegeben. ist aber der gleiche fehler mit dem xterm.



hilft das vielleicht ein bischen weiter? also wenn ich den configure ausführe?:
./configure --host=mips-linux --target=mips-linux --with-curses=/home/u0/toolchain/mips_uclib_5.5/output/target/usr/lib --disable-doc


---schnipp---
checking for waddnwstr in -lncurses... no
checking for waddnwstr in -lncursesw... no
checking for initscr in -lncurses... yes
checking for tgetent in -ltinfo... no
checking ncurses/ncurses.h usability... yes
checking ncurses/ncurses.h presence... no
configure: WARNING: ncurses/ncurses.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: ncurses/ncurses.h: proceeding with the compiler's result
checking for ncurses/ncurses.h... yes
---schnapp---
The Hit-Man schriebdie sachen sollten alle schon per default mit eingebunden sein, sonst explizit auf no setzen.
Wenn du dich damit auf die Optionen von mutt beziehst; bei deiner mutt -v Ausgabe ist jede Option *nicht* gesetzt, die ein-(minus) vorneweg hat. Also alle, die ich in meinem vorhergehenden Posting als evtl. problematisch bezogen auf das Ursprungsproblem anführte. Das PKGBUILD vom x86_64-mutt hat diese ja nicht umsonst drinnen.
The Hit-Man schrieb habe zum testen jetzt mal die slang lib benutzt.
[...]
und habe dann mal explizit die ncurses lib angegeben. ist aber der gleiche fehler mit dem xterm.
hilft das vielleicht ein bischen weiter? also wenn ich den configure ausführe?:
./configure --host=mips-linux --target=mips-linux --with-curses=/home/u0/toolchain/mips_uclib_5.5/output/target/usr/lib --disable-doc

---schnipp---
checking for waddnwstr in -lncurses... no
checking for waddnwstr in -lncursesw... no
checking for initscr in -lncurses... yes
checking for tgetent in -ltinfo... no
checking ncurses/ncurses.h usability... yes
checking ncurses/ncurses.h presence... no
configure: WARNING: ncurses/ncurses.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: ncurses/ncurses.h: proceeding with the compiler's result
checking for ncurses/ncurses.h... yes
---schnapp---
Zu slang oben und diesen Crosscompiling-Sachen kann ich leider garnichts beitragen. Müßte ich auch $Suchmaschine benutzen, und das kannst du selber wohl auch.
Evtl. wäre auch das ARM- oder direkt das freetz-Forum hilfreicher.
ich fuckel einfach mal weiter. aber danke für deine hilfe. am googeln bin ich ja schon wie wild. werde mal andere terminal programme ausprobieren.
@GerBra:

ich glaube ich habs !!!
export TERMINFO=/usr/share/terminfo ( unter freetzbox, also bevor man mutt oder abook startet )

damit rennt es schon mal in schwarz weiß ... mal schauen ob ich farbe noch rein bringen kann... da gabs ne option bei den ncurses.

jetzt noch mal, sauber alles bauen ...
6 Tage später
@GerBra:

mir ist aufgefallen wenn ich direkt das toolchain von freetz nehme, brauche ich die variable gar nicht.


aber wenn ich mutt mit imap baue, baut er zwar das binary aber unter der freetz bekomme ich einen kernel trap und nix weiter. aber nur wenn ich imap beim bauen mit benutzen will --enable-imap.

kann ich irgendwie raus finden, warum das so ist?