Unable to find an entry point named 'Environment_SetEnv' in DLL 'Magick.NET-Q8-x64.Native.dll' - magick.net

Upgraded to latest ImageMagick / Magick.NET (7.0.2.901), and it built and ran fine locally, but explodes on the server with this error.
Unable to find an entry point named 'Environment_SetEnv' in DLL 'Magick.NET-Q8-x64.Native.dll'.
Seems to be a new issue. Judging by the change desc here:
https://magick.codeplex.com/discussions/650746
The VC Runtimes are no longer required, so installing them wouldn't be the issue - and, I've installed 2008, 2012 and 2015 VC runtimes for prior versions of the library, which worked fine.
Windows Server 2008 64-bit, 64-bit .Net 4 in IIS.
Current workaround is to roll back to 7.0.0.22, which runs without error.
Install-Package Magick.NET-Q8-AnyCPU -Version 7.0.0.22

I had this issue a couple months back and eventually found two separate causes:
AnyCPU Conflict with Previous Versions
Problem: Magick.NET caches the native library in a temp directory unless it already exists (Relevant source code). Since I had previously tested with the Q8-x64 version (which doesn't test for CPU architecture), the Magick.NET-Q8-x64.Native.dll already existed and was not overwritten.
Resolution: Delete the native library's temp directory. On my version of Windows, it was located at %TEMP%\Magick.NET.{TargetFramework}.{MagickNETVersion}. The Q8-AnyCPU version then extracted a new native library with the Environment_SetEnv method.
Lack of Permissions in Cache Directory
Problem: The native library was cached in a directory with restricted permissions for executing code.
Resolution: Change the cache directory's location. My solution is the following code.
#if DEBUG
private static bool MagickCacheDirectoryIsSet = false;
public DefaultConstructor()
{
if (!MagickCacheDirectoryIsSet)
{
ImageMagick.MagickAnyCPU.CacheDirectory = #"path\to\more\permissive\directory";
MagickCacheDirectoryIsSet = true;
}
}
#endif

Follow these steps:
Go to NuGet package manager for the solution (not the project)
Uninstall any previous versions of Magick.net
Install new version of Magick.net to desired projects
Go to the bin folder of the main project and delete any magick.net file
Run your solution
I successfully tested this method on VS2017 and Magick.net 7.6.1 (previous installation was 7.4.4)

Had the same issue, deleting the all magick dlls from the bin folder and reinstall solved it.

Related

Codename one version 1.0 is installed even though I install version 6.0 from Eclipse Marketplace

I am using Eclipse 2020-06 (I have made a fresh install of Eclipse instead of upgrading it from an earlier version of Eclipse) and JDK 8 (1.8.0_261). My OS is Windows 10.
JAVA_HOME is set to C:\Program Files\Java\jdk1.8.0_261
When I download "Codename One" plugin from Eclipse Marketplace it shows the version as 6.0 and it says "Installed" at the end of the installation process.
However, when I go to "Help -> Eclipse IDE -> Installation Details" under Eclipse, CodenameOneFeature version is listed as: 1.0.0.201409151325
When I select CodenameOneFeature from this list and hit Update, it says "No updates found". So basically I cannot force it to update to 6.0.
I can confirm that I have the earlier version installed also from the setting of the Codename One projects I create: when I go to Properties -> Java Compiler, the compliance level is set to 1.5 (also 1.5 is used in build.xml file).
BTW, I have also tried installing Eclipse 2019-06 (instead of 2020-06) and/or installing JDK 10 (instead of JDK 8) and/or modifying the eclipse.ini (by adding -vm option) so that it uses the version of JDK I want (instead of setting JAVA_HOME). But no combination of those has solved the problem.
Updated answer:
I found the problem. I broke the update site with a commit a couple of weeks ago. This should be fixed in a couple of hours once server caches refresh.
Original answer:
With Eclipse at this time we only support JDK 8. We're experiencing issues in updating the eclipse plugin to the latest version. Once installed I think you can also use JDK 11 but it doesn't matter since we don't support JDK 11 features.
Once a reasonably new version of the plugin is installed you can press update in Codename One Settings and it will update our libraries to the latest version equivalent to the other IDEs.

Could not Load timescaledb-1.6.0.dll - Not a Valid Win32 Application

I've come across an issue when attempting to load timescaledb using PostgreSQL v10.11... Upon executing the following command:
CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
I'm greeted with the following error:
ERROR: could not load library "<postgresfolder>/lib/timescaledb-1.6.0.dll": %1 is not a valid Win32 application.
postgresfolder = The path to my postgres installation location.
I've attempted this with PostgreSQL v11.6 aswell, with the same outcome. I don't believe it to be a dependency issue (Visual Studio C++ Redist. 2015) as I meet all the prerequisites listed # https://docs.timescale.com/latest/getting-started/installation/windows/installation-windows.
Any help would be greatly appreciated!
(EDIT): The installation is being performed on Windows 10, 64bit.
I got this problem due to ssleay32 and libeay32 dlls. Get binaries from https://get.enterprisedb.com/postgresql/postgresql-11.4-1-windows-x64-binaries.zip and copy them from postgresql-11.4-1-windows-x64-binaries/bin into your /bin folder. If they did not exist, still copy and keep them there.
Also, it looks like timescaledb only works with 11.4 version if you wanna stick with 11.

How to setup GStreamer Editing Services 1.2.0 (GES) environment on windows VS2012 or VS2010

I just downloaded gstreamer 1.2.4 both normal and developer packs from here, and performed full installs of both packs.
Then I added bin location to path variable, then created c++ solution and added x86.props and gstreamer-1.0.props. I wanted to check some basic GES project, but I'm unable to do it since not all dependencies are resolved. Visual studio 2012 shows:
cannot include file : 'ges/ges-version.h'. No such file or directory.
How can I setup GES working environment on Visual Studio? What props do I need to add to my solution?
The missing gst-editing-services-1.0.props file was added in 1.2.4.1 version. You can download it from here http://gstreamer.freedesktop.org/data/pkg/windows/1.2.4.1/ .

How do I confirm I'm using the right chromedriver?

I came in to the office yesterday morning to find that my Capybara tests couldn't interact with Chrome. I'm seeing
Selenium::WebDriver::Error::UnknownError: unknown error: unable to discover open pages
Googling around revealed that this was likely caused by an out-of-date chromedriver or selenium-webdriver, which sounded very plausible, since neither had been updated in a long time (I think chromedriver was at 2.2 and selenium-webdriver was at 2.35.1), and since Chrome auto-updated to 32.0.1700.77 on January 14, that seemed like good solid evidence to me.
So I've updated selenium-webdriver to 2.39.0. Figuring out what version of chromedriver I had been using actually turned out to be more difficult. I had a version of chromedriver sitting in my Downloads directory that I thought my code was referring to, but I couldn't find my Downloads directory in the PATH (I'm using OS X by the way). I tried replacing this file with version 2.8 from here, but it had no effect. I became skeptical that the version in my Downloads directory was the version that was being used in the first place, so I used brew to install it. brew info chromedriver now yields:
chromedriver: stable 2.8
http://code.google.com/p/chromedriver/
/usr/local/Cellar/chromedriver/2.8 (2 files, 21M) *
Built from source
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/chromedriver.rb
Looks good. My PATH contains /usr/local/bin, which has a chromedriver link to the location brew installed to. As far as I understand it, this should allow my automation to detect and launch the chromedriver.
Unfortunately, my issue is still unresolved. I remain unable to discover pages. Can anyone confirm that I've done what one normally does to set up the chromedriver?
Side Question: After downloading chromedriver 2.8 directly and also installing it with brew, I tried launching both the downloaded version and the brew version separately to confirm that either version could launch successfully. I'm certain they are both in fact version 2.8, but when I launch either one the console says:
Starting ChromeDriver (v2.2) on port 9515
Is that normal? I certainly wasn't expecting it to say v2.2, but there are no other versions apart from 2.8 installed by brew (so I doubt brew is accidentally using the older version), and when I run the file I downloaded directly, I'm quite sure it's version 2.8 from the Chromedriver website. Is this an oversight on their part, or does v2.2 refer to something else, unlikely though that may seem?
It would be tricky to verify the chrome driver version frequently when you download it with homebrew. I would suggest downloading the driver and maintaining it in a folder mapped in your PATH.
So that maintaining or identifying the driver version will be easy with the below steps:
Go to the folder where you have chromeDriver
Open command prompt pointing the folder
run: chromeDriver -v
ChromeDriver is at version 2.16 now. I would recommend manually updating your driver instead of updating with whatever older version that homebrew wants to update you to.
You can use command line: pip freeze to list down all packages you have installed with their version.
Or you also can use pip show <package name> to check the details of the package, which also includes package version.
Click here
chrome driver version
for checking your chrome driver version.
Now it's time to check the latest release version. So click here latest release version
Compare between;

DotNetNuke Upgrade 4.9.2 - PermanentRedirect Failure

When installing DNN 04.09.02 upgrade (from DNN 4.8.4) I receive System.IndexOutOfRangeException: PermanentRedirect error and cannot install the upgrade. How do I get around this so I can install the upgrade?
This thread might help you:
It looks like you have to update it manually... steps are described there.
Also check this thread, might be due to AD if AD is used.
I've re-posted the following from the thread provided by kitsune. Source
First try the following in your browser. Replace "www.yourdomain.com" with your domain:
http://www.yourdomain.com/install/install.aspx?mode=install
If that doesn't work (which it didn't for me) then try the following steps (copied from Chris on that thread).
To manually run the SQL portion of the upgrade you'll need to run each upgrade script between your version and 4.9.2. I upgraded from 4.9.0 to 4.9.2 so I performed the following:
On the web server open the directory: \Providers\DataProviders\SqlDataProvider
Determine which files need to be run. Basically, all of the versions after your old version. In my case I needed to run the files 04.09.00.SqlDataProvider, 04.09.01.SqlDataProvider and 04.09.02.SqlDataProvider.
Open the SQL files in a text editor and replace "{databaseOwner}" (usually with "dbo.") and "{objectQualifier}" (usually with "", but sometimes "DNN4" or some other object prefix)
Run those SQL files in version order using SQL Management Studio.
Assuming those scripts ran without an error then the site should be ready to use.

Resources