Jump to content

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


Micky1979
2,126 posts in this topic

Recommended Posts

7 minutes ago, vector sigma said:

Ok, use this:Build_Clover_mojave_Xcode10.command.zip (same as last anyway), replace all these folders in ~/src/edk2/Clover/CloverPackage/ 

CloverPrefpane.zip

CloverUpdater.zip

utils.zip

 

let me know

 

Different error now

The following build commands failed:
	Ld /Users/henrybrock/src/edk2/Clover/CloverPackage/sym/utils/clover-genconfig normal x86_64
(1 failure)
make[2]: *** [/Users/henrybrock/src/edk2/Clover/CloverPackage/sym/utils/clover-genconfig] Error 65
make[1]: *** [all-recursive] Error 1
make: *** [pkg] Error 2

o_Ops, MAKE PKG exited with error(s), aborting..

Why are we having to replace those folders? Just out of curiosity.

  • Like 1
Link to comment
Share on other sites

6 minutes ago, Pavo said:

Different error now


The following build commands failed:
	Ld /Users/henrybrock/src/edk2/Clover/CloverPackage/sym/utils/clover-genconfig normal x86_64
(1 failure)
make[2]: *** [/Users/henrybrock/src/edk2/Clover/CloverPackage/sym/utils/clover-genconfig] Error 65
make[1]: *** [all-recursive] Error 1
make: *** [pkg] Error 2

o_Ops, MAKE PKG exited with error(s), aborting..

Why are we having to replace those folders? Just out of curiosity.

 

Most likely because Xcode 10 won't build 32-bit packages anymore. So we need to switch to 64-bit. For good. :) 

  • Like 1
Link to comment
Share on other sites

10 minutes ago, Pavo said:

Why are we having to replace those folders? Just out of curiosity.

Because you will not have runnable programs on 10.14. Please replace this again: utils.zip

If working, I'll made it conditional and I'll commit the changes

Edited by vector sigma
typo
Link to comment
Share on other sites

1 minute ago, arsradu said:

 

Most likely because Xcode 10 won't build 32-bit packages anymore. So we need to switch to 64-bit. For good. :) 

So... maybe add a check for version of macOS and if 10.14 only build 64bit?

3 minutes ago, vector sigma said:

Because you will not have runnable programs on 10.14. Please replace this again: utils.zip

Same error:

================================================================================
MAKE PKG
                             <--------------------------------------------------

========= Translating Resources ========
/Users/henrybrock/src/edk2/Clover/CloverPackage/package/../../../../opt/local
Updating 'en' strings file for CloverUpdater... done
Updating 'en' strings file for Clover Preference Panel... done
Updating strings file for Clover Preference Panel... done

Building CloverUpdater application...
[XCODE]
Building CloverPrefpane preference...
[XCODE]
================= Making all in fdisk440 =================
	[MKDIR] /Users/henrybrock/src/edk2/Clover/CloverPackage/sym/build/fdisk440
	[CC64] auto.c
	[CC64] cmd.c
	[CC64] disk.c
	[CC64] fdisk.c
	[CC64] getrawpartition.c
	[CC64] mbr.c
	[CC64] misc.c
	[CC64] opendev.c
	[CC64] part.c
	[CC64] user.c
	[LD64] fdisk440_64
	[LIPO] /Users/henrybrock/src/edk2/Clover/CloverPackage/sym/utils/fdisk440
================= 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:
	Ld /Users/henrybrock/src/edk2/Clover/CloverPackage/sym/utils/clover-genconfig normal x86_64
(1 failure)
make[2]: *** [/Users/henrybrock/src/edk2/Clover/CloverPackage/sym/utils/clover-genconfig] Error 65
make[1]: *** [all-recursive] Error 1
make: *** [pkg] Error 2

o_Ops, MAKE PKG exited with error(s), aborting..

 

Link to comment
Share on other sites

but why would the script build 32 bit any ways if when you run the clover.command script and select the build process it actually asks you if you want to build for 64 bit or 32. so why is 64 building any form of 32 bit code. last time we even needed maybe some 32 bit code was lion for GMA950 and a few wifi cards... can clover still boot 10.4/ 10.5?

Edited by bronxteck
  • Like 2
Link to comment
Share on other sites

1 minute ago, bronxteck said:

but why would the script build 32 bit any ways if when you run the clover.command script and select the build process it actually asks you if you want to build for 64 bit or 32. so why is 64 building any form of 32 bit code. last time we even needed maybe some 32 bit code was lion and even that ran 64 bit. can clover still boot 10.4/ 10.5?

Thats a good point

  • Like 1
Link to comment
Share on other sites

Yeah, in my opinion, but this is just my opinion, and I'm definitely not an expert on the topic, Clover needs a cleanup of all the legacy code it still uses. If I'm not mistaken, it doesn't offer support for 32-bit anymore... At least not in the UI. So...I guess it's only a matter of cleaning up old, legacy code.

 

But then again, I'm sure it's a lot easier said than done... And it's definitely a job for a team, not just a single guy.

  • Like 1
Link to comment
Share on other sites

1 hour ago, vector sigma said:

Ok, use this:Build_Clover_mojave_Xcode10.command.zip (same as last anyway), replace all these folders in ~/src/edk2/Clover/CloverPackage/ 

CloverPrefpane.zip

CloverUpdater.zip

 

utils.zip

let me know

 

 

58 minutes ago, vector sigma said:

Because you will not have runnable programs on 10.14. Please replace this again: utils.zip

If working, I'll made it conditional and I'll commit the changes

 

back home...

 

New error:

 

157870091_Screenshot2018-06-15at18_28_11.thumb.png.5dbf4dc15e1edca9c67389e648122218.png

Link to comment
Share on other sites

I confirm this error with Xcode9.4.1 but I don't know what is happen

ld: illegal text-relocation to '_kCFTypeDictionaryValueCallBacks' in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd from '_addDict' in /Volumes/MacHD/Users/slice/src/UDK2018/Clover/CloverPackage/utils/clover-genconfig/DerivedData/Build/Intermediates/clover-genconfig.build/Release/clover-genconfig.build/Objects-normal/x86_64/clover-genconfig.o for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

 

  • Like 2
Link to comment
Share on other sites

8 minutes ago, Philip Petev said:

Happens to me too. macOS 10.12.6 + Xcode 9.2

 

26 minutes ago, Slice said:

I confirm this error with Xcode9.4.1 but I don't know what is happen


ld: illegal text-relocation to '_kCFTypeDictionaryValueCallBacks' in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd from '_addDict' in /Volumes/MacHD/Users/slice/src/UDK2018/Clover/CloverPackage/utils/clover-genconfig/DerivedData/Build/Intermediates/clover-genconfig.build/Release/clover-genconfig.build/Objects-normal/x86_64/clover-genconfig.o for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

 

Solved here, please try r4544

@KGP-iMacPro and @Pavo, please delete the CloverPackage folder entirely and then update Clover. let me know.

Edited by vector sigma
typo
Link to comment
Share on other sites

3 hours ago, bronxteck said:

but why would the script build 32 bit any ways if when you run the clover.command script and select the build process it actually asks you if you want to build for 64 bit or 32. so why is 64 building any form of 32 bit code. last time we even needed maybe some 32 bit code was lion for GMA950 and a few wifi cards... can clover still boot 10.4/ 10.5?

The OS has nothing to do with  this Clover, what matter is your firmware ..if 32 bit.

Edited by vector sigma
Link to comment
Share on other sites

8 minutes ago, KGP-iMacPro said:

10.14, Xcode 10, 4545 and Build_Clover_mojave_Xcode10.command.

at the very beginning of this modded script I've inserted this: 

export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

can break compilations in Linux, but should be nice to make it conditional. This ensure no pollution by macports/homebrew...

  • Like 2
Link to comment
Share on other sites

1 minute ago, vector sigma said:

at the very beginning of this modded script I've inserted this: 


export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

can break compilations in Linux, but should be nice to make it conditional. This ensure no pollution by macports/homebrew...

 

What about other Xcode and OSX versions? Does the new approach work globally? Who wants to check and confirm?

Edited by KGP-iMacPro
Link to comment
Share on other sites

4 minutes ago, Mork vom Ork said:

@KGP-iMacPro

Could you do us a favour please and post LOG data into spoiler-brackets next time? Thanx in advance.

 

Yes but when I updated the post, there was no spoiler available... Why?

 

That's why I posted the text in plain text ... 

 

Anyway, it has been removed... thus issue also removed, right?

Edited by KGP-iMacPro
Link to comment
Share on other sites

Guys, I guess I might have missed something. And, with all the custom moving folders and stuff, I'm thinking maybe there is one more thing that should be fixed by default: mtoc.

 

With clean sources, I still get errors like the one below. Build completes successfully. But, the definition of error is that something is not ok. And in this case, it looks for mtoc.NEW...where it's not to be found. Cuase nobody put it there in the first place. :))

Question is: do we absolutely need it to be THERE? I'm asking because, the default Instructions here, already use a custom folder for nasm...


i don't have mtoc or mtoc.NEW in usr/local/bin. Which would explain the error. But also, do we need to add it there manually? Where do I get it from? I'm confused.

Building ... /Users/jimmy/src/UDK2018/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf [X64]
/bin/sh: /usr/local/bin/mtoc.NEW: No such file or directory
make: *** [/Users/jimmy/src/UDK2018/Build/Clover/RELEASE_XCODE8/X64/Clover/CloverEFI/OsxDxeIpl/DxeIpl/DEBUG/DxeIpl.efi] Error 127


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/jimmy/src/UDK2018/Build/Clover/RELEASE_XCODE8/X64/Clover/CloverEFI/OsxDxeIpl/DxeIpl]


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/jimmy/src/UDK2018/Build/Clover/RELEASE_XCODE8/X64/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer]


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/jimmy/src/UDK2018/Build/Clover/RELEASE_XCODE8/X64/MdeModulePkg/Universal/PCD/Dxe/Pcd]


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/jimmy/src/UDK2018/Build/Clover/RELEASE_XCODE8/X64/Clover/CloverEFI/OsxDxeCore/DxeMain]

 

Link to comment
Share on other sites

4 minutes ago, KGP-iMacPro said:

 

Yes but when I updated the post, there was no spoiler available... Why?

 

That's why I posted the text in plain text ... 

 

Anyway, it has been removed... thus issue also removed, right?

You may attach the text as zipped file or show three lines of mistake.

1 minute ago, arsradu said:

Guys, I guess I might have missed something. And, with all the custom moving folders and stuff, I'm thinking maybe there is one more thing that should be fixed by default: mtoc.

 

With clean sources, I still get errors like the one below. Build completes successfully. But, the definition of error is that something is not ok. And in this case, it looks for mtoc.NEW...where it's not to be found. Cuase nobody put it there in the first place. :))

Question is: do we absolutely need it to be THERE? I'm asking because, the default Instructions here, already use a custom folder for nasm...


i don't have mtoc or mtoc.NEW in usr/local/bin. Which would explain the error. But also, do we need to add it there manually? Where do I get it from? I'm confused.

 

./buildmtoc.sh

  • Like 2
Link to comment
Share on other sites

Guys, just uploaded a new test version 4.8.7. It now supports ApfsSupportPkg, Xcode 10 and buildmtoc.sh.

Please, test it and provide feedback. It's at the usual place.

 

30 minutes ago, vector sigma said:

at the very beginning of this modded script I've inserted this: 


export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

can break compilations in Linux, but should be nice to make it conditional. This ensure no pollution by macports/homebrew...

I don't see how this will solve anything. The build command (part of edk2/udk) appends the toolchain dir path on the top of the PATH variable every time when it's issued, so any other path, incl. the one above, will have lower priority. What exactly do you try to accomplish with that?

Edited by Philip Petev
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

×
×
  • Create New...