yabits / 9pfsPkg

Painless Network-Transparent Network Boot with 9P
Other
62 stars 2 forks source link

Architecture selection and failure to build for 9pfsPkg #3

Closed lootch closed 3 years ago

lootch commented 3 years ago

I successfully built edk2 as recommended, but when attempting to build 9pfsPkg my first stumbling block was a reportedly wrong ARCH, which I then found I could specify on the build command line:

 build --arch X64 9pfsPkg/9pfsPks.dsc

This, however, still reported a failure, but this time did not disclose any cause for the failure.

As far as I can tell, no new modules were added to the 9pfsPkg directory.

retrage commented 3 years ago
 build --arch X64 9pfsPkg/9pfsPks.dsc

This, however, still reported a failure, but this time did not disclose any cause for the failure.

Could you try with the following build command?

build -p 9pfsPkg/9pfsPkg.dsc -a X64 -b RELEASE -t GCC5

It seems the EDK2 build system trying to use the VS2015x86 toolchain by default. This causes the build error since Visual Studio does not exist on the Linux host.

The README instruction leads to misreading. I'll update it to specify the architecture and toolchain.

lootch commented 3 years ago

That worked better, I discovered I'm missing "nasm", so it still failed, but I guess you'd like to know that progress was made.

I'm a little disappointed that BASH is implied in the documentation, but not mentioned, but I understand that few people stray from that beaten path (it would suffice to rename edk2setup.sh to edk2setup.bash, I haven't looked inside edk2setup.sh to tell whether there is a simpler way.

In any case, let me try after installing "nasm"...

With many thanks, Lucio.

lootch commented 3 years ago

This time, the command completed with "done". Thank you very much for your prompt assistance.

Lucio (a Plan 9 fan of long standing).

retrage commented 3 years ago

I'm a little disappointed that BASH is implied in the documentation, but not mentioned, but I understand that few people stray from that beaten path (it would suffice to rename edk2setup.sh to edk2setup.bash, I haven't looked inside edk2setup.sh to tell whether there is a simpler way.

Yeah, even bash is a defacto-standard shell nowadays; the shell script should tell the expected executing shell via shebang. That's the EDK2 build system's fault.

JohnAZoidberg commented 3 years ago

I'm a little disappointed that BASH is implied in the documentation, but not mentioned, but I understand that few people stray from that beaten path (it would suffice to rename edk2setup.sh to edk2setup.bash, I haven't looked inside edk2setup.sh to tell whether there is a simpler way.

https://github.com/tianocore/edk2/blob/master/edksetup.sh#L10 :wink:

I guess since it must be sourced not executed it does not make sense to have a shebang.

What fancy shell are you using that doesn't work?

lootch commented 3 years ago

I'm a little disappointed that BASH is implied in the documentation, but not mentioned, but I understand that few people stray from that beaten path (it would suffice to rename edk2setup.sh to edk2setup.bash, I haven't looked inside edk2setup.sh to tell whether there is a simpler way.

https://github.com/tianocore/edk2/blob/master/edksetup.sh#L10

I guess since it must be sourced not executed it does not make sense to have a shebang.

What fancy shell are you using that doesn't work?

Korn shell, under Linux it is ksh93. And, yes, I am old-school.