Installing fritzing 0.9.4. on openSUSE Leap 15.1

Hi,
I’m trying to install fritzing 0.9.4. on openSUSE Leap 15.1.

  1. OpenSUSE is only supporting the older version 0.9.3b. So I removed this version first.
  2. Installing “fritzing-0.9.4-lp151.225.1.x86_64.rpm” (provided by home:Heinervdm:branches:Education) with
    rpm -Uhv fritzing-0.9.4-lp151.225.1.x86_64.rpm --nodeps
    –nodeps because without it comes up with

error: Failed dependencies: fritzing-parts = 0.9.4 is needed by fritzing-0.9.4-lp151.225.1.x86_64

Unfortunately I could only find fritzing-parts version 0.9.3b, so I tried to install these. My hope was to regenerate the parts database later.

  1. fritzing starts with error:

Regenerating parts database Unable to find parts git repository

and with some errors on not finding parts (as I was expecting).

  1. When I start Part->Regenerate parts database I get the error

Database failure

  1. I’ve followed the hints here in the forum and have deleted:
    ~/Documents/Fritzing/parts
    ~/.config/Fritzing
    without success.

Is there anything, I can do? Has someone managed to get fritzing 0.9.4 running under openSUSE Leap 15.1?
Thank you very much for any hint or comment.

markus

Welcome to the forum.

Version 0.9.4 will attempt to update/refresh the local parts database, but the database has to actually exist first. Because you installed without that dependency, there is nothing for it to update. I do not know how Fritzing in that rpm is configured, so do not know where it is looking for the database. If that was known, the database could be created there, and Fritzing would attempt to do the updates. Which might still fail, since in many installations the parts library ends up in a location that Fritzing does not have write access to.

A possible solution is to manually download a local copy of the parts database to your own user area, then explicitly point Fritzing to that copy. To try that, cd to the folder that you want to put the database in. The database is actually a folder structure, so cd to the parent folder where that will be. Then

git clone https://github.com/fritzing/fritzing-parts.git

Once that is in place, run Fritzing with an extra argument to point to the library.

fritzing --parts "/path/to/fritzing-parts"

replacing “/path/to/” with where ever you cloned the repository. You could also download the zip file, instead of using git, but I think the database update from Fritzing would fail with that.

1 Like

Thank you very much for your replay, microMerlin.

I’ve cloned fritzing-parts and I could see a hidden directory “.git” and two hidden files “.gitignore” and “.travis.yml”.
Copying these into the parts directory solved the problem I’ve mentioned under no#3, the git repository is now found. I can not remember, what I did to loose these.

Fritzing 0.9.4 is starting with an Oop!-message

Sorry, we have a problem with the swapping mechanism. Fritzing still works, but you won’t be able to change parts properties.Error 1

If this is not correlated with my parts issue, I would prefere to discuss this in an other thread.

Regenerating parts database still fails, but now with a lot more significant message:

Unable to copy database file /usr/share/fritzing/parts/parts.db

I totaly agree with fritzing to nag on this point :wink: There is in fact no parts.db.

I’ve checked “fritzing-parts.git” and “fritzing-app”, but there is no parts.db either.

Where can I find parts.db or how can I make it?

The parts.db file is what regenerate should create. However, /usr/share/fritzing/ is a folder that normally needs to have root access to make any changes. A regular run of fritzing can not touch it. As mentioned in the previous comment.

From the reported message, I assume that while regenerating, Fritzing first attempts to make a backup copy of the db. Which fails, either because it does not exist yet, or because it can not write to that folder. If you want to get fritzing running using the library in /usr/share/fritzing/parts, there are options. The most functional way is probably to get write access to that folder for your normal user id (I have never tried that). An alternative is to use the command with the --parts options to run fritzing pointed to the cloned folder, do a regenerate there, then exit fritzing and copy (using root or sudo) the parts.db file from the cloned folder to /usr/share/fritzing/parts. That should get regular fritzing to work, but future parts library updates are still not going to work, because of write access failures. I just use the --parts option always. I created a 2 line script file that adds the option automatically. The desktop file can also be modified to add the arguments, but I normally run from the command line. A file with the executable property set, in the search path (before it find the real fritzing, I assume in /usr/bin), containing the following should handle the command line version.

#! /bin/sh
/usr/bin/fritzing --parts "/path/to/cloned/fritzing-parts" "$@" &

If you did the clone in your Documents folder, “$HOME/Documents/fritzing-parts” should work for the path.

EDIT:
That swapping message will probably go away once the parts library is working.