Andrew,
I can't compile OvmfPkg with XCLANG (OSX 10.7.5, Xcode 4.4.1 + CLT 4.5.2)
---------------
Building ... /Users/Sergey/src/edk2/OvmfPkg/AcpiTables/AcpiTables.inf [X64]
ld: warning: -macosx_version_min not specificed, assuming 10.6
Undefined symbols for architecture x86_64:
  "_main", referenced from:
     -u command line option
ld: symbol(s) not found for inferred architecture x86_64
make: *** 
[/Users/Sergey/src/edk2/Build/OvmfX64/DEBUG_XCLANG/X64/OvmfPkg/AcpiTables/AcpiTables/OUTPUT/Facs.acpi]
 Error 1

---------------
What is wrong? It works fine with GCC47.

On 16.01.2013, at 3:16, Andrew Fish wrote:

> Piker,
> 
> If you integrate my patches from the mailing list today and update your 
> Conf/build_rule.txt and Conf/tools_def.txt you should be able to build the 
> OvmfPkg on Mac OS X with Xcode.  I don't currently have a copy of qemu 
> installed so I did not try and run it. 
> 
> I will check in the updated .template files into the BaseTools project and it 
> will sync with edk2 project at some point in the future. 
> 
> Seems like the ACPI build support has rotted out a bit and needs fixing. 
> 
> Andrew Fish
> 
> edk2TOT>diff Conf/build_rule.txt BaseTools/Conf/build_rule.template 
> 364,369d363
> <     <Command.XCODE>
> <         Trim --asl-file -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i -i 
> $(INC_LIST) ${src}
> <         "$(ASLPP)" $(ASLPP_FLAGS) $(INC) -I${s_path} 
> $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i > 
> $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii
> <         Trim --source-code -l -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iiii 
> $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii 
> <         "$(ASL)" $(ASL_FLAGS) $(ASL_OUTFLAGS)${dst} 
> $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iiii
> < 
> 
> edk2TOT>diff Conf/tools_def.txt BaseTools/Conf/tools_def.template 
> 4621c4621
> < *_XCLANG_*_ASLDLINK_FLAGS   = -e _ReferenceAcpiTable -preload -segalign 
> 0x20  -pie -seg1addr 0x240 -read_only_relocs suppress -map 
> $(DEST_DIR_DEBUG)/$(BASE_NAME).map
> ---
> > *_XCLANG_*_ASLDLINK_FLAGS   = -e _main -preload -segalign 0x20  -pie 
> > -seg1addr 0x240 -read_only_relocs suppress -map 
> > $(DEST_DIR_DEBUG)/$(BASE_NAME).map
> 4624d4623
> < *_XCLANG_*_ASL_OUTFLAGS     = DEF(IASL_OUTFLAGS)
> 
> 
> 
> 
> On Jan 15, 2013, at 5:39 AM, Piker Alpha <pikeral...@yahoo.com> wrote:
> 
>> I would like to add my $0.02
>> 
>> Now. I don't want to offend anyone here, nor their hard work, but I use OS X 
>> and that platform is even more behind. I was stunned to find out that while 
>> Apple is using EFI for years, one cannot even compile stuff properly.
>> 
>> I presume that Apple is using Windows in a virtual machine, or use BootCamp 
>> for their development. But in any event. This should change, because for 
>> someone like me, living in a non-windows world – using Linux since age 7 and 
>> OS X since 2007 – this is total madness. Won't ever use Windows. Not even in 
>> a virtual machine.
>>  
>> Note: Anything expressed here is my own personal view and not that of my 
>> employer.
>> 
>> Regards,
>> 
>> Pike
>> 
>> Van: Mauro Faccenda <facce...@gmail.com>
>> Aan: edk2-devel@lists.sourceforge.net 
>> Verzonden: dinsdag 15 januari 13:40 2013
>> Onderwerp: Re: [edk2] difficulties getting started with EDK2 Development
>> 
>> Hi Космынин,
>> 
>> Thanks for your answer. I've noticed that the whole environment is on
>> a 'unstable' state and I was about to send a new message reporting the
>> a problem I am having when I call gethostbyname() (I guess it is the
>> same you mentioned with the GetHostByDns.efi) it makes qemu (with a
>> DEBUG enabled OVMF) hangs with some messages, and i still couldn't
>> find a workaround. But it seems it is a known problem.
>> 
>> You mentioned that Linux isn't a stable platform for development, it
>> should be my preferred platform (licencing issues), but we can also
>> use any other. What would you (or anyone else) recommend?
>> 
>> Regards,
>> 
>> Mauro
>> 
>> On Tue, Jan 15, 2013 at 5:18 AM, Космынин Олег Олегович
>> <okosmy...@kraftway.ru> wrote:
>> > Sadly, Linux is not a platform for stable development, there are at least 
>> > 2 bugs we found in toolchain (gcc46), one is critical, i reported it but 
>> > no answers.
>> > One bug with debug sections (check your log for: cannot fill debug link 
>> > section) - it will stop DEBUG() macro from working, and another bug simply 
>> > corrupt pointer in some cases (try to run GetHostByDns.efi and it will 
>> > ASSERT). gcc45 & gcc44 not work at all on my setup (ubuntu 12.10, latest 
>> > svn rev).
>> >
>> > Errors in StdLib you mentioned really exist, can't comment on your main (  
>> > IN int Argc,  IN char **Argv  ) issue.
>> >
>> > Overall, after 2.5 months of studying/developing for UEFI implementation 
>> > from Intel I got impression it is in pre-alpha stage and you should expect 
>> > lots of bugs.
>> >
>> > Good luck in your work
>> >
>> > ________________________________________
>> > From: Mauro Faccenda [facce...@gmail.com]
>> > Sent: 11 January 2013 18:24
>> > To: edk2-devel@lists.sourceforge.net
>> > Subject: [edk2] difficulties getting started with EDK2 Development
>> >
>> > Hi all,
>> >
>> > I am trying to get started with EDK2 development and I'd like to
>> > report some difficulties I had and am having.
>> >
>> > If any of you can point to some way to fix or even better way of doing
>> > anything, I'd appreciate.
>> >
>> > I am willing to use a plain Ubuntu 12.04 64bits as development
>> > platform as it comes with GCC 4.6 which seems to be well supported by
>> > the EDK2 and BaseTools.
>> >
>> > But here comes to me the first question: which (if any) are the
>> > recommended (default) platform for development? I guess it is using
>> > Windows with VS since the configuration comes with all parameters set
>> > to use it. But I'd like to know If there is any 'better supported'
>> > Linux platform (distro, distro version+gcc version).
>> >
>> > The Project Wiki mentions Ubuntu 9.10, 10.10 and 10.04, and GCC 4.4,
>> > but doesn't recommend any.
>> >
>> > For instance, I followed this documentation:
>> > http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Using_EDK_II_with_Native_GCC_4.4
>> >
>> > Moving on, as I want to play with network connections, I built my own
>> > OVMF with the Intel's E1000 Network drivers successfully using the
>> > sources from EDK2 trunk.
>> >
>> > I already could run qemu with network support (using tap + bridge with
>> > host physical interface) and use ping.efi (from the EDK2 Toolkit)
>> > against devices on my network, also no problems besides the latency
>> > being a bit high (>400ms, from the host I get less than 1ms).
>> >
>> > Then I started building some applications to test running in the
>> > environment. I've built the MdeModulePkg and could run some of them.
>> > But when I tried to build AppPkg I got the following error:
>> > $ build -t GCC46 -a X64 -p AppPkg/AppPkg.dsc
>> > [...]
>> > edk2/StdLib/LibC/Containers/Queues/Fifo.c:508:27: error: assignment
>> > from incompatible pointer type [-Werror]
>> > cc1: all warnings being treated as errors
>> >
>> > As it seems to be a warning promoted to an error, I manually ran the
>> > same gcc command removing the -Werror parameter and it compiled
>> > successfully.
>> >
>> > Is this a bug? Should I report?
>> >
>> > Then I ran the build command again, which brought another error:
>> >
>> > edk2/StdLib/LibC/Uefi/InteractiveIO/IIOutilities.c:269:1: error:
>> > conflicting types for ‘IIO_CursorDelta’
>> > edk2/StdLib/LibC/Uefi/InteractiveIO/IIOutilities.h:122:1: note:
>> > previous declaration of ‘IIO_CursorDelta’ was here
>> >
>> > I opened both files looking for the definition of IIO_CursorDelta and
>> > in .h file I got:
>> > --
>> > int
>> > EFIAPI
>> > IIO_CursorDelta (
>> >  cIIO        *This,
>> >  CURSOR_XY    *StartXY,
>> >  CURSOR_XY    *EndXY
>> >  );
>> > --
>> > while in the .c I got:
>> > --
>> > UINT32
>> > EFIAPI
>> > IIO_CursorDelta (
>> >  cIIO        *This,
>> >  CURSOR_XY    *StartXY,
>> >  CURSOR_XY    *EndXY
>> > ) [...]
>> > --
>> >
>> > So I changed the .h from int to UINT32 and ran the build again. This
>> > time with success. Should I report this?
>> >
>> > After that, I started to play with AppPkg/Applications/Main/Main.c,
>> > trying to poke around to see what I can or can't do and got something
>> > strange. I've changed the Main.c to just print the Argc value:
>> > --
>> > #include  <stdio.h>
>> > int
>> > EFIAPI
>> > main (
>> >  IN int Argc,
>> >  IN char **Argv
>> >  )
>> > {
>> >  printf("\nArgc=%d\n", Argc);
>> >  return 0;
>> > }
>> > --
>> > And whenever I run it on UEFI Shell (using qemu), I always get really
>> > big values (> 37000000) no matter with how many parameter I run and if
>> > I run with the same parameter multiple times, the value sometimes
>> > changes, as you can see on the image below:
>> >
>> > http://s1.postimage.org/dxeg7ahdr/argc.png
>> >
>> > This isn't exactly a problem, since I still can successfully run
>> > normal code but I'd like to know if am I doing something stupid, if
>> > this is some kind of bug or if it is a side effect of something I
>> > couldn't see yet.
>> >
>> > Any tips or clarifications will be really appreciated.
>> >
>> > Anyway, thanks for the good job you all have been doing on this project. =)
>> >
>> > Mauro Faccenda
>> >
>> > ------------------------------------------------------------------------------
>> > Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and
>> > much more. Get web development skills now with LearnDevNow -
>> > 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
>> > SALE $99.99 this month only -- learn more at:
>> > http://p.sf.net/sfu/learnmore_122812
>> > _______________________________________________
>> > edk2-devel mailing list
>> > edk2-devel@lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/edk2-devel
>> >
>> > ------------------------------------------------------------------------------
>> > Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
>> > and more. Get SQL Server skills now (including 2012) with LearnDevNow -
>> > 200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
>> > SALE $99.99 this month only - learn more at:
>> > http://p.sf.net/sfu/learnmore_122512
>> > _______________________________________________
>> > edk2-devel mailing list
>> > edk2-devel@lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/edk2-devel
>> 
>> ------------------------------------------------------------------------------
>> Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
>> and more. Get SQL Server skills now (including 2012) with LearnDevNow -
>> 200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
>> SALE $99.99 this month only - learn more at:
>> http://p.sf.net/sfu/learnmore_122512
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>> 
>> 
>> ------------------------------------------------------------------------------
>> Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
>> and more. Get SQL Server skills now (including 2012) with LearnDevNow -
>> 200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
>> SALE $99.99 this month only - learn more at:
>> http://p.sf.net/sfu/learnmore_122512_______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/edk2-devel
> 
> ------------------------------------------------------------------------------
> Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
> and more. Get SQL Server skills now (including 2012) with LearnDevNow -
> 200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
> SALE $99.99 this month only - learn more at:
> http://p.sf.net/sfu/learnmore_122512_______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel

------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to