package management – libffi.so.6: cannot open shared object file in rails

I’m ruby developer and I’m working on Ubuntu 19.10 yesterday my OS showed a message for updating to new version i accept that and every things is going fine after installation finished i start to use my computer to develop that found any rails command not works and showed me this error

in `require': libffi.so.6: cannot open shared object file: No such file or directory - /home/ace/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/ffi-1.13.1/lib/ffi_c.so (LoadError)

i found people with same issues but none of them have problem in rails and any of them is useful for me .

i think the problem is about libffi.so.6 package because ffi-1.13.1 is installed on my OS

Swissns.ch Cheap SSD Shared Hosting| Good Uptime| 24/7 Live Support Care! | Proxies-free

At swissns GmbH, we strive to drive innovation and excellence in service in our core markets with the focus being on security, infrastructure and big data. We know just where we want to go, and we are getting there! At swissns GmbH, we are working to make IT more secure. swissns GmbH offers a comprehensive range of IT and security related solutions and services that allow organizations to fully realize their aspirations for a safe and secure network and data infrastructure. swissns GmbH was formed in 2013. Alexander Baltazzis is the CEO and Managing Director of the company, with 20+ years experience in the IT, Telecommunications, ISP and Security Industry.

We have integrated our Plesk Panels with our clientarea allowing you to fully manage your hosting plan without leaving our site. On our Client area you will find all the tools you will need for the complete management of your Services and your communication with us.

===>> Use 20% discount promo code: 3FI43HBLRM when ordering! Valid till July 31st!

Check out our affordable Shared Hosting Accounts:

Linux Start Hosting
1GB SSD Storage
10GB Monthly Traffic
10 email accounts
1 mySQL Databases
CHF 4/MoORDER NOW

Linux Standard Hosting
10GB SSD Storage
30GB Monthly Traffic
100 email accounts
3 mySQL Databases
CHF 7/MoORDER NOW

Linux Advanced Hosting
30GB SSD Storage
100GB Monthly Traffic
300 email accounts
5 mySQL Databases
CHF 12/MoORDER NOW

Why Choose US:

Web Hosting Control Panel – We are using Parallels Plesk panel for our web hosting in order to provide our customers with a powerful yet simple management of our hosting services.
24/7 Live Support – Our support team is available for you 24/7 through our ticketing system, always there to help you with any questions or problems you may have.
Highly Scalable – Our services are highly scalable and upgrading is very simple through our platform. If you have any questions, our tech or sales team will be happy to assist you!

Contact Info:
swissns GmbH
Hofstrasse 1
6004 Luzern – Switzerland
+41 41 588 0270
info@swissns.ch

Please contact us if you need any further information!

You can Like our Facebook Page: https://www.facebook.com/swissns.ch
Besides, you can follow us via Twitter Account: https://twitter.com/swissns

swissns GmbH Team

matlab – error while loading shared libraries: libexpat.so.1: file too short

I am trying to install MATLAB_R2020b on Ubuntu 20.04.

1]I extracted the .iso file

2]Then used the chmod -R 777 command because I didn’t have permission to execute the install

3]And finally I ran the install with sudo ./install inside the appropriate folder.

But then I get the following error:

/home/antonis/Downloads/MATLAB_R2020b_Linux64/bin/glnxa64/install_unix: error while loading shared libraries: /home/antonis/Downloads/MATLAB_R2020b_Linux64/bin/glnxa64/libexpat.so.1: file too short

After some searching, I found out that people having the same issue, unzipped the file using the following command:

unzip -X -K matlab_R2020a_glnxa64.zip

However my version of Matlab is in a .iso form so I suppose I can’t use that. Also because I am using a free university license of Matlab, I am forced to download it from the university platform in an .iso form.

I am new to Linux so any help is much appreciated.

Thanks.

sharepoint online – Is there a property that indicates a ListItem has been shared?

I need to extract sharing information for list items, I’m currently doing this with ObjectSharingInformation.GetObjectSharingInformation using the securableObject overload and passing the list item.

This works and I’m able to extract the info I need. However, I have to call this for every list item even though I know there are very few list items that have actually been shared. This results in many unnecessary requests and 429 Too many requests responses. I’m handling these with incremental retries but would like to avoid them altogether.

So, is there a property or field value I can check on the list item I already have that would indicate that the item has been shared? I’d like to limit my calls to GetObjectSharingInformation to only those items I know have actually been shared.

concurrency – Algorithm for locking based on a shared resource (dictionary)

I am working with a shared resource with the following specifications

  • acts as a dictionary (values can be obtained with key name: dictionary('key'))
  • does not have builtin system for locking
  • Multiple threads can read and write to same keys (simple writes and reads are atomic)
  • I am trying to implement locking based on keys in that resource using one or more keys in the dictionary as locks with which the threads can obtain a lock for the shared resource. For example:
    • dictionary('lock') == null would mean that the lock has not been obtained.
    • dictionary('lock') = myThreadId would obtain the lock
    • dictionary('lock') == myThreadId would mean the lock is reserved

As far as I know using only one key would not work (see below). I came up with the following 2-part lock solution and the question is: is there an official name for this kind of solution and could the algorithm be simplified? Or are there any (fatal) flaws in this solution? Some issues might occur when freeing the locks if another thread has previously been able to enter through the 1st lock.

Lock using one key

Thread reads lock (value in dictionary('lock'))
Thread writes lock
Thread 1 reads lock (to ensure successful write)

but that could fail with:

Thread 1 reads lock
Thread 2 reads lock
Thread 1 writes lock
Thread 1 reads lock (value "thread1")
Thread 2 writes lock
Thread 2 reads lock (value "thread2")

2-part lock

I figured having locking with two parts should fix the issue:

Step1: READ LOCKS1+2 (reading LOCK2 might not be necessary)
Step2: WRITE LOCK1
Step3: READ LOCK2
Step4: WRITE LOCK2
Step5: READ LOCKS1+2 (reading LOCK2 might not be necessary)
Step5: READ LOCKS1+2 (reading LOCK2 might not be necessary)

if two concurrent threads try to obtain the lock, the lock can be recognized as being in a “dirty” state

A Step1: READ1+2 => empty+empty
B Step1: READ1+2 => empty+empty
A Step2: WRITE1 => A
A Step3: READ2 => empty
B Step2: WRITE1 => B
B Step3: READ2 => empty
A Step4: WRITE2 => A
A Step5: READ1+2 => B+A !! DIRTY STATE - WAIT
B Step4: WRITE2 => B
A Step5(again): READ1+2 => B+B !! LOCK LOST
B Step5: READ1+2 => B+B

likewise:

A Step1: READ1+2 => empty+empty
B Step1: READ1+2 => empty+empty
A Step2: WRITE1 => A
A Step3: READ2 => empty
A Step4: WRITE2 => A
A Step5: READ1+2 => A+A
B Step2: WRITE1 => B
B Step3: READ2 => A !! LOCK RESERVED, RESTORE LOCK1 AND CANCEL

3rd case:

A Step1: READ1+2 => empty+empty
B Step1: READ1+2 => empty+empty
A Step2: WRITE1 => A
A Step3: READ2 => empty
A Step4: WRITE2 => A
B Step2: WRITE1 => B
A Step5: READ1+2 => B+A !! DIRTY STATE - WAIT
B Step3: READ2 => A !! LOCK RESERVED, RESTORY LOCK1 AND CANCEL
A Step5: READ1+2 => A+A !! LOCK1 RESTORED BY B, CONTINUE

The code would look something like this:

if( lock1.IsFree() && lock2.IsFree() )
{
    lock1.LockForCurrentThread();
    if( lock2.IsFree() )
    {
        lock2.LockForCurrentThread();
        if( lock1.IsLockedByCurrentThread() && lock2.IsLockedByCurrentThread() )
        {
            // OBTAINED
        }
        else
        {
            // Locks not obtained, wait until 1st lock freed or another thread takes the second lock.
            while( lock1.IsLocked() && lock1.IsLockedByCurrentThread() == false && lock2.IsLockedByCurrentThread() )
            {
            }

            // 1st lock is restored to this thread.
            if( lock1.IsLockedByCurrentThread() )
            {
                // OBTAINED
            }
            else // another thread has "stolen" the 2nd lock
            {
                // NOT OBTAINED
            }
        }
    }
    else
    {
        // Another thread already has 2nd lock, let's restore it to 1st lock and cancel.
        lock1.Lock( lock2.GetCurrentLockingId() );
        
        // NOT OBTAINED
    }
}
else
{
    // NOT OBTAINED
}

ProximCloud’s Shared Hosting Special: 30% Off First Two Months (From $1.09 per month!)

In the 70s and 80s, big conglomerates were the fad in business.  You’d find the same company working in a dozen industries, from oil exploration to salad shooters.  It generally didn’t end well.  The business world soon wised up that doing one thing and doing it well was a far more profitable path and today the world’s leading companies are generally focused in one market segment.

What does this have to do with today’s offer?  Well, ProximCloud is focused on shared hosting and they’re doing it right.  I was interested in their offer when it first came out and have been following them on Discord.  They seem a pretty well-run shop.

Today they’re bringing us a special coupon code: use LEBOctober2020 for 30% off any package on any billing cycle for two months.

Their WHOIS is public.  You can find their TOS on their web site.  You can pay with PayPal.

Here’s what they had to say: 

“ProximCloud is a small website hosting business, which has been in operation for over two years (since 28th Feb 2018), which has strived based on the reliability and low-cost factors of our services. ProximCloud always puts the customer first, and has ensured to provide our customers with many support-methods to ensure they can reach us when they need it, and when it suits them.”

Read on to see the offer and learn more!

Shared Hosting
Essential Package

Shared Hosting
Deluxe Package

  • 50GB SSD Disk
  • Unlimied Monthly Bandwidth

  • Unlimited FTP Accounts

  • Unlimited Email Accounts

  • Unlimied MySQL Databases

  • Unlimited Subdomains

  • Unlimited Addon Domains
  • Free SSL Certificate
  • Automated Daily Backups
  • SSH Access
  • $2.99/month or $2.09/month
    for first 2 months with coupon

  • Coupon: LEBOctober2020

  • (ORDER)

Host Node Specifications:

Please let us know if you have any questions/comments and enjoy!

raindog308

I’m Andrew, techno polymath and long-time LowEndTalk community Moderator. My technical interests include all things Unix, perl, python, shell scripting, and relational database systems. I enjoy writing technical articles here on LowEndBox to help people get more out of their VPSes.

machine learning – How does Pointnet’s Shared MLP work?

When reading about Pointnet’s Shared MLP, I kept hearing it described as 1×1 convolution, where each point is process separately. During the Shared MLP, I understand that each point’s are expanded into more features. For example, a point cloud might go from 1024×3 to 1024×64 to 1024×256 to 1024×1024, then with the maxpool, all the features are brought back to 1024×1. I understand that the maxpool is used to make the model invariant to point order, but I can’t understand how pointnet shares information between different points. Could someone help clarify however pointnet learns shapes and pattern over the entire point cloud, and how information is shared in the Shared MLP?