PDA

View Full Version : My newmake experience - January 2009



Timmaa
28-01-2009, 10:52 PM
Hi all,
I've followed the newmake tutorial and have come up against an interesting problem which I think would benefit all newbies. I'll admit that I could probably get to the bottom of this myself, but this is a community and I think that everyone who has used the CVS at the same time I did will experience this problem.
I followed the tut up the the point where it wouldn't work. I then referred to a thread on this forum to use a different tactic...
First I had a problem checking out the CVS. Then I ended up having to specify my hostapps, bootdir and appdir folders using command line switches in the configure to remedy warnings when I invoked the configure script.
See the extract from my notes below:
----------------------

newmake document returned an error:
xxxxxxx@xxxxxxx-desktop:~/tuxbox/tuxbox-cvs$ cvs -z3 -d anoncvs@***********.org:/cvs/tuxbox co -r newmake -P cdk/newmake.files
21.06.2008
for security reasons all user ssh-keys older than 04.2008 got deleted
cvs: WARNING: Read-only repository access mode selected via `cvs -R'.
Using this option to access a repository which some users write to may
cause intermittent sandbox corruption.
cvs checkout: warning: cannot open /cvs/tuxbox/CVSROOT/val-tags read/write: Permission denied
xxxxxxx@xxxxxxx-desktop:~/tuxbox/tuxbox-cvs$ ls
apps boot cdk CVS CVSROOT driver hostapps
xxxxxxx@xxxxxxx-desktop:~/tuxbox/tuxbox-cvs$ ls ./CVSROOT/
checkoutlist commitlog.pl config cvsignore editinfo modules rcsinfo verifymsg
commitinfo commit.pl CVS cvswrappers loginfo notify taginfo
xxxxxxx@xxxxxxx-desktop:~/tuxbox/tuxbox-cvs$ cvs -z3 -d ***************.org[/email]:/cvs/tuxbox co -f -r newmake 'cat cdk/newmake.files'
21.06.2008
for security reasons all user ssh-keys older than 04.2008 got deleted
cvs: WARNING: Read-only repository access mode selected via `cvs -R'.
Using this option to access a repository which some users write to may
cause intermittent sandbox corruption.
cvs server: cannot find module `cat cdk/newmake.files' - ignored
cvs [checkout aborted]: cannot expand modules
xxxxxxx@xxxxxxx-desktop:~/tuxbox/tuxbox-cvs$
Command from forum post seemed to work:
xxxxxxx@xxxxxxx-desktop:~/tuxbox/tuxbox-cvs$ cvs -d [email]*********@*******. -z3 co -f -r newmake -P .
So what's left now???
(from the WOD post)
cd cdk
./autogen.sh
./configure --prefix=/home/commando/tuxbox/dbox2 --with-cvsdir=/home/commando/tuxbox/tuxbox-cvs --with-customizationsdir=/home/commando/tuxbox/private/locals --with-ucodesdir=/home/commando/tuxbox/private/ucodes --enable-maintainer-mode --enable-cdkVcInfo --enable-ide --with-checkImage=warn --with-defaultlocale=english --enable-upnp
rm ~/tuxbox/tuxbox-cvs/Archive
ln -s ~/tuxbox/Archive ./Archive
make flash-neutrino-jffs2-all
The above command yielded warnings, had to use:...
(amended from the newmake document)
xxxxxxx@xxxxxxx-desktop:~/tuxbox/tuxbox-cvs/cdk$ ./configure --prefix="$HOME/tuxbox/dbox2"--with-cvsdir="$HOME/tuxbox/tuxbox-cvs/" --enable-flashrules --with-checkImage=warn --enable-cdkVcInfo --with-defaultlocale=english --with-appsdir="$HOME/tuxbox/tuxbox-cvs/apps/" --with-bootdir="$HOME/tuxbox/tuxbox-cvs/boot/" --with-driverdir="$HOME/tuxbox/tuxbox-cvs/driver/" --with-hostappsdir="$HOME/tuxbox/tuxbox-cvs/hostapps/" --enable-maintainer-mode
----------------------------------
I then had a problem with the 'make'. In summary, a 'make' generated header file was generated which contained syntax errors in the part of the make that attempts to build glibc....
----------------------------------
In file included from version.c:33:
/home/xxxxxx/tuxbox/tuxbox-cvs/cdk/build_glibc/csu/version-info.h:2: error: missing terminating " character
/home/xxxxxx/tuxbox/tuxbox-cvs/cdk/build_glibc/csu/version-info.h:3: error: missing terminating " character
version.c:40: error: syntax error before string constant
make[3]: *** [/home/xxxxxx/tuxbox/tuxbox-cvs/cdk/build_glibc/csu/version.o] Error 1
make[3]: Leaving directory `/home/xxxxxx/tuxbox/tuxbox-cvs/cdk/glibc-2.3.6/csu'
make[2]: *** [csu/subdir_lib] Error 2
make[2]: Leaving directory `/home/xxxxxx/tuxbox/tuxbox-cvs/cdk/glibc-2.3.6'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/xxxxxx/tuxbox/tuxbox-cvs/cdk/build_glibc'
make: *** [.deps/libc] Error 2
----------------------------------
I found the file, and corrected the bug
Every line starts "
and ends /n"
Tap-in fix!
....but the next make yielded the same result! I re-checked the file and my fix as gone... This header file is evidently dynamically generated by the "make"...
(I thought my notes contained the exact message. I can't find them ATM but they are probably on the Ubutnu box upstairs.
Based on my experience I'd say a text file which actually prints the code for escape characters rather using them is a bug)
So...
I checked through the screen output of make and found the dodgy bit of script that generates the header. By my reckoning, it's therefore embedded into the makefile, which is created by configure... (?)
----------------------------------
if [ -z "$version" ]; then \
if [ -r /proc/version ]; then \
version=`sed 's/.*Linux version \([^ ]*\) .*/>>\1<</' \
< /proc/version`; \
else \
version=`uname -r`; \
fi; \
fi; \
os=`uname -s 2> /dev/null`; \
if [ -z "$os" ]; then \
os=Linux; \
fi; \
printf '"Compiled on a %s %s system on %s.\\n"\n' \
"$os" "$version" "`date +%Y-%m-%d`";; \
*) ;; \
esac; \
files="../libio/Banner ../crypt/Banner ../linuxthreads/Banner ../resolv/Banner ../linuxthreads_db/Banner ../nis/Banner ../soft-fp/Banner"; \
if test -n "$files"; then \
echo "\"Available extensions:\\n\""; \
sed -e '/^#/d' -e 's/^[[:space:]]*/ /' \
-e 's/^\(.*\)$/\"\1\\n\"/' $files; \
fi) >
----------------------------------
I therefore think that ANYONE using the same source I did will see this problem (I did this on Sunday)
I'm pretty sure I could get to the bottom of this myself, but it would take some time. And I may be p*ssing in the wind. Is it about time I asked someone for help?
I have to squeeze this stuff in between my family life. But I hope I've convinced you guys I'm not a mug and and someone takes an interest. It's easier to keep your motivation up when you've got someone to bounce your ideas off.
Does anyone want to chip in?
Cheers

I should add that the 'make' command I used was the jffs one from the 'newmake' tutorial doc.