libncurses

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
goehei
Interessierter
Interessierter
Beiträge: 59
Registriert: Donnerstag 3. Januar 2002, 13:17

libncurses

Beitrag von goehei »

Hallo,
nach mehrfacher Aufforderungen an die User selbst mehr zu tun (kompilieren) hab ich es zum 3. Mal versucht.

3 verschiedene Computer ( 1x Win2000, 1x XP Home, 1x XP Pro)
zwischen 800 MHz und 1,7 GHz

CycWin mit folgenden Modulen:

Cygwin Package Information
Package Version
_update-info-dir 00076-1
ash 20020731-1
autoconf 2.53b-1
autoconf-devel 2.52-4
autoconf-stable 2.13-4
automake 1.6.2-1
automake-devel 1.6.2-1
automake-stable 1.4p5-5
base-files 1.0-1
base-passwd 1.0-1
bash 2.05b-5
binutils 20020706-2
bison 1.35-1
bzip2 1.0.2-2
crypt 1.0-1
cvs 1.11.0-1
cygwin 1.3.12-4
diff 1.0-1
diffutils 2.8.1-1
expat 1.95.4-1
fileutils 4.1-1
findutils 4.1.7-4
flex 2.5.4-2
gawk 3.1.1-5
gcc 2.95.3-5
gcc-mingw 3.2-20020817-1
gcc2 2.95.3-10
gdbm 1.8.0-4
gettext 0.11.2-2
grep 2.5-1
gzip 1.3.3-4
libbz2_1 1.0.2-2
libiconv2 1.8-2
libintl1 0.10.40-1
libintl2 0.11.2-2
libltdl3 20020705-2
libncurses5 5.2-1
libncurses6 5.2-8
libreadline4 4.1-2
libreadline5 4.3-1
libtool 20020705-1
libtool-devel 20020705-2
libtool-stable 1.4.2-2
login 1.4-4
m4 0.0
make 3.79.1-7
mingw-runtime 2.2-1
mktemp 1.4-1
ncurses 5.2-8
openssl 0.9.6g-1
patch 2.5-3
pcre 3.7-1
perl 5.8.0-1
pkgconfig 0.12.0-1
readline 4.3-1
sed 3.02-1
sh-utils 2.0-2
tar 1.13.25-1
termcap 20020403-1
terminfo 5.2-2
texinfo 4.2-3
textutils 2.0.21-1
w32api 2.0-1
wget 1.8.2-1
which 1.5-1


CVS aus verschiedenen Tagen seit 21.10.2002 ausgecheckt. Fehlermeldung beim make all:

powerpc-tuxbox-linux-gnu-gcc -shared -Wl,-soname,`basename ../lib/libncurses.so.
5.2 .5.2`.5,-stats,-lc -o ../lib/libncurses.so.5.2 ../obj_s/hardscroll.o ../obj_
s/hashmap.o ../obj_s/lib_addch.o ../obj_s/lib_addstr.o ../obj_s/lib_beep.o ../ob
j_s/lib_bkgd.o ../obj_s/lib_box.o ../obj_s/lib_chgat.o ../obj_s/lib_clear.o ../o
bj_s/lib_clearok.o ../obj_s/lib_clrbot.o ../obj_s/lib_clreol.o ../obj_s/lib_colo
r.o ../obj_s/lib_colorset.o ../obj_s/lib_delch.o ../obj_s/lib_delwin.o ../obj_s/
lib_echo.o ../obj_s/lib_endwin.o ../obj_s/lib_erase.o ../obj_s/lib_flash.o ../ob
j_s/lib_gen.o ../obj_s/lib_getch.o ../obj_s/lib_getstr.o ../obj_s/lib_hline.o ..
/obj_s/lib_immedok.o ../obj_s/lib_inchstr.o ../obj_s/lib_initscr.o ../obj_s/lib_
insch.o ../obj_s/lib_insdel.o ../obj_s/lib_insstr.o ../obj_s/lib_instr.o ../obj_
s/lib_isendwin.o ../obj_s/lib_leaveok.o ../obj_s/lib_mouse.o ../obj_s/lib_move.o
../obj_s/lib_mvcur.o ../obj_s/lib_mvwin.o ../obj_s/lib_newterm.o ../obj_s/lib_n
ewwin.o ../obj_s/lib_nl.o ../obj_s/lib_overlay.o ../obj_s/lib_pad.o ../obj_s/lib
_printw.o ../obj_s/lib_redrawln.o ../obj_s/lib_refresh.o ../obj_s/lib_restart.o
../obj_s/lib_scanw.o ../obj_s/lib_screen.o ../obj_s/lib_scroll.o ../obj_s/lib_sc
rollok.o ../obj_s/lib_scrreg.o ../obj_s/lib_set_term.o ../obj_s/lib_slk.o ../obj
_s/lib_slkatr_set.o ../obj_s/lib_slkatrof.o ../obj_s/lib_slkatron.o ../obj_s/lib
_slkatrset.o ../obj_s/lib_slkattr.o ../obj_s/lib_slkclear.o ../obj_s/lib_slkcolo
r.o ../obj_s/lib_slkinit.o ../obj_s/lib_slklab.o ../obj_s/lib_slkrefr.o ../obj_s
/lib_slkset.o ../obj_s/lib_slktouch.o ../obj_s/lib_touch.o ../obj_s/lib_tstp.o .
./obj_s/lib_ungetch.o ../obj_s/lib_vidattr.o ../obj_s/lib_vline.o ../obj_s/lib_w
attroff.o ../obj_s/lib_wattron.o ../obj_s/lib_winch.o ../obj_s/lib_window.o ../o
bj_s/nc_panel.o ../obj_s/safe_sprintf.o ../obj_s/tty_update.o ../obj_s/memmove.o
../obj_s/sigaction.o ../obj_s/vsscanf.o ../obj_s/define_key.o ../obj_s/expanded
.o ../obj_s/keybound.o ../obj_s/keyok.o ../obj_s/lib_dft_fgbg.o ../obj_s/lib_fre
eall.o ../obj_s/lib_print.o ../obj_s/resizeterm.o ../obj_s/tries.o ../obj_s/vers
ion.o ../obj_s/wresize.o ../obj_s/access.o ../obj_s/add_tries.o ../obj_s/alloc_e
ntry.o ../obj_s/alloc_ttype.o ../obj_s/captoinfo.o ../obj_s/codes.o ../obj_s/com
p_captab.o ../obj_s/comp_error.o ../obj_s/comp_expand.o ../obj_s/comp_hash.o ../
obj_s/comp_parse.o ../obj_s/comp_scan.o ../obj_s/doalloc.o ../obj_s/fallback.o .
./obj_s/free_ttype.o ../obj_s/getenv_num.o ../obj_s/home_terminfo.o ../obj_s/ini
t_keytry.o ../obj_s/lib_acs.o ../obj_s/lib_baudrate.o ../obj_s/lib_cur_term.o ..
/obj_s/lib_data.o ../obj_s/lib_has_cap.o ../obj_s/lib_kernel.o ../obj_s/lib_keyn
ame.o ../obj_s/lib_longname.o ../obj_s/lib_napms.o ../obj_s/lib_options.o ../obj
_s/lib_raw.o ../obj_s/lib_setup.o ../obj_s/lib_termcap.o ../obj_s/lib_termname.o
../obj_s/lib_tgoto.o ../obj_s/lib_ti.o ../obj_s/lib_tparm.o ../obj_s/lib_tputs.
o ../obj_s/lib_trace.o ../obj_s/lib_ttyflags.o ../obj_s/lib_twait.o ../obj_s/nam
e_match.o ../obj_s/names.o ../obj_s/parse_entry.o ../obj_s/read_entry.o ../obj_s
/read_termcap.o ../obj_s/setbuf.o ../obj_s/strings.o ../obj_s/unctrl.o ../obj_s/
write_entry.o -L../lib -L/lib
/lib/libc.a: could not read symbols: File format not recognized
collect2: ld returned 1 exit status
make[2]: *** [../lib/libncurses.so.5.2] Error 1
make[2]: Leaving directory `/home/Manfred/tuxbox-cvs/cdk/ncurses-5.2/ncurses'
make[1]: *** [install.libs] Error 2
make[1]: Leaving directory `/home/Manfred/tuxbox-cvs/cdk/ncurses-5.2'
make: *** [.libncurses] Error 2

Gibt es im CDK ein Fehler oder bin ich der Fehler?


Gruß
goehei
1 x Nokia Sat (Avia500) 2xI
+tbn
Interessierter
Interessierter
Beiträge: 43
Registriert: Dienstag 11. Dezember 2001, 00:00

Beitrag von +tbn »

hehe... Diesmal sitzt das Problem nicht davor... :)

Es ist ein "Schönheitsfehler" im CDK:

Unter .libncurses sollte es anstelle

Code: Alles auswählen

		./configure \
			--build=$(build) \
			--host=$(target) \
			--prefix= \
			--with-terminfo-dirs=/share/terminfo \
			--disable-big-core \
			--without-debug \
			--without-progs \
			--without-ada \
			--with-shared \
			--without-profile \
			--disable-rpath \
			--without-cxx-binding \
			--with-fallbacks='linux vt100 xterm' && \ 
so aussehen

Code: Alles auswählen

		./configure \
			--build=$(build) \
			--host=$(target) \
			--prefix=$(targetprefix) \
			--with-terminfo-dirs=/share/terminfo \
			--disable-big-core \
			--without-debug \
			--without-progs \
			--without-ada \
			--with-shared \
			--without-profile \
			--disable-rpath \
			--without-cxx-binding \
			--with-fallbacks='linux vt100 xterm' && \ 
Also den --prefix richtig setzen. Dann klappt es -zumindest bei mir- auch unter cygwin.

HTH
+tbn
obi
Senior Member
Beiträge: 1282
Registriert: Montag 12. November 2001, 00:00

Beitrag von obi »

kann man dieses scheiss cygwin nicht mal irgendwann in die tonne kloppen? :evil:
+tbn
Interessierter
Interessierter
Beiträge: 43
Registriert: Dienstag 11. Dezember 2001, 00:00

Beitrag von +tbn »

Warum nicht? Dann aber auch konsequent sein und die hostrulesets entfernen. Nicht das jemand auf die Idee kommt... 8)
Madtrax
Neugieriger
Neugieriger
Beiträge: 19
Registriert: Sonntag 7. Juli 2002, 17:36

Beitrag von Madtrax »

Hallo

bloss nicht.........

cygwin ist ne feine Sache für WINDOOF User......

Gebe ja zu ... bin auch so einer......

Es läuft doch...... irgendwie :D

Also Hände weg vom entfernen des cygwin.......
obi
Senior Member
Beiträge: 1282
Registriert: Montag 12. November 2001, 00:00

Beitrag von obi »

Die Sache mit prefix= statt prefix=$(targetprefix) und dafuer make install DESTDIR=$(targetprefix) statt make install ist wesentlich sauberer. da das Kompilat seine Libs und Sonstiges in der nfsroot Umgebung nicht zuerst im falschen Pfad sucht.

Also viel Spass beim cygwin fixen, das Makefile.am ist so okay. Es wird so auch bei den meisten anderen Paketen in Zukunft sein.

- obi
Nessie3
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Montag 14. Oktober 2002, 09:24

Beitrag von Nessie3 »

mal blöd gefragt, wo muss ich das make install DESTDIR=$(targetprefix) einfügen?

Das --prefix=$(targetprefix) führt nur zu einem weiteren Fehler bei .netkit_telnet.

(ich weiss, schon wieder so ein ... Cygwin Benutzer :-? )
+tbn
Interessierter
Interessierter
Beiträge: 43
Registriert: Dienstag 11. Dezember 2001, 00:00

Beitrag von +tbn »

du mußt nicht nur --prefix=$(targetprefix) einfügen - sondern auch aus "make install DESTDIR=$(targetprefix)" ein "make install" machen.

Ansonsten installiert sich der Kram nach /dbox2/cdkroot/dbox2/cdkroot/
und spätere Packages finden es nicht.

Spaßeshalber habe ich mal einen Patch für das ncurses gebaut. Macht aber mit dem Makefile keinen Sinn. Anhand des "make all" erkennt es nicht das DESTDIR. Man muss so oder so das Makefile anfassen - also gibt es keine "schöne" Lösung.
(es sei denn, jemand hat eine Idee)
Janus
Einsteiger
Einsteiger
Beiträge: 232
Registriert: Montag 30. Juli 2001, 00:00

Beitrag von Janus »

cdk\makefile.am

Code: Alles auswählen

			--with-fallbacks='linux vt100 xterm' && \
		@INSTALL_libncurses@
??? fehlt dazwischen nicht ein ==> $(MAKE) all && \

Janus
Nessie3
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Montag 14. Oktober 2002, 09:24

Beitrag von Nessie3 »

+tbn hat geschrieben:du mußt nicht nur --prefix=$(targetprefix) einfügen - sondern auch aus "make install DESTDIR=$(targetprefix)" ein "make install" machen.

Ansonsten installiert sich der Kram nach /dbox2/cdkroot/dbox2/cdkroot/
und spätere Packages finden es nicht.

Spaßeshalber habe ich mal einen Patch für das ncurses gebaut. Macht aber mit dem Makefile keinen Sinn. Anhand des "make all" erkennt es nicht das DESTDIR. Man muss so oder so das Makefile anfassen - also gibt es keine "schöne" Lösung.
(es sei denn, jemand hat eine Idee)
Schönen Gruß an +tbn,
touch .nano mit Cygwin


Anbei ein Miniskript zum Patchen des Makefiles:

Code: Alles auswählen

#!/bin/bash
nr=`grep -n --exclude -25 --after-context=25 ".libncurses:" Makefile | grep "prefix=" | grep -o "[0-9].."`
sed -e $nr's/prefix=/prefix=$(targetprefix)/' <Makefile >tmp && mv -f tmp Makefile
nr=`grep -n --exclude -25 --after-context=25 ".libncurses:" Makefile | grep "DESTDIR=" | grep -o "[0-9].."`
sed -e $nr's/DESTDIR=$(targetprefix)//' <Makefile >tmp && mv -f tmp Makefile
(hab ich mir ganz schön die Finger verknotet bei ) :D
woglinde
Einsteiger
Einsteiger
Beiträge: 261
Registriert: Donnerstag 15. November 2001, 00:00

Beitrag von woglinde »

Hi nessi3,

wieso machst du keinen patch, den koennen wir dann auch ganz einfach
ins CDK einpflegen.

Gruss woglinde
Nessie3
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Montag 14. Oktober 2002, 09:24

Beitrag von Nessie3 »

Hi woglinde
wäre besser, wenn es offiziell gefixt wird.
Bis dahin tut es das Miniskript doch auch. Die meisten lassen doch sowieso ein Skript zum Auschecken und maken laufen... :wink:
+tbn
Interessierter
Interessierter
Beiträge: 43
Registriert: Dienstag 11. Dezember 2001, 00:00

Beitrag von +tbn »

Ich habe einen Patch für ncurses gebaut. Der funktioniert aber nicht mit diesem Aufruf, weil das "make all" bislang kein DESTDIR übergibt

Code: Alles auswählen

		$(MAKE) all && \
		$(MAKE) install.libs DESTDIR=$(targetprefix) 
Also nur so

Code: Alles auswählen

		$(MAKE) all DESTDIR=$(targetprefix) && \
		$(MAKE) install.libs DESTDIR=$(targetprefix) 
oder so

Code: Alles auswählen

		$(MAKE) install.libs DESTDIR=$(targetprefix) 
kann der Patch funktionieren.
Somit bringt der Patch nichts, da das Makefile angepaßt werden muß. Da kann man gleich das Skript in diesem Thread nehmen - oder selbst Hand anlegen.