<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">The following notes are based on an install on a clean iMac (the disk has just been replaced) running High Sierra (10.13.3).  The installation was done using MacPorts and their qgis3 port.  When I describe more than one install method, the first one is the one I used.  These is no reason to be a programmer to run through this installation procedure.  Some will need to be done from the command line, so you should locate Terminal if you don’t already have it on your Dock.  You should find it in the Other directory in your Applications. <div class=""><br class=""></div><div class=""> If you really want to look cool and impress coworkers, significant others, kids or pets change the Profile under Preferences to “Homebrew”.  Then, also in the Profile dialog, click on the colour box beside “Color & Effects” and slide the opacity over to something like 70%.  Open a new terminal (Cmd-n) to see the effects and I’m sure you will feel you fir right into Mr. Robot, Person of Interest, or Matrix (depending on your age ;-)</div><div class=""><br class=""></div><div class="">The code you type into the terminal window is all in fixed width font to make is distinct from the instruction.  I show <font face="Courier New" class="">sudo</font> in front of all commands that might need it to write or edit files in areas only controlled by the administrator.  Hopefully your user has administrative status; if not you will need the password for one that does.  The <span style="font-family: "Courier New";" class="">sudo</span> command has a timer during which is will continue to execute privileged commands.  If you take a break between commands for any reason this may time out.  It never hurts to include the <span style="font-family: "Courier New";" class="">sudo</span> at the from of the command.  If the timer has not run out it will not ask for a password.<br class=""><div class=""><br class=""></div><div class="">1. Install latest MacPorts (currently 2.4.2) - they hive detailed documentation on this at <a href="http://macports.org" class="">macports.org</a> and I’ll summarize here.</div><div class=""><br class=""></div><div class="">1a.  Install Xcode if it not already on your system.  This is a big install, and will use a fair bit of memory and download time.  If you do not plan on building again, I believe you can remove this from your machine if you need the space later.  There are two install methods:</div><div class=""><br class=""></div><div class="">1a i) App Store.  Find it under Developer Apps or Apps by Apple.</div><div class=""><br class=""></div><div class="">1a ii) Apple Developer Web Site - not sure when this would be easier and you would need to register.  The download speed might be faster than App Store.</div><div class=""><br class=""></div><div class="">This is a long download and install time.  You are probably looking at more than a coffee break, at least a meal, and perhaps overnight.</div><div class=""><br class=""></div><div class="">1b.  Once Xcode is installed you will still need to install the command line tools.  </div><div class=""><br class=""></div><div class="">1b i) Open a terminal and run:  <font face="Courier New" class="">xcode-select —install</font> You will be asked if you want to install the tools now. (That is a double dash “—: not a single dash in the option.)</div><div class=""><br class=""></div><div class="">1b ii) Also available at the Apple Developers site.</div><div class=""><br class=""></div><div class="">This should be quite a fast install.</div><div class=""><br class=""></div><div class="">1c.  Now we install the MacPorts package by downloading the one for your version of Mac OS X from <a href="http://macports.org" class="">macports.org</a>  This is also a fairly fast install.</div><div class=""><br class=""></div><div class="">Once the development tools and MacPorts are installed we need to update the terminal (shell session) we are working in to reflect this.  If you enter <font face="Courier New" class="">echo $PATH</font> you will see the search path used to find executable programs.  MacPorts will not yet be included.</div><div class=""><br class=""></div><div class="">1c i) run: <font face="Courier New" class="">export PATH=/opt/local/bin:/opt/local/sbin:$PATH</font> and after that run <span style="font-family: "Courier New";" class="">echo $PATH</span> again to confirm PATH was changed.</div><div class=""><br class=""></div><div class="">1c ii) or open a new terminal window (Cmd-n) which will execute the newly updated .profile file and that will also result in the updated PATH which includes the MacPorts directories.  You will continue in the new window only.</div><div class=""><br class=""></div><div class="">1d. We need to accept the Xcode licence before we can continue with the build of qgis3</div><div class=""><br class=""></div><div class="">1d i) run <font face="Courier New" class="">sudo xcodebuild —license</font> (notice that is license not licence).  Scroll through the agreement using space bar (since that is faster than enter) and type “agree”. (That is a double dash “—: not a single dash in the option.)</div><div class=""><br class=""></div><div class="">1d ii) open Xcode as an application and accept the licence agreement.</div><div class=""><br class=""></div><div class="">Now we are on to part 2 - actually running the MacPorts configure-build-install of QGIS 3; what we have been waiting for!</div><div class=""><br class=""></div><div class="">2)  run sudo port install qgis3</div><div class=""><br class=""></div><div class="">That’s it.The port configuration stage will build a list of dependancies not already installed, which should be quite a lot.  It will ask before it starts to download and install the list.  This may take a while depending on Internet speeds and how much needs to be installed.  It may need to build (compile) some of these components.  Following that it will download and build QGIS and if that is successful it will be installed into your Applications.  The configure-build-install can take a while even with no errors.  This is at least a coffee break, maybe a meal.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><b class="">Fixes and Workarounds</b></div><div class=""><br class=""></div><div class="">If everything goes well you should see messages like this for each component:</div><div class=""><br class=""></div><div class=""><div class=""><font face="Courier New" class="">--->  Fetching archive for bison-runtime</font></div><div class=""><font face="Courier New" class="">--->  Attempting to fetch bison-runtime-3.0.4_2.darwin_17.noarch.tbz2 from <a href="https://packages.macports.org/bison-runtime" class="">https://packages.macports.org/bison-runtime</a></font></div><div class=""><font face="Courier New" class="">--->  Attempting to fetch bison-runtime-3.0.4_2.darwin_17.noarch.tbz2.rmd160 from <a href="https://packages.macports.org/bison-runtime" class="">https://packages.macports.org/bison-runtime</a></font></div><div class=""><font face="Courier New" class="">--->  Installing bison-runtime @3.0.4_2</font></div><div class=""><font face="Courier New" class="">--->  Activating bison-runtime @3.0.4_2</font></div><div class=""><font face="Courier New" class="">--->  Cleaning bison-runtime</font></div></div><div class=""><br class=""></div><div class="">Notice it tried to download from two sites.  The first one did not work for whatever reason, but the second did.  This is common and sometimes it may take several tries to find a site that works.  This is part of the heavy lifting that MacPorts is taking care of for you and is not a problem.</div><div class=""><br class=""></div><div class="">The download of a dependancy may fail due to slow speed or a bad error check after the download.</div><div class=""><br class=""></div><div class=""><div class=""><font face="Courier New" class="">--->  Fetching distfiles for py36-pyqt5</font></div><div class=""><font face="Courier New" class="">--->  Attempting to fetch PyQt5_gpl-5.10.tar.gz from <a href="https://distfiles.macports.org/py-pyqt5" class="">https://distfiles.macports.org/py-pyqt5</a></font></div><div class=""><font face="Courier New" class="">--->  Attempting to fetch PyQt5_gpl-5.10.tar.gz from <a href="http://superb-sea2.dl.sourceforge.net/pyqt" class="">http://superb-sea2.dl.sourceforge.net/pyqt</a></font></div><div class=""><font face="Courier New" class="">--->  Verifying checksums for py36-pyqt5</font></div><div class=""><font face="Courier New" class="">Error: Checksum (rmd160) mismatch for PyQt5_gpl-5.10.tar.gz</font></div><div class=""><font face="Courier New" class="">Error: Checksum (sha256) mismatch for PyQt5_gpl-5.10.tar.gz</font></div><div class=""><font face="Courier New" class="">***</font></div><div class=""><font face="Courier New" class="">The non-matching file appears to be HTML. See this page for possible reasons</font></div><div class=""><font face="Courier New" class="">for the checksum mismatch:</font></div><div class=""><font face="Courier New" class=""><<a href="https://trac.macports.org/wiki/MisbehavingServers" class="">https://trac.macports.org/wiki/MisbehavingServers</a>></font></div><div class=""><font face="Courier New" class="">***</font></div><div class=""><font face="Courier New" class="">The file has been moved to: /opt/local/var/macports/distfiles/py-pyqt5/PyQt5_gpl-5.10.tar.gz.html</font></div><div class=""><font face="Courier New" class="">Error: Failed to checksum py36-pyqt5: Unable to verify file checksums</font></div><div class=""><font face="Courier New" class="">Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-pyqt5/py36-pyqt5/main.log for details.</font></div><div class=""><font face="Courier New" class="">Error: Follow <a href="https://guide.macports.org/#project.tickets" class="">https://guide.macports.org/#project.tickets</a> to report a bug.</font></div><div class=""><font face="Courier New" class="">Error: Processing of port qgis3 failed</font></div></div><div class=""><br class=""><div class="">Don’t panic.  The solution is often quite simple.  But you must clean this first.  If you do not, then the bad download will not be replaced and the error will just keep on being displayed.  As you can see in the above example I had this error on py36-pyqt5 and the following solved the problem.  Repeat this for other components that have similar fails.</div><div class=""><br class=""></div><div class=""><font face="Courier New" class="">sudo port clean py36-pyqt5</font></div><div class=""><font face="Courier New" class="">sudo port install py36-pyqt5</font></div><div class=""><font face="Courier New" class="">sudo port install qgis3</font></div><div class=""><br class=""></div><div class="">You could skip the second line, but I like doing it explicitly rather than waiting for the dependence calculation if you start the full qugis3 install.</div><div class=""><br class=""></div><div class="">Here is the output from the py36-pyqt5 when it subsequently ran correctly.  Notice if you are interested the changes in the download site.</div><div class=""><br class=""></div><div class=""><div class=""><font face="Courier New" class="">--->  Computing dependencies for py36-pyqt5</font></div><div class=""><font face="Courier New" class="">--->  Fetching archive for py36-pyqt5</font></div><div class=""><font face="Courier New" class="">--->  Attempting to fetch py36-pyqt5-5.10_0.darwin_17.x86_64.tbz2 from <a href="https://packages.macports.org/py36-pyqt5" class="">https://packages.macports.org/py36-pyqt5</a></font></div><div class=""><font face="Courier New" class="">--->  Attempting to fetch py36-pyqt5-5.10_0.darwin_17.x86_64.tbz2 from <a href="http://sea.us.packages.macports.org/macports/packages/py36-pyqt5" class="">http://sea.us.packages.macports.org/macports/packages/py36-pyqt5</a></font></div><div class=""><font face="Courier New" class="">--->  Attempting to fetch py36-pyqt5-5.10_0.darwin_17.x86_64.tbz2 from <a href="http://ywg.ca.packages.macports.org/mirror/macports/packages/py36-pyqt5" class="">http://ywg.ca.packages.macports.org/mirror/macports/packages/py36-pyqt5</a></font></div><div class=""><font face="Courier New" class="">--->  Fetching distfiles for py36-pyqt5</font></div><div class=""><font face="Courier New" class="">--->  Attempting to fetch PyQt5_gpl-5.10.tar.gz from <a href="https://distfiles.macports.org/py-pyqt5" class="">https://distfiles.macports.org/py-pyqt5</a></font></div><div class=""><font face="Courier New" class="">--->  Attempting to fetch PyQt5_gpl-5.10.tar.gz from <a href="http://superb-sea2.dl.sourceforge.net/pyqt" class="">http://superb-sea2.dl.sourceforge.net/pyqt</a></font></div><div class=""><font face="Courier New" class="">--->  Verifying checksums for py36-pyqt5                                             </font></div><div class=""><font face="Courier New" class="">--->  Extracting py36-pyqt5</font></div><div class=""><font face="Courier New" class="">--->  Applying patches to py36-pyqt5</font></div><div class=""><font face="Courier New" class="">--->  Configuring py36-pyqt5</font></div><div class=""><font face="Courier New" class="">--->  Building py36-pyqt5</font></div><div class=""><font face="Courier New" class="">--->  Staging py36-pyqt5 into destroot</font></div><div class=""><font face="Courier New" class="">--->  Installing py36-pyqt5 @5.10_0</font></div><div class=""><font face="Courier New" class="">--->  Activating py36-pyqt5 @5.10_0</font></div><div class=""><font face="Courier New" class="">--->  Cleaning py36-pyqt5</font></div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Hope this helps.</div><div class=""><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">John Harrop, PGeo, FGS<br class="">Senior Project Geologist</div><div class="">Coast Mountain Geological Ltd</div><div class=""><br class="">PO Box 62<br class="">Suite 488 - 625 Howe St<br class="">Vancouver, BC   V6C 2T6<br class="">Canada</div><div class=""><br class=""></div><div class=""><a href="mailto:jharrop@coastmountaingeo.com" class="">jharrop@coastmountaingeo.com</a><br class=""><br class="">+1 604 681-0209 office<br class="">+1 604 715-0987 cell<br class="">+353 83 469-1116 Ireland<br class=""><br class="">j.harrop Skype</div><div class=""><br class=""></div></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>

<br class=""></div></div></div></body></html>