Re: Build problems with ZDS-II
I saw several patch for z80, does the problem get fixed or we need take a look? No, it is not fixed. That is just repartitioning of functionality.
Re: Build problems with ZDS-II
Greg, I saw several patch for z80, does the problem get fixed or we need take a look? Thanks Xiang On Fri, Feb 21, 2020 at 4:25 AM Gregory Nutt wrote: > > Here is a little more detail about the error: > > > > Here are the problems that I see now: > > > > 1. The eZ80 COMPILE target generates the .obj file without using the > > fully decorated object name. For example, when it is supposed to > > generate: > > > > > > mkfatfs.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj > > > > It instead generates: > > > > mkfatfs.obj > > > > That should be easy to fix in the COMPILE and ASSEMBLE definitions. > > > > 2. The full path to the archive is > > > > D:\Spuda\Documents\projects\nuttx\master\apps-fork\libapps.lib > > > > But by the time it gets to the ZDS-II librarian, it becomes: > > > > D:SpudaDocumentsprojectsnuttxmasterapps-forklibapps.lib > > > > I haven't figures out where the backslashes are being lost yet. > > > > I am expecting that this explicit GCC command option will cause > > failures too: > > > > ./Makefile: $(call COMPILE, -fno-lto $<, $@) > > > > That really should be dependent on CONFIG_ARCH_TOOLCHAIN_GNU. There > > should be an issue opened up on that. > > > > These all seem like simple things, but I haven't solved them all yet. > > Makefiles are too difficult to debug! > > > Detailed output with V=1 and some instrumentation: > > make[2]: Entering directory > > '/cygdrive/d/Spuda/Documents/projects/nuttx/master/apps-fork/fsutils/mkfatfs' > > ### Here three files are compiled. They still generate the > undecorated object files. > > /cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80cc.exe -warn > -nodebug -optsize -keeplst -NOlist -NOlistinc -keepasm -chartype:S > -promote -cpu:eZ80F91 -NOgenprintf -NOmodsect -asmsw:" -cpu:eZ80F91 > -NOigcase > > -include:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog' > -warn -nodebug -NOsdiopt" > > -stdinc:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog' > -usrinc:'.' -define:_EZ80F91 -define: > -usrinc:'D:\Spuda\Documents\projects\nuttx\master\apps-fork\include' > `cygpath -w " mkfatfs.c"` > mkfatfs.c > > /cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80cc.exe -warn > -nodebug -optsize -keeplst -NOlist -NOlistinc -keepasm -chartype:S > -promote -cpu:eZ80F91 -NOgenprintf -NOmodsect -asmsw:" -cpu:eZ80F91 > -NOigcase > > -include:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog' > -warn -nodebug -NOsdiopt" > > -stdinc:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog' > -usrinc:'.' -define:_EZ80F91 -define: > -usrinc:'D:\Spuda\Documents\projects\nuttx\master\apps-fork\include' > `cygpath -w " configfat.c"` > configfat.c > > /cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80cc.exe -warn > -nodebug -optsize -keeplst -NOlist -NOlistinc -keepasm -chartype:S > -promote -cpu:eZ80F91 -NOgenprintf -NOmodsect -asmsw:" -cpu:eZ80F91 > -NOigcase > > -include:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog' > -warn -nodebug -NOsdiopt" > > -stdinc:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog' > -usrinc:'.' -define:_EZ80F91 -define: > -usrinc:'D:\Spuda\Documents\projects\nuttx\master\apps-fork\include' > `cygpath -w " writefat.c"` > writefat.c > > ### Here is the ARCHIVE. A debug echo shows that $1, $2m, and $AR > are okay > > 1= D:SpudaDocumentsprojectsnuttxmasterapps-forklibapps.lib > 2= > > mkfatfs.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj > > configfat.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj > > writefat.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj > AR=/cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80lib.exe > > ### This is the ARCHIVE loop. Things are divided on separate lines > to make it more readable > > for __obj in > > mkfatfs.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj > > configfat.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj > > writefat.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj > ; \ > do \ > /cygdrive/c/ZiLOG/ZDSII_eZ80Accl
Re: Build problems with ZDS-II
Here is a little more detail about the error: Here are the problems that I see now: 1. The eZ80 COMPILE target generates the .obj file without using the fully decorated object name. For example, when it is supposed to generate: mkfatfs.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj It instead generates: mkfatfs.obj That should be easy to fix in the COMPILE and ASSEMBLE definitions. 2. The full path to the archive is D:\Spuda\Documents\projects\nuttx\master\apps-fork\libapps.lib But by the time it gets to the ZDS-II librarian, it becomes: D:SpudaDocumentsprojectsnuttxmasterapps-forklibapps.lib I haven't figures out where the backslashes are being lost yet. I am expecting that this explicit GCC command option will cause failures too: ./Makefile: $(call COMPILE, -fno-lto $<, $@) That really should be dependent on CONFIG_ARCH_TOOLCHAIN_GNU. There should be an issue opened up on that. These all seem like simple things, but I haven't solved them all yet. Makefiles are too difficult to debug! Detailed output with V=1 and some instrumentation: make[2]: Entering directory '/cygdrive/d/Spuda/Documents/projects/nuttx/master/apps-fork/fsutils/mkfatfs' ### Here three files are compiled. They still generate the undecorated object files. /cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80cc.exe -warn -nodebug -optsize -keeplst -NOlist -NOlistinc -keepasm -chartype:S -promote -cpu:eZ80F91 -NOgenprintf -NOmodsect -asmsw:" -cpu:eZ80F91 -NOigcase -include:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog' -warn -nodebug -NOsdiopt" -stdinc:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog' -usrinc:'.' -define:_EZ80F91 -define: -usrinc:'D:\Spuda\Documents\projects\nuttx\master\apps-fork\include' `cygpath -w " mkfatfs.c"` mkfatfs.c /cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80cc.exe -warn -nodebug -optsize -keeplst -NOlist -NOlistinc -keepasm -chartype:S -promote -cpu:eZ80F91 -NOgenprintf -NOmodsect -asmsw:" -cpu:eZ80F91 -NOigcase -include:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog' -warn -nodebug -NOsdiopt" -stdinc:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog' -usrinc:'.' -define:_EZ80F91 -define: -usrinc:'D:\Spuda\Documents\projects\nuttx\master\apps-fork\include' `cygpath -w " configfat.c"` configfat.c /cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80cc.exe -warn -nodebug -optsize -keeplst -NOlist -NOlistinc -keepasm -chartype:S -promote -cpu:eZ80F91 -NOgenprintf -NOmodsect -asmsw:" -cpu:eZ80F91 -NOigcase -include:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog' -warn -nodebug -NOsdiopt" -stdinc:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog' -usrinc:'.' -define:_EZ80F91 -define: -usrinc:'D:\Spuda\Documents\projects\nuttx\master\apps-fork\include' `cygpath -w " writefat.c"` writefat.c ### Here is the ARCHIVE. A debug echo shows that $1, $2m, and $AR are okay 1= D:SpudaDocumentsprojectsnuttxmasterapps-forklibapps.lib 2= mkfatfs.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj configfat.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj writefat.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj AR=/cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80lib.exe ### This is the ARCHIVE loop. Things are divided on separate lines to make it more readable for __obj in mkfatfs.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj configfat.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj writefat.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj ; \ do \ /cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80lib.exe -quiet -warn "D:\Spuda\Documents\projects\nuttx\master\apps-fork\libapps.lib"=-+$__obj || \ { echo "/cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80lib.exe "D:\Spuda\Documents\projects\nuttx\master\apps-fork\libapps.lib"=-+$__obj FAILED!" ; exit 1 ; } \ done ### This looks like the first call to $(AR). The $(AR) is missing and seems to generate the error ### The library patch still seems good -quiet -w
Re: Build problems with ZDS-II
On 2/20/2020 11:17 AM, Xiang Xiao wrote: Do you include my patch? Yes And does the same config pass the build yesterday? Yesterday I could not see some failures because $(Q) was still there. So the archiver echo error output was being lost. Things have gotten worse since yesterday, but I think most of the issues are on the ez80 side. Here are the problems that I see now: 1. The eZ80 COMPILE target generates the .obj file without using the fully decorated object name. For example, when it is supposed to generate: mkfatfs.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj It instead generates: mkfatfs.obj That should be easy to fix in the COMPILE and ASSEMBLE definitions. 2. The full path to the archive is D:\Spuda\Documents\projects\nuttx\master\apps-fork\libapps.lib But by the time it gets to the ZDS-II librarian, it becomes: D:SpudaDocumentsprojectsnuttxmasterapps-forklibapps.lib I haven't figures out where the backslashes are being lost yet. I am expecting that this explicit GCC command option will cause failures too: ./Makefile: $(call COMPILE, -fno-lto $<, $@) That really should be dependent on CONFIG_ARCH_TOOLCHAIN_GNU. There should be an issue opened up on that. These all seem like simple things, but I haven't solved them all yet. Makefiles are too difficult to debug! Greg
Re: Build problems with ZDS-II
Do you include my patch? https://github.com/apache/incubator-nuttx-apps/pull/79 And does the same config pass the build yesterday? This patch modify some z80 specifical Make.defs: commit 342f76a5292d4b5f70cb0184d21225689c3ccec2 Author: Xiang Xiao Date: Wed Feb 19 19:41:54 2020 +0800 Makefile: Remove @echo from ARCHIVE to avoid shell complain that @echo can't find if the variable expand in the compound command(e.g. ARLOCK) and remove $(Q) before $AR so the result is almost same as before. But the change is minor. Thanks Xiang On Fri, Feb 21, 2020 at 1:00 AM Gregory Nutt wrote: > > Hi, Xiang, Chao, > > I am building for the ez80-based z20x board now and running into some > problems. I am getting warnings like this in every directory under apps: > > make[2]: Entering directory > '/cygdrive/d/Spuda/Documents/projects/nuttx/master/apps/fsutils/mkfatfs' > mkfatfs.c > configfat.c > writefat.c > (Module: D:\Spuda\Documents\projects\nuttx\master\apps\libapps.lib) > WARNING (610) --> Module > > "mkfatfs.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps.fsutils.mkfatfs.obj" > not found. > (Module: D:\Spuda\Documents\projects\nuttx\master\apps\libapps.lib) > WARNING (610) --> Module > > "configfat.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps.fsutils.mkfatfs.obj" > not found. > (Module: D:\Spuda\Documents\projects\nuttx\master\apps\libapps.lib) > WARNING (610) --> Module > > "writefat.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps.fsutils.mkfatfs.obj" > not found. > make[2]: Leaving directory > '/cygdrive/d/Spuda/Documents/projects/nuttx/master/apps/fsutils/mkfatfs' > > That is a shorter example that illustrates the problem. At the end of > the successful compilation, I also get some linker errors that would > seem to indicate that there is file corruption, but I cannot yet be > certain of that. > > Any thought? The warnings are annoying if nothing else. > > Greg > >