From: SourceForge.net <no...@so...> - 2006-05-12 06:01:07
|
Bugs item #1474987, was opened at 2006-04-23 14:21 Message generated for change (Settings changed) made by hsack You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1474987&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Build system Group: None >Status: Closed >Resolution: Fixed Priority: 3 Submitted By: Hubert Sack (hsack) >Assigned to: Nobody/Anonymous (nobody) Summary: Difficulties with CHECKOUT by SVN Initial Comment: I downloaded and installed successfully TortoiseSVN for Windows XP. Then I did an "check out" of the full sdcc "trunk" to "d:\sf.net". Within a cygwin window I run "configure" as needed and I ever did with the snapshot downloads by CVS. Everything seems do be o.k. But running "make" produces the error messages shown in the attached screenshot. I searched for the reason but didn't find anything yet. Running "make" in the directory containing the last snapshot done by CVS (2.5.5 #1233 of 04/08/2006) completes without errors. The errors must be belong anyway to the "configure" script, but that script doesn't change compared to the CVS snapshot of the version listet above. Where should I take a detailed look to? I am not a developer of sdcc but I did already some support to the compiler and there are some open RFE's and Patches (SDCCopt.c; mcs51/gen.c; mcs51/peeph.def), which are not implemented yet... ---------------------------------------------------------------------- Comment By: Hubert Sack (hsack) Date: 2006-05-11 23:06 Message: Logged In: YES user_id=1160854 Thank you all for your help! I now used svn of cygwin and binary mode of the mount SED is lucky again - I mean: It works again I did not expect that TortoiseSVN is only useable for "DOS" files, therefore I did *not* check for the type of the line-endings... I think Tortoise should not change the line endings (or configurable by the user) Do you remember OS9/68K (not OS/2)? The line endings there were CR :-) I want to suggest configure should check if there are CRLF line endings, write a error message and stop it's execution It would take nearly no execution time to do so but saves a lot of time for searching... Thank you all again for the help Hubert ---------------------------------------------------------------------- Comment By: Borut Razem (borutr) Date: 2006-05-11 22:02 Message: Logged In: YES user_id=568035 Bernhard, we are here to help Hubert, not to start a new holy war ;-). We both showed him where the problem is and two possible ways how to solve it. Both solutions work, so leave him the decision. I just hope that he will be able to solve the problem. If not, we are still here. Borut ---------------------------------------------------------------------- Comment By: Maarten Brock (maartenbrock) Date: 2006-05-11 21:54 Message: Logged In: YES user_id=888171 > Mixing tools/environments is not a good idea. I would > dump this tool. I agree mixing tools is bad. So better not use TortoiseSVN if you use cygwin. But if you use Visual C (as I do) TortoiseSVN is perfect. I've never had any complaint about line endings checked out or committed. (Same goes for TortoiseCVS but that's outdated info now.) ---------------------------------------------------------------------- Comment By: Bernhard Held (bernhardheld) Date: 2006-05-11 21:33 Message: Logged In: YES user_id=203539 > Since the files checked out from svn have the > CR/LF line endings (at least if TortoiseSVN is used) Mixing tools/environments is not a good idea. I would dump this tool. Using CR/LF line endings involves the high danger of committing files with these endings. I would never encourage people to use this error-prone textmode. There's no need to convert files forth and back. The build of SDCC perfectly runs with "native" LF-endings on cygwin. ---------------------------------------------------------------------- Comment By: Borut Razem (borutr) Date: 2006-05-11 20:06 Message: Logged In: YES user_id=568035 Now I analized the files from ContenseConfigStatusDir.zip. Files have LF line endings, which shows that they were generated in binmode. Files checkouted from svn have CR/LF line endings. As Bernhard wrote, sed has problems with different line endings, so the "sdccconf.h" and "support/cpp2/auto-host.h" are not patched. Which line endigs will you use is up to you, but they have to be the same for the configure tool set (cygwin) and for svn client. Borut ---------------------------------------------------------------------- Comment By: Jim Paris (jimatjtan) Date: 2006-05-11 19:33 Message: Logged In: YES user_id=175928 If you use the command-line SVN client, you can force a particular line ending by using "svn export --native-eol=<type>" where <type> is LF, CR, CRLF. For example: svn export --native-eol CRLF https://svn.sourceforge.net/svnroot/sdcc/trunk/sdcc/ sdcc-crlf svn export --native-eol LF https://svn.sourceforge.net/svnroot/sdcc/trunk/sdcc/ sdcc-lf will make two copies of sdcc, each with different line endings. ---------------------------------------------------------------------- Comment By: Borut Razem (borutr) Date: 2006-05-11 19:17 Message: Logged In: YES user_id=568035 Files from svn and files generated by configure have to have the same line endings. Since the files checked out from svn have the CR/LF line endings (at least if TortoiseSVN is used), then generated files must have the CR/LF line endings too. That's why I recommend to use textmode for cygwin. As I already wrote, I used binmode on one machine and I had problems. Switching to tetxtmode helped. I'm using the textmode on my machine all the time (also with cvs using WinCVS) and I never had problems. Borut ---------------------------------------------------------------------- Comment By: Bernhard Held (bernhardheld) Date: 2006-05-11 17:45 Message: Logged In: YES user_id=203539 Please remove -C (cache results) from your script. If configure fails, it will cache the bad result - this is certainly not what you want. Disable caching until you've got a stable build. Remove all config.cache files: find ~/sdcc -name config.cache | xargs rm The file support/cpp2/auto-host.h from your cvs is LF only, while the same file from your svn is CR/LF. The latest (SVN) support/cpp2/Makefile is CR/LF too. Even if Borut recommends a different setting: I recommend binmode. Make sure all files have LF-endings, and then re-configure in (at least) support/cpp2. IIRC sed has problems with CR/LF. ---------------------------------------------------------------------- Comment By: Hubert Sack (hsack) Date: 2006-05-11 16:39 Message: Logged In: YES user_id=1160854 And here the wanted files Gruesse aus Ddorf... ;-) ---------------------------------------------------------------------- Comment By: Bernhard Held (bernhardheld) Date: 2006-05-11 16:23 Message: Logged In: YES user_id=203539 I'd like to participate in this riddle ;-) Please attach from the failling, configured svn checkout: /etc/setup/installed.db ~/sdcc/support/cpp2/Makefile ---------------------------------------------------------------------- Comment By: Hubert Sack (hsack) Date: 2006-05-11 08:56 Message: Logged In: YES user_id=1160854 The contense of the directory (result of running ./config.status --debug) is in the attachment ---------------------------------------------------------------------- Comment By: Borut Razem (borutr) Date: 2006-05-11 08:25 Message: Logged In: YES user_id=568035 Try his: from the bash shell execute: ./config.status --debug A directory confstatXXXXXX (XXXXXX are some random letters and numbers) will be genarated. Zip the content of the directory and the config.status file and attach it ti this bug report. Borut ---------------------------------------------------------------------- Comment By: Hubert Sack (hsack) Date: 2006-05-10 21:47 Message: Logged In: YES user_id=1160854 I'm so sorry, but it doesn't solve my problem. I changed the mount type and did a complete new checkout to a blank directory. Running ./configure does *not* create any other file contense. If I do the neccessary changes to the 4 affected files (by copying from saved ones) everything works fine There is no problem with build... ---------------------------------------------------------------------- Comment By: Borut Razem (borutr) Date: 2006-05-10 16:43 Message: Logged In: YES user_id=568035 I encounted the same problem on one machine and I found out that the drive on which the sdcc is checked out is not mounted in textmode by cygwin. Execute: mount and verify that the DOS drive is mounted in textmode. For example for C: drive: ... c: on /cygdrive/c type system (textmode,noumount) ... I'm sending this report to the pending state because I belive that with this explanation the problem is solved. Please put it back to open state if it doesn't help. Borut ---------------------------------------------------------------------- Comment By: Hubert Sack (hsack) Date: 2006-04-27 22:15 Message: Logged In: YES user_id=1160854 I did some more checks - but without any success So I reinstalled the whole cygwin installation and do a new checkout to a clean directory. But: Nothing changed! The last snapshot (2.5.5#1233) of CVS does everything perfect while the lastest of SVN (2.5.6#4130) does not (using the SAME cygwin installation) ---------------------------------------------------------------------- Comment By: Hubert Sack (hsack) Date: 2006-04-24 20:17 Message: Logged In: YES user_id=1160854 I did the checkout into a new (and therefore clean) directory I have the snapshot of the CVS still in an other (fully independed) directory. Running ./configure there works completely correctly I'll take a deeper look ino the configure script and will add "set -v" at the top and log the output. I think the reason why the patching is unsuccessful must to be seen then. I'll report after doing so - but it my take some days (I must have the time for doing so) ---------------------------------------------------------------------- Comment By: Borut Razem (borutr) Date: 2006-04-24 19:20 Message: Logged In: YES user_id=568035 I ran the configure on my machine and the config.log file is equal to the one in svn(2.5.6#4112) directory, but the sdccconf.h is equal to the one in cvs(2.5.5#1233). The file sdccconf.h in svn(2.5.6#4112) seems not to be patched correctyl. Did you try to execute 'make distclean' before the ./configure? Did you checkout sdcc in the clean directory? If nothing mentioned abowe doesn't help, then something is probably wrog with your cygwin installation. Try to install it again. Borut ---------------------------------------------------------------------- Comment By: Hubert Sack (hsack) Date: 2006-04-24 14:35 Message: Logged In: YES user_id=1160854 I added a ZIP archiv where - my cygwin settings - the output of running ./configure - the warnings of running ./configure as screenshot - the files generated by the last snapshot (2.5.5#1233) using CVS - the files generated by the last snapshot (2.5.6#4112) using SVN As first aid I copied the neccessary files from the CVS snapshot - it works. I know: It's not a solution, only a work around... ---------------------------------------------------------------------- Comment By: Borut Razem (borutr) Date: 2006-04-24 11:51 Message: Logged In: YES user_id=568035 Both "sdccconf.h" and "support/cpp2/auto-host.h" are generated files. Please attach both files to the bug report. Borut ---------------------------------------------------------------------- Comment By: Hubert Sack (hsack) Date: 2006-04-23 14:59 Message: Logged In: YES user_id=1160854 I found the reason for the errors running make. "sdccconf.h" and "support/cpp2/auto-host.h" have very different contense. Why that happens, I still don't know . ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1474987&group_id=599 |