Re: [nant-dev] NAnt on Linux findings (some) and questions (more)
Then, get rid of any classes that have using Win32 in them. Unfortunately I just added using Win32 to project.cs to support the multiple runtimes. I want to come up with a way to partition this so that the registry access stuff is skipped on a non-windows build. Maybe thru use of #ifdef. Anyone have a better way to do this ? If I ever get the debugger compiled, I was intending to look into this further. I suggested dropping those files that had using Win32 from the build just to get going under linux, but hopefully, that wouldn't have to be an absolute rule. It is my understanding that certain parts of Mono are implemented using the wine libraries. Not all systems will have this installed or installed and configured, like mine was. Of course any .net compiled libraries that used PInvoke may hit kernel32.dll by themselves, but the original set of wine libraries had a version of kernel32.dll and this is why Brian saw that error most likely. The current versions of wine delegate everything to a single shared library and emulate the win32 calls by some sort of configuration. They also emulate the Registry but that must be setup to work correctly. I am going to guess that it will be possible to say using Win32 without wine and without error, but I don't know what the limitations are yet. My next couple of free time sessions are going to be spent rebuilding my linux system so that I have more source packages, now that I finally figured out the connection between tarballs (.tar.gz), source rpms, spec files and packages, so I'll be a few days from any more work on NAnt. Hopefully after that I can hit this hard again. As for the using Win32 in project.cs, I'd say leave it there for now until me or somebody else can look into this a little more. --- This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger for complex code. Debugging C/C++ programs can leave you feeling lost and disoriented. TotalView can help you find your way. Available on major UNIX and Linux platforms. Try it free. www.etnus.com ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] NAnt on Linux findings (some) and questions (more)
Okee... so I'm fiddling with NAnt on Redhat Linux 8.0, with the 0.21 rpm of mono. (Haven't yet upgraded to the 0.22 that came out this week.) My not-so-impressive findings (I think mostly repeated from an e-mail that may or may not have escaped my outbox): Remove ScriptTask.cs from NAnt.core, and the following works (in that it compiles): mcs -g -out:./nant/bin/NAnt.Core.dll -recurse:./nant/src/NAnt.Core/*.cs /t:library /r:System.Web and then: mcs -g -out:./nant/bin/NAnt.exe -recurse:./nant/src/NAnt.Console/*.cs /t:exe Put these two brand-spanking-new files into the same directory and the following gives me a warm-fuzzy: mono NAnt.exe -help Okay, then. How 'bout: mono NAnt.exe Could not find a '*.build' file in '/home/brian/cvsroot/nant/examples/Simple' Try 'nant -help' for more informatio This is good, because there are no build files (I renamed the Simple.build that was in the directory). Make a SimpleMono.build like this: ?xml version=1.0? project name=Simple default=build target name=build description=compiles the source code echo message=Testes, one, two. / /target /project And I get 7 of these: ** (NAnt.exe:14094): WARNING **: Failed to load library libkernel32.dll.so (kernel32.dll): libkernel32.dll.so: cannot open shared object file: No such file or directory This is true. There is no libkernel32.dll.so or anything libkernel32-ish on the box. That's where I'm lost. I also get: settings file /home/brian/cvsroot/nant/examples/Simple/NAnt.settings not found. I say duh and I go grab the NAnt.settings file and stick it in my directory, fiddle a while and realize I need to change the defaultframework to mono and probably the paths in that frameworkinfo element to /usr/bin. (I note that regvalue=sdkInstallRoot probably is going to bite me.) Which upgrades me to where I'm at now: Still 7 identical complaints about libkernel32.dll.so and Error loading settings file /home/brian/cvsroot/nant/examples/Simple/NAnt.settings.A null value was found where an object instance was required You're still reading this far? :) I'm guessing that the new and improved mono debugger can help me here, but if anybody with some mono-xpertise sees me doing something foolish, I'd surely appreciate a point in the right direction. Once I have something more than Mono NAnt: The Diary of a Linux Idiot I'll post something on the wiki for those that come after me... But I'd obviously love it if someone beat me to the punch and put some pointers up there (debugging in Linux, what in the NAnt code base needs to be gimped, etc.) Brian --- This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger for complex code. Debugging C/C++ programs can leave you feeling lost and disoriented. TotalView can help you find your way. Available on major UNIX and Linux platforms. Try it free. www.etnus.com ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] NAnt on Linux findings (some) and questions (more)
Philip Nelson wrote: I hit more on this later. If you have a default install, remove all of the dlls from the bin directory and start again. Then, get rid of any classes that have using Win32 in them. Unfortunately I just added using Win32 to project.cs to support the multiple runtimes. I want to come up with a way to partition this so that the registry access stuff is skipped on a non-windows build. Maybe thru use of #ifdef. Anyone have a better way to do this ? Ian I have been trying and failing to get the debugger compiled but that's another story --- Brian Deacon [EMAIL PROTECTED] wrote: Okee... so I'm fiddling with NAnt on Redhat Linux 8.0, with the 0.21 rpm of mono. (Haven't yet upgraded to the 0.22 that came out this week.) My not-so-impressive findings (I think mostly repeated from an e-mail that may or may not have escaped my outbox): Remove ScriptTask.cs from NAnt.core, and the following works (in that it compiles): mcs -g -out:./nant/bin/NAnt.Core.dll -recurse:./nant/src/NAnt.Core/*.cs /t:library /r:System.Web and then: mcs -g -out:./nant/bin/NAnt.exe -recurse:./nant/src/NAnt.Console/*.cs /t:exe Put these two brand-spanking-new files into the same directory and the following gives me a warm-fuzzy: mono NAnt.exe -help Okay, then. How 'bout: mono NAnt.exe Could not find a '*.build' file in '/home/brian/cvsroot/nant/examples/Simple' Try 'nant -help' for more informatio This is good, because there are no build files (I renamed the Simple.build that was in the directory). Make a SimpleMono.build like this: ?xml version=1.0? project name=Simple default=build target name=build description=compiles the source code echo message=Testes, one, two. / /target /project And I get 7 of these: ** (NAnt.exe:14094): WARNING **: Failed to load library libkernel32.dll.so (kernel32.dll): libkernel32.dll.so: cannot open shared object file: No such file or directory This is true. There is no libkernel32.dll.so or anything libkernel32-ish on the box. That's where I'm lost. I also get: settings file /home/brian/cvsroot/nant/examples/Simple/NAnt.settings not found. I say duh and I go grab the NAnt.settings file and stick it in my directory, fiddle a while and realize I need to change the defaultframework to mono and probably the paths in that frameworkinfo element to /usr/bin. (I note that regvalue=sdkInstallRoot probably is going to bite me.) Which upgrades me to where I'm at now: Still 7 identical complaints about libkernel32.dll.so and Error loading settings file /home/brian/cvsroot/nant/examples/Simple/NAnt.settings.A null value was found where an object instance was required You're still reading this far? :) I'm guessing that the new and improved mono debugger can help me here, but if anybody with some mono-xpertise sees me doing something foolish, I'd surely appreciate a point in the right direction. Once I have something more than Mono NAnt: The Diary of a Linux Idiot I'll post something on the wiki for those that come after me... But I'd obviously love it if someone beat me to the punch and put some pointers up there (debugging in Linux, what in the NAnt code base needs to be gimped, etc.) Brian --- This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger for complex code. Debugging C/C++ programs can leave you feeling lost and disoriented. TotalView can help you find your way. Available on major UNIX and Linux platforms. Try it free. www.etnus.com ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger for complex code. Debugging C/C++ programs can leave you feeling lost and disoriented. TotalView can help you find your way. Available on major UNIX and Linux platforms. Try it free. www.etnus.com ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger for complex code. Debugging C/C++ programs can leave you feeling lost and disoriented. TotalView can help you find your way. Available on major UNIX and Linux platforms. Try it free. www.etnus.com ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers