Welcome to WSL!

New to the forum? Please read this and this.

Resolve on Linux Lua curl FFI Support Broken - Blocks Reactor from Running

Moderator: Chad

User avatar
AndrewHazelden
Fusionator
Posts: 1698
Joined: Fri Apr 03, 2015 3:20 pm
Answers: 9
Location: West Dover, Nova Scotia, Canada
Been thanked: 3 times
Contact:

Resolve on Linux Lua curl FFI Support Broken - Blocks Reactor from Running

#1

Post by AndrewHazelden »

Fusion version:
Resolve Studio 16.1.0B.011

OS and version:
CentoOS 7.6.1810

Description of the bug:
Resolve's Fusion scripting API has broken the built-in support for curl via Lua's FFI interface. This means no Resolve on Linux user can use Reactor. :(

If you run a Lua script or fuse that relies on curl FFI support you will get a Console error message of:

Code: Select all

[string "lj2curl/curl_ffi"]:1440: libcurl.so: cannot open shared object file: No such file or directory
If you run the same Lua script or fuse that relies on curl FFI support in Fusion Studio on Linux, or Resolve on Windows/MacOS the script will run sucessfully without any errors.

Severity (Trivial, Minor, Major, Critical)
Critical if you like Reactor.

Steps to reproduce:
  • Try to install Reactor in Resolve on Linux.
  • Try to use the NetLoader.fuse in Resolve on Linux.
Please, if possible, provide a Fusion setup to help demonstrate the behaviour, either as an attachment or between [code] tags:

Here is a Lua curl FFI image downloading example script:
  1.  -- The URL for the cURL based download:
  2. local sourceURL = [[https://www.steakunderwater.com/wesuckless/styles/Subway/artwork/WSL_Happy-Charlie.PNG]]
  3.  
  4. -- The filepath for saving the downloaded asset
  5. local fuDestFile = comp:MapPath("Temp:/") .. "wsl.png"
  6.  
  7. -- Set up cURL to work with Fusion 9.0.1
  8. ffi = require "ffi"
  9. curl = require "lj2curl"
  10. ezreq = require "lj2curl.CRLEasyRequest"
  11. local req = ezreq(sourceURL)
  12. local body = {}
  13. req:setOption(curl.CURLOPT_SSL_VERIFYPEER, 0)
  14. req:setOption(curl.CURLOPT_WRITEFUNCTION, ffi.cast("curl_write_callback",
  15.  function(buffer, size, nitems, userdata)
  16.   table.insert(body, ffi.string(buffer, size*nitems))
  17.   return nitems
  18.  end))
  19.  
  20. -- Download the file from the "sourceURL" address
  21. print('[Downloading] ' .. sourceURL)
  22. ok, err = req:perform()
  23. if ok then
  24.   -- Write the file to disk
  25.   local file = io.open(fuDestFile, "w")
  26.   file:write(table.concat(body));
  27.   file:close();
  28.  
  29.   -- Show the file we just downloaded in the default HTML viewer on your system:
  30.   print('[Opening File] ' .. fuDestFile)
  31.   bmd.openfileexternal('Open', fuDestFile)
  32. end

User avatar
AndrewHazelden
Fusionator
Posts: 1698
Joined: Fri Apr 03, 2015 3:20 pm
Answers: 9
Location: West Dover, Nova Scotia, Canada
Been thanked: 3 times
Contact:

Re: Resolve on Linux Lua curl FFI Support Broken - Blocks Reactor from Running

#2

Post by AndrewHazelden »

This bug still exists in Resolve v16.1.0.055 on Linux.

User avatar
AndrewHazelden
Fusionator
Posts: 1698
Joined: Fri Apr 03, 2015 3:20 pm
Answers: 9
Location: West Dover, Nova Scotia, Canada
Been thanked: 3 times
Contact:

Re: Resolve on Linux Lua curl FFI Support Broken - Blocks Reactor from Running

#3

Post by AndrewHazelden »

This bug still exists in Resolve 16.1.1.0005 on CentOS Linux.

Reactor v3.14 for Resolve 16.1.1 on Linux is still DOA as a result. :bmd:

User avatar
Diorn
Posts: 2
Joined: Sun Jun 16, 2019 2:46 am

Re: Resolve on Linux Lua curl FFI Support Broken - Blocks Reactor from Running

#4

Post by Diorn »

Found a solution for this issue.
1. sudo apt update
Package libcurl-dev is a virtual package provided by libcurl4-openssl-dev
2. sudo apt install libcurl4-openssl-dev

fixed the problem on linux mint 19.2

User avatar
AndrewHazelden
Fusionator
Posts: 1698
Joined: Fri Apr 03, 2015 3:20 pm
Answers: 9
Location: West Dover, Nova Scotia, Canada
Been thanked: 3 times
Contact:

Re: Resolve on Linux Lua curl FFI Support Broken - Blocks Reactor from Running

#5

Post by AndrewHazelden »

Resolve v16.1.2.026 on CentOS Linux v7.6.1810.2 still doesn't support Lua FFI curl so Reactor doesn't function as expected. [string "lj2curl/curl_ffi"]:1440: libcurl.so: cannot open shared object file: No such file or directory :(

Fusion Studio v16 and v9 both work fine on the same system.

User avatar
tkoham
Posts: 8
Joined: Sun Dec 22, 2019 7:58 pm

Re: Resolve on Linux Lua curl FFI Support Broken - Blocks Reactor from Running

#6

Post by tkoham »

Just ran into this bug myself, very disappointed it persists on centos, as it's our reference platform for headless render machines

EDIT: installing the -devel files for curl fixed the issue

User avatar
AndrewHazelden
Fusionator
Posts: 1698
Joined: Fri Apr 03, 2015 3:20 pm
Answers: 9
Location: West Dover, Nova Scotia, Canada
Been thanked: 3 times
Contact:

Re: Resolve on Linux Lua curl FFI Support Broken - Blocks Reactor from Running

#7

Post by AndrewHazelden »

The puzzling thing for me is simply that Fusion Studio correctly links in cURL support for FuScript but Resolve doesn't. When running Fusion v9 or v16 on the same Linux system, no work-around is required...

User avatar
tkoham
Posts: 8
Joined: Sun Dec 22, 2019 7:58 pm

Re: Resolve on Linux Lua curl FFI Support Broken - Blocks Reactor from Running

#8

Post by tkoham »

AndrewHazelden wrote: Mon Dec 23, 2019 5:56 amThe puzzling thing for me is simply that Fusion Studio correctly links in cURL support for FuScript but Resolve doesn't.
That is odd. I only have resolve studio installed and it seems to run fine. Side note: blender addons didn't seem to download properly until I installed the devel package either.

User avatar
Movalex
Sir Requestalot
Posts: 296
Joined: Fri Nov 03, 2017 5:36 am
Answers: 4
Real name: Alexey Bogomolov
Been thanked: 7 times
Contact:

Re: Resolve on Linux Lua curl FFI Support Broken - Blocks Reactor from Running

#9

Post by Movalex »

Ok, so finally we have similar problem with Mac version of Fusion 16.2.
[string "lj2curl/curl_ffi"]:1440: dlopen(libcurl.dylib, 5): image not found -- this is all I get when I try to launch Reactor now on my Mac with 16.2 version.
This and a some other issues regarding API inconsistency in new version add up to a simple conclusion: there's apparently multiple developers groups working on different Fusion versions that don't talk to each other. And it looks like they don't give a slightest damn to a huge scripting library that was built during the years, not to mention a Reactor itself, that has become a great selling advantage to this software. And this is really sad.

User avatar
cosmomidias
Posts: 1
Joined: Tue Dec 03, 2019 6:54 pm

Re: Resolve on Linux Lua curl FFI Support Broken - Blocks Reactor from Running

#10

Post by cosmomidias »

Diorn wrote: Mon Nov 11, 2019 7:10 am Found a solution for this issue.
1. sudo apt update
Package libcurl-dev is a virtual package provided by libcurl4-openssl-dev
2. sudo apt install libcurl4-openssl-dev

fixed the problem on linux mint 19.2
---

That helped but it now is pointing an error on step 3.
Screenshot from 2020-11-30 13-43-40.png
I'm under Linux Pop!_OS 20.04 LTS.
Free Version of Davinci.
and No standalone Fusion installed.
You do not have the required permissions to view the files attached to this post.

User avatar
SecondMan
Site Admin
Posts: 4825
Joined: Thu Jul 31, 2014 5:31 pm
Answers: 31
Location: Vancouver, Canada
Been thanked: 35 times
Contact:

Re: Resolve on Linux Lua curl FFI Support Broken - Blocks Reactor from Running

#11

Post by SecondMan »

No write permissions for /var?