Jump to content

Clover Problems and Solutions


3,206 posts in this topic

Recommended Posts

 Compiling in Windows I got new error

d:\projects\clover\Build\Clover\RELEASE_VS2013x86\X64\MdePkg\Library\BaseLib\BaseLib\OUTPUT\X64\LongJump.iii:16: fatal: unable to open include file `Nasm.inc'

But why? This is not happen with UDK2018.

9 hours ago, cecekpawon said:

- Stable: edk2-stable201905 tag (edk2-stable201908 tag broke so many things with some of my projects, idk it will affected to Clover / not)

edk2-stable201908 works for me with all fixes.

Attached are the fixes for it.

- Apply patches in Clover_patchset.tar.gz to Clover (with git am --keep-cr).

- Apple patches ini EDK2_patchset.tar.gz to EDK2 latest from github (with git am --keep-cr).

- Copy Patches_for_EDK2 from Clover to EDK2.

 

I don't have a github account, so can't push anything there.

Clover_patchset.tar.gz

EDK2_patchset.tar.gz

 

3 hours ago, Slice said:

 Compiling in Windows I got new error

d:\projects\clover\Build\Clover\RELEASE_VS2013x86\X64\MdePkg\Library\BaseLib\BaseLib\OUTPUT\X64\LongJump.iii:16: fatal: unable to open include file `Nasm.inc'

But why? This is not happen with UDK2018.

Nasm.inc is found in

MdePkg/Include/X64/Nasm.inc

 

It was added around Feb 2019, so is not in UDK2018

I think maybe you need to sort out the .dec files

For example, in my patches above there is

diff --git a/CloverEFI/OsxEfiLdr/EfiLdr.inf b/CloverEFI/OsxEfiLdr/EfiLdr.inf
--- a/CloverEFI/OsxEfiLdr/EfiLdr.inf
+++ b/CloverEFI/OsxEfiLdr/EfiLdr.inf
@@ -26,8 +26,8 @@
 [Packages]
        Clover/CloverPkg.dec
   MdePkg/MdePkg.dec
-#  MdeModulePkg/MdeModulePkg.dec
-  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
+  MdeModulePkg/MdeModulePkg.dec
+#  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
 
 [LibraryClasses]
   BaseLib

so it could be something like that.  Anyhow, all the needed fixes are in the patches I uploaded.  Haven't tried compiling with Windows VS2013.  I only have VS2019, but I never tried compiling Clover in Windows.

Edited by Zenith432
  • Thanks 1

Thanks! I applied your patches and got

Dell:Clover sergey$ git am --keep-cr </Users/sergey/Downloads/Clover_patchset/0002-Sync-EDK2.patch 
Applying: Sync EDK2
error: patch failed: CloverEFI/OsxEfiLdr/EfiLdr.inf:26
error: CloverEFI/OsxEfiLdr/EfiLdr.inf: patch does not apply
error: Patches_for_EDK2/BaseTools/Source/C/GNUmakefile: does not exist in index
error: Patches_for_EDK2/BaseTools/Source/C/Makefile: does not exist in index
error: Patches_for_EDK2/MdePkg/Include/Uefi/UefiBaseType.h: does not exist in index
error: Patches_for_EDK2/MdePkg/Library/BaseLib/BaseLib.inf: does not exist in index
error: Patches_for_EDK2/MdePkg/Library/BaseLib/String.c: does not exist in index
error: Patches_for_EDK2/ShellPkg/Include/Library/ShellLib.h: does not exist in index
error: patch failed: ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf:34
error: ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf: patch does not apply
error: patch failed: ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf:34
error: ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf: patch does not apply
Patch failed at 0001 Sync EDK2
hint: Use 'git am --show-current-patch' to see the failed patch

Looks like not significant as files absent. I just think to not keep Patches_for_* and apply them immediately.

Or you have other idea?

 

1 hour ago, Slice said:

Looks like not significant as files absent. I just think to not keep Patches_for_* and apply them immediately.

Or you have other idea?

This patch was meant for Clover r5064 as it appears in sourceforge.  It looks like you're applying it to something else - maybe the newly structured stuff in github - so obviously it doesn't work because it has to be rearranged.

36 minutes ago, Zenith432 said:

This patch was meant for Clover r5064 as it appears in sourceforge.  It looks like you're applying it to something else - maybe the newly structured stuff in github - so obviously it doesn't work because it has to be rearranged.

You can commit to sf.net by yourself but yes github has other stuff.

@Slice:

I was able to reproduce the errors you posted here by applying my patch to CloverHackyColor/CloverBootloader.

 

Attached is an adaptation of my patch to CloverHackyColor/CloverBootloader

 

However, I removed all the changes for Patches_for_EDK2 folder, because you deleted this folder.  It only includes the changes to the Clover tree outside Patches_for_EDK2 and outside the EDK2 source code itself which you merged into the Clover tree.

 

I still cannot build.  Currently stuck at build.py not in the tree even though it's in EDK2 tree at

BaseTools/Source/Python/build/build.py

 

CloverHackyColor_patchset.tar.gz

  • Like 2
1 hour ago, vector sigma said:

vectorsigma72

Welcome!

I still have a problem with Nasm.inc

 "C:\Program Files (x86)\NASM\nasm" -Id:\projects\clover\MdePkg\Library\BaseLib\X64\ -ID:\Projects\Clover\MdePkg\Include\X64 -Ox -f win64 -o d:\projects\clover\Build\Clover\RELEASE_VS2015x86\X64\MdePkg\Library\BaseLib\BaseLib\OUTPUT\X64\LongJump.obj d:\projects\clover\Build\Clover\RELEASE_VS2015x86\X64\MdePkg\Library\BaseLib\BaseLib\OUTPUT\X64\LongJump.iii

d:\projects\clover\Build\Clover\RELEASE_VS2015x86\X64\MdePkg\Library\BaseLib\BaseLib\OUTPUT\X64\LongJump.iii:16: fatal: unable to open include file `Nasm.inc'
NMAKE : fatal error U1077: '"C:\Program Files (x86)\NASM\nasm.EXE"' : return code '0x1'

 

  • Thanks 1

@Slice

MdePkg/Include/X64/Nasm.inc

It's there.

If it says not found means includepath is wrong

Your output does not show which Dxe BaseLib is being built for.

Find the Inf file for the Dxe that's being built

Look at the .dec files listed - should be MdePkg.dec in there.

 

The sync of edk2-stable201908 into sourceforge Clover is work in progress, because I still have to move modules from the discontinued IntelFrameworkModulePkg into Clover.  I hope I left it in working state and 5066 is compilable with the March 2019 EDK2 or UDK2018.

Edited by Zenith432
  • Like 1

Just a command line

nasm  -I'D:\Projects\Clover\MdePkg\Include\X64\' -Ox -f win64 -o d:\projects\clover\Build\Clover\RELEASE_VS2015x86\X64\MdePkg\Library\BaseLib\BaseLib\OUTPUT\X64\LongJump.obj d:\projects\clover\Build\Clover\RELEASE_VS2015x86\X64\MdePkg\Library\BaseLib\BaseLib\OUTPUT\X64\LongJump.iii
d:\projects\clover\Build\Clover\RELEASE_VS2015x86\X64\MdePkg\Library\BaseLib\BaseLib\OUTPUT\X64\LongJump.iii:16: fatal: unable to open include file `Nasm.inc'

I know the file is in the path  -I'D:\Projects\Clover\MdePkg\Include\X64'  but nasm can't include it. Line ending? or something else?

This command worked

nasm -Ox -f win64 -o d:\projects\clover\Build\Clover\RELEASE_VS2015x86\X64\MdePkg\Library\BaseLib\BaseLib\OUTPUT\X64\LongJump.obj d:\projects\clover\Build\Clover\RELEASE_VS2015x86\X64\MdePkg\Library\BaseLib\BaseLib\OUTPUT\X64\LongJump.iii

if I place Nasm.inc into Clover root folder.

There is a claim that include must be from build folder.

The compilation is successful! The Clover compiled from git with VS2015 works!

image.png

7 minutes ago, vector sigma said:

@Slice, all "executable" permissions for scripts and binaries are lost in the new repository..

github supported them?

  • Thanks 1

@Slice

sync of sourceforge repository to edk2-stable201908 is done.  No going back...

It was a complex sync because

- 3 Dxe from PcAtChipsetPkg have been eliminated from EDK2, so moved to Clover. (r5066)

- 4 Dxe and entire IntelFrameworkModulePkg and IntelFrameworkPkg have been eliminated from EDK2.  The Dxe and minimal needed stuff to satisfy all dependencies have been moved to Clover. (r5067)

 

UDK2018 no longer works with these changes, so I removed Patches_for_UDK2018.

  • Like 1

OK. Let it be EDK2.

Now I fight with github version of Clover.

Why new EDK2 has no BaseTools/Source/Python/build/build.py?

Is it created by some build procedure?

New warnings

build: : warning: Module MetaFile [Sources] is missing local header!
    Local Header: /users/sergey/src/edk2/clover/refit_uefi/platform/boot.h not found in /Users/sergey/src/edk2/Clover/rEFIt_UEFI/refit.inf

and so on

  • Like 1

@SliceYou can ignore these warnings.  They're harmless.  It's because (for example) in rEFIt_UEFI/refit.inf, the include file platform/boot.h is commented out (not listed).  They added a check in the python scripts to see if all dependency include files are listed in the inf file and give a warning if they're not.  I eliminated most of these warnings in r5004 by adding unlisted .h files to .inf files.  But some .h files were listed in the .inf files and commented out.  So I left the ones commented out and they're the ones causing the warnings.

Edited by Zenith432
  • Like 2
×
×
  • Create New...