LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Installing LabVIEW 2023 Q3 on macOS (14) Sonoma on Apple Silicon (arm64) & Intel (x86_64)

Solved!
Go to solution

Motivation(s):

--NI has ceased support for further iterations of LV on macOS

--macOS Ventura is supported, but has a bug regarding external SSD's with partitions formatted with exFAT which allow seamless transitions between Windows and macOS hardware that run LabVIEW.

(See: https://bombich.com/kb/ccc6/macos-ventura-known-issues which details this and recommends upgrading to macOS Sonoma.)

 

Without addressing drivers, the installation issues for me so far are:

--Upgrading from Ventura to Sonoma (or installing LV onto a fresh install of Sonoma) breaks the functionality of the NI Example Finder, throwing various errors:

Could not find the LabVIEW Service port from the NI Service Locator .

The NI HelpServer could not be found.

The NI Service Locator is not running.

 

To get the HelpServer running which opens TCP/IP ports to communicate with the NI Example Finder, we need to restart the HelpServer.

  1. Navigate to /Applications/National\ Instruments/LabVIEW\ 2023\ 64-bit/resource/system.
  2. Double click on HelpServer.llb
  3. Launch Set HelpServer Config Settings__NATIONAL INSTRUMENTS.vi.
  4. Click the Enable Help Server? boolean button so that it in its TRUE state.
  5. Run the VI once.
  6. Close the VI.
  7. Now the Example Finder should work fine.

You can also restart the HelpServer using the following steps:

  1. Navigate to /Library/Application\ Support/National\ Instruments/Service\ Locator
  2. Double click on nisvcloc.
  3. This starts the NI Service Locator service.

    To ensure that this Service Locator automatically runs every time macOS starts:
  4. Navigate to Start » Program Files » Startup.
  5. Click in the Apple menu and select System Setting... -> General -> Login Items -> Open at Login.
  6. Click the "+" button and open a folder path to create a link to /Library/Application\ Support/National\ Instruments/Service\ Locator/nisvcloc as a Unix Executable File.

Note: For LabVIEW 2010-2012 NI Service Locator was renamed to System Web Server, but changed back to NI Service Locator starting in LabVIEW 2013

If the above steps did not solve the issue then follow these steps to change the port used by the Help Server:

  1. Navigate to /Applications/National\ Instruments/LabVIEW\ 2023\ 64-bit/resource/system.
  2. Double click on HelpServer.llb.
  3. Launch the HelpServer__NATIONAL INSTRUMENTS.vi.
  4. Now you can see the port that HelpServer is using. Change the port by stopping and running this VI several times.
  5. Hit the Stop button to see the 'Registered?' light go off. Now Run the VI and you will see it come on. 
  6. On your last run, close the VI WITHOUT stopping it. 
  7. Now the Example Finder should work fine.

Another possible cause of the problem is if a firewall is blocking the TCP/IP ports the HelpServer is trying to use. Change the settings of the firewall to unblock the correct port, and this should resolve the problem.

 

Reference: https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019OZlSAM&l=en-US

 

Alternative method(s) using the Terminal:

 

To manually verify if the Service Locator is running or not, open the application located in /Applications/Utilities/Activity\ Monitor.  From the View menu, change the drop down selection boxes to "Columns" and "All Processes".  This will now show all running programs on the machine.  You can now filter out everything we don't care about by typing "ni" (note the lower case) in the search box in the top right hand corner of the Activity Monitor window.  This will then show a short list of processes.  If Service Locator is running, you should see nisvcloc in the list.

 

If the Process Name doesn't show nisvcloc running, manually run the nisvcloc program through a Terminal (\Applications\Utilities\Terminal) command.   At the command prompt, run the following command to start service locator:

     /Library/Application\ Support/National\ Instruments/Service\ Locator/nisvcloc &

Once you have run the command above, re-open LabVIEW 2023 and try the example finder again.

 

If starting the nisvcloc manually from Terminal works but it seems that the service locator isn't automatically starting, we can check the LauchDaemon script to ensure it is configured properly on disk.  To do this, open Terminal again and execute the following two commands:

     cd /Library/LaunchDaemons/

     ls -la

This will change your terminal session to the directory where the NI Service Locator script lives.  It will then list the directory contents along with some permissions.  The Service Locator script line will probably look something like this:

     -r-xr-xr-x   1 root  wheel   490 Nov  19  17:48 com.ni.ServiceLocator.plist

What this tells us is that the permissions are 0555, the file is owned by root and the group wheel, it is 490 bytes, was last modified on Nov 19 in the past year, and is named com.ni.ServiceLocator.plist.

If the permissons on your file do not look the same as the example above (-r-xr-xr-x), then you can try changing them by running this command:

     sudo chmod 555 /Library/LaunchDaemons/com.ni.ServiceLocator.plist

Once the permissions are changed using the chmod command, reboot and theoretically the Service Locator should load and be running as a process in the Activity Monitor.

 

Reference: https://forums.ni.com/t5/LabVIEW/NI-ServiceLocator-is-not-running-on-OS-X/td-p/1536276/page/2

 

Replies that supplement challenges and solutions to installing LabVIEW on Sonoma and subsequent versions of macOS are encouraged.

0 Kudos
Message 1 of 2
(626 Views)
Solution
Accepted by topic author wjdwyer

Additional Information:

Apart from the Activity Monitor GUI application, you may also monitor the configuration of the Service Locator URL Mappings through TCP 3580:

http://localhost:3580/dumpinfo?

This will provide additional information on the NI Service Locator's current connections running in the background.  If the browser returns “Page not Found”, the service locator may not be running.  For our purposes in getting LV alone running, there should be seven (7) services running:

NIExampleFinderServer

HelpServer

ExampleFinderCommand

DropControlOrFunction

HighlightPaletteMenuItem

SearchMacUnixHelp

OpenVIFromHelp

 

Reference: https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019KpQSAU&l=en-US

 

You can also try starting the Service at the Command Line.  From the command line, we can view what services are running:

  sudo launchctl list | grep -i ni   (-i makes the grep filter case insensitive)

PID     Status   Label

...

574     0           com.ni.ServiceLocator   (The PID # may be different.)

...

 

There are workarounds to the Service needing to be restarted.  Of interest are:

  1. Start the service if it is not running:

     sudo launchctl start system/com.ni.ServiceLocator

 

  1. Consider editing the com.ni.ServiceLocator.plist file and adding

      <key>KeepAlive</key>

     <true/>

     below

     <key>RunAtLoad</key>

    <true/>

    which would take effect on a restart.

 

Reference: https://superuser.com/questions/930389/how-to-start-a-service-using-mac-osxs-launchctl

 

Firewall 

If, after trying the steps above for you operating system, the issue persists, another consideration is a firewall issue.  To allow NI Service Locator to run with a personal firewall running, the following need to be added to your personal firewalls exceptions/safe list/program permission properties:

  1. NI Service Locator (/Library/Application\ Support/National\ Instruments/Service\ Locator/nisvcloc)
  2. NI Example Finder (/Library/Application Support/National Instruments/example finder/1.0/bin/NIExampleFinder.app)
  3. LabVIEW (/Applications/National Instruments/LabVIEW 2023 64-bit/LabVIEW.app)

 

Reference: https://www.ni.com/en/support/security/configuring-software-and-hardware-firewalls-to-support-nation...

Reference: https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P6fLSAS&l=en-US

0 Kudos
Message 2 of 2
(529 Views)