Jump to content

Build_Clover.command, another Script to build standard Clover (or customized)


Micky1979
2,126 posts in this topic

Recommended Posts

Hi guys I'm interested in compiling clover myself, is there a default / standard build script with all the appropriate options selected?

I'm just a little unsure which options I should select thats all

Link to comment
Share on other sites

Hi guys I'm interested in compiling clover myself, is there a default / standard build script with all the appropriate options selected?

I'm just a little unsure which options I should select thats all

 

See post #1 and update script after download

Link to comment
Share on other sites

  • 2 weeks later...

Oops, duno why this suddenly happened when I choose:

 

 

5) build existing revision for release (no update, standard build)

1) Standard x64 only

 

2) slim pkg that skip themes and CloverThemeManager.app

 

 

 

================= Making all in boot1-install =================
	[XCODE] boot1-install
================= Making all in partutil =================
	[XCODE] partutil
================= Making all in bdmesg =================
	[XCODE] bdmesg
================= Making all in clover-genconfig =================
	[XCODE] clover-genconfig
** INSTALL FAILED **


The following build commands failed:
	CompileC /Users/badruzeus/src/edk2/Clover/CloverPackage/sym/build/clover-genconfig/clover-genconfig.build/Release/clover-genconfig.build/Objects-normal/x86_64/clover-genconfig.o clover-genconfig.c normal x86_64 c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/badruzeus/src/edk2/Clover/CloverPackage/sym/build/clover-genconfig/clover-genconfig.build/Release/clover-genconfig.build/Objects-normal/i386/clover-genconfig.o clover-genconfig.c normal i386 c com.apple.compilers.llvm.clang.1_0.compiler
(2 failures)
make[2]: *** [/Users/badruzeus/src/edk2/Clover/CloverPackage/sym/utils/clover-genconfig] Error 65
make[1]: *** [all-recursive] Error 1
make: *** [slimpkg1] Error 2
================================================================================
build started at:
Mon Aug  7 15:38:31 WIB 2017
finished at
Mon Aug  7 15:45:24 WIB 2017

Done!

                             <--------------------------------------------------
Please enter your choice: 
 1) update Clover only (no building)
 2) update Clover + force edk2 update (no building)
 3) run my script on the source
 4) build existing revision (no update, for testing only)
 5) build existing revision for release (no update, standard build)
 6) build existing revision with custom macros enabled
 7) info and limitations about this script
 8) enter Developers mode (only for devs)
 9) Exit
? /usr/local/bin/buildclover: line 1290: read: read error: 0: Resource temporarily unavailable


invalid option!!
Please enter your choice: 
Segmentation fault: 11
Badruzeus-MBP:~ badruzeus$  

 

 

 

My tools are:

OS: OS X 10.11.6
XCode: 8.2 Build 8C38
NASM: 2.13.01
Build_Clover script v4.5.3
EDK2: r24933

And it occurred just before "MAKE PKG" completed. Thanks.

Build_Clover.command_07-08-17-Slim.txt

bash -x buildclover v4.5.3.txt

Link to comment
Share on other sites

That "INSTALL FAILED" has nothing to do with the script, there is no error message, defined anywhere in the script. More likely the makepkg script fails for one reason or another.

And I have it too!!! Interesting...

 

EDIT: happens also if you want to build standard package. Clearly, Clover source issue.

  • Like 1
Link to comment
Share on other sites

That "INSTALL FAILED" has nothing to do with the script, there is no error message, defined anywhere in the script. More likely the makepkg script fails for one reason or another.

And I have it too!!! Interesting...

Hmmb, also gives same result with "custom macros", it maybe temporary so I would try the script again later. Thanks anyway.  :)

 

#EDIT: hours ago got no "INSTALL FAILED" when building r4144, but it did after r4145. EDK2 r25063 failed too.

Link to comment
Share on other sites

What is broken ?

? Build_Clover.command: line 1290: read: read error: 0: Resource temporarily unavailable

Build_Clover.command: line 1290: read: read error: 0: Resource temporarily unavailable

Link to comment
Share on other sites

Not the script, the clover-genconfig part in the Clover source. r4144 builds fine, using the options, selected by Badruzeus.

OK, thanks for confirming.. to make sure there was no problem with the script and also prev r4144, here I am booting with this rev:

2:635  0:000  Now is 6.8.2017,  23:27:48 (GMT)
2:635  0:000  Starting Clover revision: 4144 on CLOVER EFI
2:635  0:000  Build with: [Args: -x64 -D USE_BIOS_BLOCKIO -D DISABLE_UDMA_SUPPORT -D ONLY_SATA_0 -t XCODE8 | -D USE_BIOS_BLOCKIO -D DISABLE_UDMA_SUPPORT -D ONLY_SATA_0 -D USE_LOW_EBDA -a X64 -b RELEASE -t XCODE8 -n 5 | OS: 10.11.6 | XCODE: 8.2]
2:635  0:000  SelfDevicePath=PcieRoot(0x0)\Pci(0x1F,0x2)\VenHw(CF31FAC5-C24E-11D2-85F3-00A0C93EC93B,80)\HD(1,GPT,313A28C7-F4BF-42D0-B42E-2AD281EEB011,0x800,0x64000) @1F412098
2:635  0:000  SelfDirPath = \EFI\CLOVER
Link to comment
Share on other sites

Please comment out/remove this line in Clover/CloverPackage/utils/clover-genconfig/clover-genconfig.c

addBoolean(KernelAndKextPatchesDict, CFSTR("KernelHaswellE"), s->KernelAndKextPatches.KPHaswellE);

And the compilation will be fine. Looks like @syscl forgot to remove it after deprecating KernelHaswellE function.

  • Like 4
Link to comment
Share on other sites

Please comment out/remove this line in Clover/CloverPackage/utils/clover-genconfig/clover-genconfig.c

addBoolean(KernelAndKextPatchesDict, CFSTR("KernelHaswellE"), s->KernelAndKextPatches.KPHaswellE);

And the compilation will be fine. Looks like @syscl forgot to remove it after deprecating KernelHaswellE function.

Thanks, confirmed. It now works again.  :)

Build_Clover.command_07-08-17-Solved.txt

  • Like 2
Link to comment
Share on other sites

Hello everyone, my system is 10.13Beta, in my system installed two Xcode, respectively 8.3.2 and 9.0Beta, I use the command: sudo xcode-select-s /Applications/Xcode.app/ choose to use Xcode 8 to compile. In the process of compiling the following error message encountered, and I also compiled in 10.12.6, will appear the same error message.

Build_Clover.command has been updated to the latest version.

 

Pccts/dlg/dlg -C2 -i -CC -cl VfrLexer -o . VfrParser.dlg

make[2]: Pccts/dlg/dlg: No such file or directory

make[2]: *** [VfrLexer.cpp] Error 1

make[1]: *** [VfrCompile] Error 2

make: *** [source/C] Error 2

Build_Clover_logs.txt

Link to comment
Share on other sites

  • 1 month later...

Guys, is there XCODE9 compiler profile in Clover yet? I don't remember Slice or anyone else has added such and the last change will require such profile to be present.

Sent from my MI 5s using Tapatalk

 

EDIT: Just checked, still no such profile in tools.def. Even if the script starts, it won't be able to compile anything. And that change is in the main script as well... tc, tc, tc...

Link to comment
Share on other sites

Hi,

A little bug on 10.13 GM

Last login: Sun Sep 17 09:56:19 on ttys000
Pro-de-Fljagd:~ FRED$ buildclover
































================================================================================
Build_Clover script v4.5.3                                  No update available.
                             <--------------------------------------------------
================================================================================
By Micky1979 based on Slice, Zenith432, STLVNUB, JrCs, cecekpawon, Needy,
cvad, Rehabman, philip_petev, ErmaC

Supported OSes: macOS X, Ubuntu (16.04/16.10), Debian Jessie (8.4/8.5/8.6/8.7)
                             <--------------------------------------------------
CLOVER	Remote revision: 4210	Local revision: 4210
EDK2	Remote revision: 25350	Local revision: 24933

The current local EDK2 revision is the suggested one (24933). 
                             <--------------------------------------------------
Please enter your choice: 
 1) update Clover only (no building)
 2) update Clover + force edk2 update (no building)
 3) run my script on the source
 4) build existing revision (no update, for testing only)
 5) build existing revision for release (no update, standard build)
 6) build existing revision with custom macros enabled
 7) info and limitations about this script
 8) enter Developers mode (only for devs)
 9) Exit
? 2
================================================================================
Running from: macOS 10.13
Xcode 8.3.3
Build version 8E3004b
                             <--------------------------------------------------
================================================================================
Compiler settings
                             <--------------------------------------------------
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin17.0.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
                             <--------------------------------------------------

================================================================================
Updating edk2 (forced)
                             <--------------------------------------------------
checking..available, continuing..
D         edksetup.sh
Checked out revision 24933.

edksetup.sh:
checking..available, continuing..
Updating 'edksetup.sh':
A    edksetup.sh
Updated to revision 24933.

MdePkg:
checking..available, continuing..
Updating '.':
At revision 24933.

MdeModulePkg:
checking..available, continuing..
Updating '.':
At revision 24933.

CryptoPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

DuetPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

EdkCompatibilityPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

IntelFrameworkModulePkg:
checking..available, continuing..
Updating '.':
At revision 24933.

IntelFrameworkPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

OvmfPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

OptionRomPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

PcAtChipsetPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

ShellPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

UefiCpuPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

BaseTools:
checking..available, continuing..
Updating '.':

Fetching external item into 'Bin/Win32':
External at revision 271.

At revision 24933.
================================================================================
cleaning BaseTools and Clover / Clover Package
                             <--------------------------------------------------

/Applications/Xcode.app/Contents/Developer/usr/bin/make -C Source/C clean
Attempting to detect ARCH from 'uname -m': x86_64
Detected ARCH of X64 using uname.
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C BootSectImage clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C BrotliCompress clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C Common clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C EfiLdrImage clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C EfiRom clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C GenCrc32 clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C GenFfs clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C GenFv clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C GenFw clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C GenPage clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C GenSec clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C GenVtf clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C GnuGenBootSector clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C LzmaCompress clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C Split clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C TianoCompress clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C VfrCompile clean
BIN_DIR='.' /Applications/Xcode.app/Contents/Developer/usr/bin/make -C Pccts/antlr clean
rm -f ./antlr *.o core
BIN_DIR='.' /Applications/Xcode.app/Contents/Developer/usr/bin/make -C Pccts/dlg clean
rm -f ./dlg *.o core
rm -f EfiVfrParser.cpp EfiVfrParser.h VfrParser.dlg VfrTokens.h VfrLexer.cpp VfrLexer.h VfrSyntax.cpp tokens.h
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C VolInfo clean
rm -f ./bin/*
rmdir ./libs ./bin
rmdir: ./libs: No such file or directory
rmdir: ./bin: No such file or directory
make[1]: [localClean] Error 1 (ignored)
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C Source/Python clean
find . -name '*.pyc' -exec rm '{}' ';'
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C Tests clean
find . -name '*.pyc' -exec rm '{}' ';'
TOOLCHAIN_DIR: /Users/fljagd 1/src/edk2/Clover/../../opt/local
Installing mtoc
Password:
ln: /usr/local/bin/mtoc: File exists
rm -rf sym obj dst

================================================================================
Updating Clover, using the latest revision
                             <--------------------------------------------------
checking..available, continuing..
Updating '.':
At revision 4210.
================================================================================
Apply Edk2 patches
                             <--------------------------------------------------

CLOVER	Remote revision: 4210	Local revision: 4210
EDK2	Remote revision: 25350	Local revision: 24933

The current local EDK2 revision is the suggested one (24933). 
                             <--------------------------------------------------
Please enter your choice: 
 1) update Clover only (no building)
 2) update Clover + force edk2 update (no building)
 3) run my script on the source
 4) build existing revision (no update, for testing only)
 5) build existing revision for release (no update, standard build)
 6) build existing revision with custom macros enabled
 7) info and limitations about this script
 8) enter Developers mode (only for devs)
 9) Exit
? 5


















================================================================================
Select the desired architecture
                             <--------------------------------------------------
	 1) Standard x64 only
	 2) ia32 and x64 (ia32 is deprecated)
	 3) ia32 only (deprecated)
	 4) Back to Main Menu
	 5) Exit
? 1

























================================================================================
Select the desired pkg type
                             <--------------------------------------------------
	 1) Standard
	 2) slim pkg that skip themes and CloverThemeManager.app
	 3) slim pkg that skip themes and CloverThemeManager.app, updater and PrefPanel
	 4) slim pkg UEFI only, without RC Scripts, themes & CTM, updater and PrefPanel
	 5) Back to Select architecture menu
	 6) Exit
? 1
================================================================================
Running from: macOS 10.13
Xcode 8.3.3
Build version 8E3004b
                             <--------------------------------------------------
================================================================================
Compiler settings
                             <--------------------------------------------------
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin17.0.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
                             <--------------------------------------------------
================================================================================
BUILDTOOL is XCODE8
                             <--------------------------------------------------

================================================================================
nasm check:
                             <--------------------------------------------------
/usr/local/bin/buildclover: line 1154: /Users/fljagd: No such file or directory

================================================================================
gettext check:
                             <--------------------------------------------------
found gettext at /Users
found gettext at 1/src/opt/local/bin
================================================================================
boot6
                             <--------------------------------------------------
TOOLCHAIN_DIR: /Users/fljagd 1/src/opt/local
Installing mtoc
ln: /usr/local/bin/mtoc: File exists

o_Ops, ./ebuild.sh exited with error(s), aborting..
Pro-de-Fljagd:~ FRED$ 

Link to comment
Share on other sites

Guys, is there XCODE9 compiler profile in Clover yet? I don't remember Slice or anyone else has added such and the last change will require such profile to be present.

 

Sent from my MI 5s using Tapatalk

 

EDIT: Just checked, still no such profile in tools.def. Even if the script starts, it won't be able to compile anything. And that change is in the main script as well... tc, tc, tc...

 

seems like XCODE9 *should work* -  with a minor "fix"... as I  don't know if these is a code bug or compiler bug: i get this same "error"  in 4 places. - same code is in 4 locations.... but I cant see the problem - not sure what the compiler thinks the BOOLEAN (unsigned char) is being promoted to?

/Users/tluck/src/edk2/Clover/Protocols/EmuVariableUefi/EmuVariable.c:594:19: warning: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Wvarargs]
  VA_START (Args, Iso639Language);
                  ^
/Users/tluck/src/edk2/Clover/Protocols/EmuVariableUefi/EmuVariable.c:581:19: note: parameter of type 'BOOLEAN' (aka 'unsigned char') is declared here
  IN BOOLEAN      Iso639Language,
edk2/MdePkg/Library/UefiLib/UefiLib.c:1530:19: warning: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Wvarargs]
edk2/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c:591:19: warning: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Wvarargs]
edk2/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c:1629:19: warning: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Wvarargs]
edk2/Clover/Protocols/EmuVariableUefi/EmuVariable.c:594:19: warning: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Wvarargs]

- one can override by removing -Werror from tools_def.txt - but probably not a good long term solution

      

  • Like 1
Link to comment
Share on other sites

Hi,

A little bug on 10.13 GM

Last login: Sun Sep 17 09:56:19 on ttys000
Pro-de-Fljagd:~ FRED$ buildclover
































================================================================================
Build_Clover script v4.5.3                                  No update available.
                             <--------------------------------------------------
================================================================================
By Micky1979 based on Slice, Zenith432, STLVNUB, JrCs, cecekpawon, Needy,
cvad, Rehabman, philip_petev, ErmaC

Supported OSes: macOS X, Ubuntu (16.04/16.10), Debian Jessie (8.4/8.5/8.6/8.7)
                             <--------------------------------------------------
CLOVER	Remote revision: 4210	Local revision: 4210
EDK2	Remote revision: 25350	Local revision: 24933

The current local EDK2 revision is the suggested one (24933). 
                             <--------------------------------------------------
Please enter your choice: 
 1) update Clover only (no building)
 2) update Clover + force edk2 update (no building)
 3) run my script on the source
 4) build existing revision (no update, for testing only)
 5) build existing revision for release (no update, standard build)
 6) build existing revision with custom macros enabled
 7) info and limitations about this script
 8) enter Developers mode (only for devs)
 9) Exit
? 2
================================================================================
Running from: macOS 10.13
Xcode 8.3.3
Build version 8E3004b
                             <--------------------------------------------------
================================================================================
Compiler settings
                             <--------------------------------------------------
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin17.0.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
                             <--------------------------------------------------

================================================================================
Updating edk2 (forced)
                             <--------------------------------------------------
checking..available, continuing..
D         edksetup.sh
Checked out revision 24933.

edksetup.sh:
checking..available, continuing..
Updating 'edksetup.sh':
A    edksetup.sh
Updated to revision 24933.

MdePkg:
checking..available, continuing..
Updating '.':
At revision 24933.

MdeModulePkg:
checking..available, continuing..
Updating '.':
At revision 24933.

CryptoPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

DuetPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

EdkCompatibilityPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

IntelFrameworkModulePkg:
checking..available, continuing..
Updating '.':
At revision 24933.

IntelFrameworkPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

OvmfPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

OptionRomPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

PcAtChipsetPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

ShellPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

UefiCpuPkg:
checking..available, continuing..
Updating '.':
At revision 24933.

BaseTools:
checking..available, continuing..
Updating '.':

Fetching external item into 'Bin/Win32':
External at revision 271.

At revision 24933.
================================================================================
cleaning BaseTools and Clover / Clover Package
                             <--------------------------------------------------

/Applications/Xcode.app/Contents/Developer/usr/bin/make -C Source/C clean
Attempting to detect ARCH from 'uname -m': x86_64
Detected ARCH of X64 using uname.
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C BootSectImage clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C BrotliCompress clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C Common clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C EfiLdrImage clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C EfiRom clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C GenCrc32 clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C GenFfs clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C GenFv clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C GenFw clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C GenPage clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C GenSec clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C GenVtf clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C GnuGenBootSector clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C LzmaCompress clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C Split clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C TianoCompress clean
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C VfrCompile clean
BIN_DIR='.' /Applications/Xcode.app/Contents/Developer/usr/bin/make -C Pccts/antlr clean
rm -f ./antlr *.o core
BIN_DIR='.' /Applications/Xcode.app/Contents/Developer/usr/bin/make -C Pccts/dlg clean
rm -f ./dlg *.o core
rm -f EfiVfrParser.cpp EfiVfrParser.h VfrParser.dlg VfrTokens.h VfrLexer.cpp VfrLexer.h VfrSyntax.cpp tokens.h
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C VolInfo clean
rm -f ./bin/*
rmdir ./libs ./bin
rmdir: ./libs: No such file or directory
rmdir: ./bin: No such file or directory
make[1]: [localClean] Error 1 (ignored)
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C Source/Python clean
find . -name '*.pyc' -exec rm '{}' ';'
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C Tests clean
find . -name '*.pyc' -exec rm '{}' ';'
TOOLCHAIN_DIR: /Users/fljagd 1/src/edk2/Clover/../../opt/local
Installing mtoc
Password:
ln: /usr/local/bin/mtoc: File exists
rm -rf sym obj dst

================================================================================
Updating Clover, using the latest revision
                             <--------------------------------------------------
checking..available, continuing..
Updating '.':
At revision 4210.
================================================================================
Apply Edk2 patches
                             <--------------------------------------------------

CLOVER	Remote revision: 4210	Local revision: 4210
EDK2	Remote revision: 25350	Local revision: 24933

The current local EDK2 revision is the suggested one (24933). 
                             <--------------------------------------------------
Please enter your choice: 
 1) update Clover only (no building)
 2) update Clover + force edk2 update (no building)
 3) run my script on the source
 4) build existing revision (no update, for testing only)
 5) build existing revision for release (no update, standard build)
 6) build existing revision with custom macros enabled
 7) info and limitations about this script
 8) enter Developers mode (only for devs)
 9) Exit
? 5


















================================================================================
Select the desired architecture
                             <--------------------------------------------------
	 1) Standard x64 only
	 2) ia32 and x64 (ia32 is deprecated)
	 3) ia32 only (deprecated)
	 4) Back to Main Menu
	 5) Exit
? 1

























================================================================================
Select the desired pkg type
                             <--------------------------------------------------
	 1) Standard
	 2) slim pkg that skip themes and CloverThemeManager.app
	 3) slim pkg that skip themes and CloverThemeManager.app, updater and PrefPanel
	 4) slim pkg UEFI only, without RC Scripts, themes & CTM, updater and PrefPanel
	 5) Back to Select architecture menu
	 6) Exit
? 1
================================================================================
Running from: macOS 10.13
Xcode 8.3.3
Build version 8E3004b
                             <--------------------------------------------------
================================================================================
Compiler settings
                             <--------------------------------------------------
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin17.0.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
                             <--------------------------------------------------
================================================================================
BUILDTOOL is XCODE8
                             <--------------------------------------------------

================================================================================
nasm check:
                             <--------------------------------------------------
/usr/local/bin/buildclover: line 1154: /Users/fljagd: No such file or directory

================================================================================
gettext check:
                             <--------------------------------------------------
found gettext at /Users
found gettext at 1/src/opt/local/bin
================================================================================
boot6
                             <--------------------------------------------------
TOOLCHAIN_DIR: /Users/fljagd 1/src/opt/local
Installing mtoc
ln: /usr/local/bin/mtoc: File exists

o_Ops, ./ebuild.sh exited with error(s), aborting..
Pro-de-Fljagd:~ FRED$ 

 Unfortunately, I don't have High Sierra nor Xcode 9 to reproduce the problem. Run the script in debug mode (execute bash -x /path/to/script), then post the result.

 

seems like XCODE9 *should work* -  with a minor "fix"... as I  don't know if these is a code bug or compiler bug: i get this same "error"  in 4 places. - same code is in 4 locations.... but I cant see the problem - not sure what the compiler thinks the BOOLEAN (unsigned char) is being promoted to?

/Users/tluck/src/edk2/Clover/Protocols/EmuVariableUefi/EmuVariable.c:594:19: warning: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Wvarargs]
  VA_START (Args, Iso639Language);
                  ^
/Users/tluck/src/edk2/Clover/Protocols/EmuVariableUefi/EmuVariable.c:581:19: note: parameter of type 'BOOLEAN' (aka 'unsigned char') is declared here
  IN BOOLEAN      Iso639Language,
edk2/MdePkg/Library/UefiLib/UefiLib.c:1530:19: warning: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Wvarargs]
edk2/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c:591:19: warning: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Wvarargs]
edk2/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c:1629:19: warning: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Wvarargs]
edk2/Clover/Protocols/EmuVariableUefi/EmuVariable.c:594:19: warning: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Wvarargs]
- one can override by removing -Werror from tools_def.txt - but probably not a good long term solution

 

XCODE 9 would work only if such profile exists in tools_def.txt (and currently it doesn't). Unless ebuild.sh selects any other profile, if the one, provided as parameter, doesn't exist, I don't know, haven't examined that script in details yet.

  • Like 1
Link to comment
Share on other sites

 Unfortunately, I don't have High Sierra nor Xcode 9 to reproduce the problem. Run the script in debug mode (execute bash -x /path/to/script), then post the result.

 

XCODE 9 would work only if such profile exists in tools_def.txt (and currently it doesn't). Unless ebuild.sh selects any other profile, if the one, provided as parameter, doesn't exist, I don't know, haven't examined that script in details yet.

 

yes a full XCODE9 profile will be nice!

... there seems to be a compiler bug or issue? as XCODE8-clang and gcc-7.2 will compile these programs. as far as the clover ebuild script etc .. i just used the XCODE8 tools_def but my Xcode.app (is v9)

tluck@Toms-MB ~/src/edk2/MdePkg
$ /usr/local/bin/gcc-7 -c -Wall -I Include -I Include/X64  Library/UefiLib/UefiLib.c

$ /Applications/Xcode-8.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -c -Wall -I Include -I Include/X64  Library/UefiLib/UefiLib.c

$ /Applications/Xcode-9.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -c -Wall -I Include -I Include/X64  Library/UefiLib/UefiLib.c
Library/UefiLib/UefiLib.c:1530:19: warning: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Wvarargs]
  VA_START (Args, Iso639Language);
                  ^
Library/UefiLib/UefiLib.c:1517:19: note: parameter of type 'BOOLEAN' (aka 'unsigned char') is declared here
  IN BOOLEAN      Iso639Language,
                  ^
1 warning generated.
Link to comment
Share on other sites

Hello,

 DEBUG_XCODE9_X64_CC_FLAGS   = -c -g -Os       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare $(PLATFORM_FLAGS) "-DEFIAPI=__attribute__((ms_abi))" -DUSE_CLANG_BUILTIN_MS_VA_LIST -Wno-error=varargs
RELEASE_XCODE9_X64_CC_FLAGS   = -c    -Os       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare $(PLATFORM_FLAGS) "-DEFIAPI=__attribute__((ms_abi))" -DUSE_CLANG_BUILTIN_MS_VA_LIST -Wno-error=varargs

-Wno-error=varargs do the job. Code need to be improve to remove this compiler option. 

 

found here : https://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-support/nss/nss/disable-Wvarargs-with-clang.patch

 

Fred

  • Like 2
Link to comment
Share on other sites

nice FredWST - yes that works nicely.

 

- i created an XCODE9 set (copied all the XCODE8 defs) in tools_def and then modified 

RELEASE_XCODE9_X64_CC_FLAGS   = -c    -Os       -Wall -Werror -Wextra -Wno-error=varargs ...

- then build Clover with -t XCODE9

 

Running edk2 build for CloverX64 using the command:
build  -D NO_GRUB_DRIVERS_EMBEDDED -D NO_GRUB_DRIVERS -D USE_LOW_EBDA -p Clover/Clover.dsc  -a X64 -b RELEASE -t XCODE9 -n 5

Link to comment
Share on other sites

Hello,

 DEBUG_XCODE9_X64_CC_FLAGS   = -c -g -Os       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare $(PLATFORM_FLAGS) "-DEFIAPI=__attribute__((ms_abi))" -DUSE_CLANG_BUILTIN_MS_VA_LIST -Wno-error=varargs
RELEASE_XCODE9_X64_CC_FLAGS   = -c    -Os       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare $(PLATFORM_FLAGS) "-DEFIAPI=__attribute__((ms_abi))" -DUSE_CLANG_BUILTIN_MS_VA_LIST -Wno-error=varargs

-Wno-error=varargs do the job. Code need to be improve to remove this compiler option. 

 

found here : https://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-support/nss/nss/disable-Wvarargs-with-clang.patch

 

Fred

 

thx for the info

 

so if that is correct here is the duplicaded and adapted part for tools_def --> https://github.com/fabiomartino/cloverefiboot/commit/4d9adfd16ed56545976da1679404690080d0c8ba.diff

 

I don't have XCODE9 yet... but in this way + the change made in the Clover_Build script for XCODE9 detection it would be able to work...

 

need test:

- XCODE9... of course...

- test script --> https://raw.githubusercontent.com/Micky1979/Build_Clover/master/Test_Script_dont_use.command

- plus the change for the tools_def.txt

 

ErmaC

  • Like 3
Link to comment
Share on other sites

thx for the info

 

so if that is correct here is the duplicaded and adapted part for tools_def --> https://github.com/fabiomartino/cloverefiboot/commit/4d9adfd16ed56545976da1679404690080d0c8ba.diff

 

I don't have XCODE9 yet... but in this way + the change made in the Clover_Build script for XCODE9 detection it would be able to work...

 

need test:

- XCODE9... of course...

- test script --> https://raw.githubusercontent.com/Micky1979/Build_Clover/master/Test_Script_dont_use.command

- plus the change for the tools_def.txt

 

ErmaC

With your script

Running from: macOS 10.12.6
Xcode 9.0
Build version 9A235
                             <--------------------------------------------------
================================================================================
Compiler settings
                             <--------------------------------------------------
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/c++/4.2.1
Apple LLVM version 9.0.0 (clang-900.0.37)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
                             <--------------------------------------------------
================================================================================
BUILDTOOL is XCODE9
                             <--------------------------------------------------
 
================================================================================
nasm check:
                             <--------------------------------------------------
NASM version 2.13.01 compiled on May  1 2017
================================================================================
gettext check:
                             <--------------------------------------------------
found gettext at /Users/shane/src/opt/local/bin
================================================================================
boot6
                             <--------------------------------------------------
TOOLCHAIN_DIR: /Users/shane/src/opt/local
NASM_PREFIX: /Users/shane/src/opt/local/bin/
NASM_VER: 2.13.01
Initializing workspace
Loading previous configuration from /Users/shane/src/edk2/Conf/BuildEnv.sh
WORKSPACE: /Users/shane/src/edk2
EDK_TOOLS_PATH: /Users/shane/src/edk2/BaseTools
CONF_PATH: /Users/shane/src/edk2/Conf
 
Running edk2 build for CloverX64 using the command:
build --skip-autogen  -D NO_GRUB_DRIVERS_EMBEDDED -D CHECK_FLAGS -D USE_LOW_EBDA -p Clover/Clover.dsc  -a X64 -b RELEASE -t XCODE9 -n 9 
 
Build environment: Darwin-16.7.0-x86_64-i386-64bit
Build start time: 18:12:45, Sep.20 2017
 
WORKSPACE        = /Users/shane/src/edk2
ECP_SOURCE       = /Users/shane/src/edk2/EdkCompatibilityPkg
EDK_SOURCE       = /Users/shane/src/edk2/EdkCompatibilityPkg
EFI_SOURCE       = /Users/shane/src/edk2/EdkCompatibilityPkg
EDK_TOOLS_PATH   = /Users/shane/src/edk2/BaseTools
CONF_PATH        = /Users/shane/src/edk2/Conf
build: : warning: Tool chain [XCODE9] is not defined
 
 
build.py...
 : error 4000: Not available
[XCODE9] not defined. No toolchain available for build!
 
 
- Failed -
Build end time: 18:12:46, Sep.20 2017
Build total time: 00:00:00
 
 
o_Ops, ./ebuild.sh exited with error(s), aborting..
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Process completed]
Link to comment
Share on other sites

×
×
  • Create New...