Trimble Connect LoadError: 127: The specified procedure could not be found. (openssl.so)

Really? It is distro’d with SketchUp’s Ruby v2 library.

If you open the Ruby Console and paste in this line, is it not there ?

UI.openURL(Sketchup.find_support_file("Tools/RubyStdLib/platform_specific"))

Or do you see true or false for this line?

File.exist?(Sketchup.find_support_file("Tools/RubyStdLib/platform_specific/ssleay32.dll"))

When you ran the SketchUp installer, did you right-click and “Run as administrator” ?

The console reports back “True” and opens a window to “C:\Program Files\SketchUp\SketchUp 2016\Tools\RubyStdLib\platform_specific” not “C:\Windows\System32.”

Regards “Run as administrator”, since I am the sole user it seldom occurs to me to run as admin. Short answer, no.

Tried the Trimble update. It said the extension was installed, I closed out and reloaded…same error and no such extension on menu dropdown. Did an uninstall, tried again with same results.

The instructions for running the installer tell us to do this. I always do, even though I am also the administrator of my machine.

http://help.sketchup.com/en/article/solr-search?keyword=installing%20sketchup

Just logging in as a member of the administrators group does not grant constant admin rights for some tasks.

So it is in the distribution location.

Do you believe that if SketchUp or Trimble Connect registers the DLL with Windows, and it should then reside in “C:/Windows/System32” (having been copied ) ?

I’ll wipe out the current install and try again with full rights. Let you know what happens.

I’ve no idea where the dll should reside, I would imagine as long as the app that needs it can find it there shouldn’t be a problem.

Any thoughts on the unsucessful attempt to install Trimble Connect?

Can you specify whether these 2 files really should be located in C:/Windows/System32 ?

I have SU2016Pro 64-bit on Win7 64-bit.
These 2 DLLs are not in "C:/Windows/System32".
These 2 DLLs are in "%ProgramFiles%/SketchUp 2016/Tools/RubyStdLb/platform_specific/".
libeay32.dll v 1.00.12
ssleay32.dll v 1.00.12

The Trimble Connect extension loads fine, and populates the File > Trimble Connect submenu.

It seems to be common that the users having issues are running 32-bit SketchUp Pro.
At least one say he’s on 32-bit Win7 Pro.

You can always try to manually download the RBZ, and navigate to Window > Preferences > Extensions, and click the “Install Extension…” button, then (in the filepicker) navigate to where you saved the RBZ archive and choose it.

Be sure the “Trimble Connect” extension is checked in dialog: Window > Preferences > Extensions

Q:

Are you running 32-bit or 64-bit Windows ?

Do you have any non-latin characters in your username ?
(This means they’d also be in the %AppData% path to SketchUp’s extensions.)

Did you install SketchUp in some custom directory or drive ?

Running 32-bit Win7 Pro
User name is and always will be hsmyers
SU installation was vanillia all the way
I’ll try the manual installation of “Trimble Connect” following next dice roll installing SU this time with full rights…

Just for the record there is in fact a difference between run as admin and having an admin account.

OK. Just did the next pass in the uninstall, install, cross-my-fingers dance with no difference in result. I.e. “Load error” pertaining to TC. Small side note here…is there a command line such that the initial splash screen is avoided? Now back to the topic at hand, I think that it seems clear that the error and the fact that the extension update fails are related. I suppose the thing to do next is the manual installation of TC just to check and see how well that works. And while typing this I remembered that there was previously a SU(Pro) V7 installed on this machine which I removed prior to moving to SU V2016. Another non-pertainent question, given Google’s passion for Python, why the choice of Ruby? Just curious…

SketchUp does not install anything in C:\Windows\System32. But apparently there are other applications that install these DLLs into System32, which was interfering with SketchUp’s Ruby Standard Library. We have corrected this issue in the upcoming maintenance release.

2 Likes

There can be no LoadError, unless the extension is installed. If the version displayed for the Trimble Connect extension, in the Window > Preferences > Extensions, is the latest, then the update should have been successful.

If the library file could not be found, there would be a different error message displayed for the LoadError. Ie:

require 'GoofBallNoFile.so'
Error: #<LoadError: cannot load such file -- GoofBallNoFile.so>

The “127: The specified procedure could not be found.” message indicates Ruby cannot find the entry point function, it expects to find IN the library file.

The error message (although cryptic) sometimes happens when the wrong bitness so library file is trying to load. (It has happened in previous cycles that the deployed packages had the wrong compiled binary so in them, and they had to re-release the extension.)

But it also happens when the entry point function is not named correctly.


Other than what we’ve tried, you could check that you have read and write permissions on all folders from the appdata “Plugins” on down, and the program files “SketchUp 2016/ShippedExtensions” on down.

Make sure SketchUp is set to run in administrator mode. (Right-click the icon, Properties, switch to Compatibility panel, check the box under Privilege Level.)

Thanks for the clarifications. I’ll dig about and see what is what. This would explain the Warehouse’s confusion about what has been installed/updated. Just thinking through it, if permissions were insufficient though, then we would be back to the missing file scenario—yes?

The Warehouse confused ? I didn’t really get that idea from your previous posts. I think the red button on the extension’s page in the EW, would say “Update” rather than “Install” if it was installed and a newer version was available.

If an extension was never originally installed by the Warehouse it will not know how to treat it properly. IE, there is a text file (extension_info.txt) that has the warehouse extension id and version id in it, within the extension’s subfolder. But I believe all Trimble extensions are now shipping with this identification file.

Extensions installed manually or from other sources may not have these files. (But perhaps, newer extensions run through the 2016 developer portal for code signing may now get them ?)

Well insufficient permissions for the %AppData% plugins folders could prevent SketchUp from updating or installing extensions.

Insufficient read permissions for the %ProgramFiles% Ruby lib folders could cause missing file error, … yes.


But… I think it appears to be a 32-bit specific problem. I have no issues on 64-bit SketchUp, running 64-bit Ruby, loading the 64-bit library binary.

I think the confusion is mine based on the prior notion that TC had failed to install yet was reported otherwise in warehouse.

@hsmyers: The team members are saying they have fixed it on the application side, in the latest maintenance release M1. So next step is to try updating the app.

SketchUp Installer Downloads - ALL

Good on em’ I’ll give it a go now!!

It says I’m up to date…:frowning:

If you wait until tomorrow, you’ll probably get a pop up tell you about the new release. Or just go here, download and install it now.

No problem with either the installation or it’s execution!! :+1:

Tell everyone thanks and if they ever wander up to Boise, the Mochas are on me!

1 Like

Hi!

We had a few error reports this year about this issue. All users were using Sketchup 2018 on Windows 10. The advice to copy ssleay32.dll from *\SketchUp 2018\Tools\RubyStdLib\platform_specific to *\SketchUp 2018 helped twice. But for one user it hadn’t resolved the issue. We have traced that he has ssleay32.dll in C:\Windows\System32 directory, but even temporally removing it from there didn’t help, and the user still receives error ‘127’ on requiring openssl library.

I was able to reproduce that error at Sketchup Pro 2018 by coping ssleay32.dll from my MINGW installation to C:\Windows\System32. So, as I understand the issue is still there, and it can arise if some other application adds incompatible version of ssleay32.dll to Windows system folders.

Is it possible to fix the issue so openssl.so would ignore the standard Windows DLL search order, and always load DLLs from platform_specific directory?

What would you recommend meanwhile to fix the issue for this specific user?

> require 'openssl'

Error: #<LoadError: 127: The specified procedure could not be found.   - C:/Program Files/SketchUp/SketchUp 2018/Tools/RubyStdLib/platform_specific/openssl.so>
C:/Program Files/SketchUp/SketchUp 2018/Tools/RubyStdLib/rubygems/core_ext/kernel_require.rb:54:in `require'
C:/Program Files/SketchUp/SketchUp 2018/Tools/RubyStdLib/rubygems/core_ext/kernel_require.rb:54:in `require'
C:/Program Files/SketchUp/SketchUp 2018/Tools/RubyStdLib/openssl.rb:17:in `<top (required)>'
C:/Program Files/SketchUp/SketchUp 2018/Tools/RubyStdLib/rubygems/core_ext/kernel_require.rb:54:in `require'
C:/Program Files/SketchUp/SketchUp 2018/Tools/RubyStdLib/rubygems/core_ext/kernel_require.rb:54:in `require'
<main>:in `<main>'
SketchUp:1:in `eval'
1 Like