From: Robert F. <rjf...@as...> - 2015-11-20 22:56:51
|
Hi >When I converted to 64 bit environment the compilation worked like a breeze and these problems disappeared. I guessed that 32 bit environments have inadequate heap space available. We stopped supporting 32bit mesa a long time ago as most (all?) linux distributions and mac versions(?) moved to 64bit by default. > Neither am I using the recently introduced maths library in the crlibm There is a flag at the bottom of the makefile_header, called BUILD_ON_WINDOWS, set that to =YES, and it will patch crlibm during the build to hopefully work (I've only made mesa under cwygin not windows directly, see next section). This wont help with the other missing packages though. Its is possible to run MESA (with pgplot, sdk, ndiff and crlibm and presumably se though i don't know how to test that) using cywgin. I've not advertised it much as there are still issues with it, I can get it to work on my machine but others have had less success, and also I've not had a chance to try on windows 10 yet. So if you can get it to work yet me know. Also i've found MESA to be really really slow on windows under cygwin, which appears to be an issue with the openmp threads implementation in cywgin. # Instructions for running under cygwin (as of windows 8.1) (and copy pasted from previous emails so bear with me) Grab the sdk from here:https://drive.google.com/file/d/0B7lpjS0V-k6SX0JLSXBOMGNpRms/view?usp=sharing and grab the most recent MESA release I'm going to assume that you place the files in a folder on your desktop called mesa, if you don't then you just need to remember to change the paths. Next you'll need to install cygwin: 1) Go to https://www.cygwin.com/install.html 2) Download setup-x86_64.exe 3) Run the installer 4) Select run from installer 5) Choose a location to install cygwin 6) Choose location for it to store downloads (easiest to keep as default) 7) select internet connection type (easiest to keep as default) 8) Pick a mirror, check against https://cygwin.com/mirrors.html to find nearest mirror 9) See note about what packages to install 10) Click accept on the dependencies 11) Wait for the installation to finish 12) Select create icon on desktop 13) click finish. Get the needed dependencies: Either during the graphical install (step 9) find the following packages: xlaunch make perl cygwin-devel binutils w32api-headers w32api-runtime libX11-devel zlib zlib-devel zip unzip Or the easier way, follow the next set of instructions to do this automatically for you: 14) On your desktop is now an icon "Cygwin64 terminal" 15) Double click 16) Assuming you saved setup-x86_64.exe to your Downloads folder, copy this line into the terminal: /cygdrive/c/Users/"$USER"/Downloads/setup-x86_64.exe -q --packages="xlaunch,make,perl,cygwin-devel,binutils,w32api-headers,w32api-runtime,libX11-devel,zlib,zlib-devel,zip,unzip" This will install the needed packages 17) If need be click to allow the installation to proceed Note about cygwin, it is effectively a linux terminal that runs inside windows so you interact like you would a normal linux machine (ie cd, mkdir, ls etc). A couple of paths for you: /cygdrive/c points to the c:\ drive on your machine so you can find the windows files inside cygwin /cygdrive/c/Users/"$USER"/ points to your windows home directory ($USER will expand you your windows username) /cygdrive/c/Users/"$USER"/Desktop is your desktop Setting up the sdk: Navigate to the MESA folder (in my case its /cygdrive/c/Users/"$USER"/Desktop/mesa) and extract the sdk and mesa: tar xvf mesasdk-x86_64-windows-20150216.tar.gz unzip mesa.zip (or what ever zip file you downloaded) Set your MESA_DIR path (by default cygwin installs bash so we use the export command) export MESA_DIR=/cygdrive/c/Users/"$USER"/Desktop/mesa/mesa Set MESASDK_PATH: export MESASDK_PATH=/cygdrive/c/Users/"$USER"/Desktop/mesa/mesasdk source $MESASDK_ROOT/bin/mesasdk_init.sh export OMP_NUM_THREADS= number of threads you want to use, if you want to use all of them on windows and don't now how many you have then use: export OMP_NUM_THREADS=$(nproc) First time you source the mesasdk script you might get a firewall prompt, turns out to start the xwindow manager which we need for pgplot we need to open a port. See http://x.cygwin.com/docs/faq/cygwin-x-faq.html#q-firewall for details. For testers using one of the MESA releases you'll need to add the following line to the makefile, $MESA_DIR/utils/makefile_header BUILD_ON_WINDOWS=YES this will get fixed for the next release. # End instructions Hope this helps Rob On Fri, Nov 20, 2015 at 2:16 PM, Ian Foley <ifo...@gm...> wrote: > I am an uncommon user in that I have downloaded versions of Mesa from way > back (2670) and have successfully compiled and run Mesa up to the latest > version (7624) under the Windows operating system. Currently I am running > Windows 10 with a 64 bit 4 core CPU and 8 GB of internal memory. I am now > compiling with gfortran version 4.9.3. I have a windows batch file that > does all the compilation using the supplied makefiles, but I have to > manually set up the data sub-directory (I used winzip). > > Naturally, I am not using the mesasdk nor pgplot nor se. Neither am I > using the recently introduced maths library in the crlibm subdirectory nor > ndiff ( am using the windows fc command). I did manage to compile the > makedef90 program, but I had to source the fnmatch code from the internet - > I found this program not essential providing the order of the compilation > of source files was done manually as mesa was being compiled for the first > time. During compilation the tests all ran successfully with outcome > matches better than 12 significant figures. > > I am curious to find out if there are any users out there who are running > mesa on windows and perhaps have sourced or created solutions which use the > mesasdk, maths library and perhaps have a replacement that does the job of > pgplot. I am currently working on the latter, but have only just begun. > > As a different comment, I was not able to compile Mesa version 4798 and > onward in 32 bit environments (earlier than the comments suggest). This was > because the nse test failed. When tracking the reason down, I found it > failed in the net_initialize source in the setup_reaction_info subroutine > where there was a failure at > allocate( > > g% rattab_f1(4*nrattab*num_reactions), > > stat=ierr) > > Investigations showed that this statement is trying to create 4*2000*5736 > bytes, more than 40 MB of memory on the heap. I could not find how to set > the heap space with gfortran or how much heap space was available. I tried > reducing the size of the nrattab and eventually succeeded in getting the > nse test to work, however problems in this allocate reemerged when running > star. When I converted to 64 bit environment the compilation worked like a > breeze and these problems disappeared. I guessed that 32 bit environments > have inadequate heap space available. > > Any help or thoughts in this area would be most appreciated. > > Ian > > > ------------------------------------------------------------------------------ > > _______________________________________________ > mesa-users mailing list > mes...@li... > https://lists.sourceforge.net/lists/listinfo/mesa-users > > |