I would like to finally find an answer to this question because it has impact on quite a lot of things.
If we treat freecad as an executable there is no problem with having multiple versions in the same system (daily, 0.18, 0.17). But if we treat freecad as a library this is definitely a bug, because dependencies cannot rely on a solid interface and must use workaround to get freecad imported.
So it would be interesting to know which linux distros allow the installation of multiple freecad packages. And I don't mean bundles which are somehow seperated from the system (like appimage, snaps, ...) Is it only debian/ubuntu or are there also other distros? And if there is any workaround for this problem? For example creating an abstraction layer which is only available in one package (eg. In the stable package provided by the system)
Here is one comment which says multiple versions are not supported: https://askubuntu.com/questions/758502/ ... tem#758503
And I guess by design it shouldn't be supported, because in the end (if a Programm has reached stability) there is no need for multiple versions.
Another inconsistency is the name of the the executable. By default it's FreeCAD. In Ubuntu it's freecad. Is there a convention to use lowercase?
Multiple versions of freecad in one system (bug or feature)
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
Re: Multiple versions of freecad in one system (bug or feature)
Here I have Python 2 & Python 3 installed simultaneously. As well as Qt4 & Qt5.
So multiple versions of FC seem OK to me.
However (as Python & QT do) maybe the bin/lib should be strongly identified with a version number.
Regarding the second point, AFAIK all GNU tools are lowercase so probably it became a de facto standard.

So multiple versions of FC seem OK to me.
However (as Python & QT do) maybe the bin/lib should be strongly identified with a version number.
Regarding the second point, AFAIK all GNU tools are lowercase so probably it became a de facto standard.
Re: Multiple versions of freecad in one system (bug or feature)
Now consider the python binding of qt. This will give you 8 different libraries (pyside2, pyqt). It worked somehow, but I would not call it a good solution.
And we are now seeing the good times with py3 as py2 will be deprecated soon.
@wmayer is there any reason for the executable to be uppercase by default?
Re: Multiple versions of freecad in one system (bug or feature)
Re: Multiple versions of freecad in one system (bug or feature)
Ok if we support multiple versions of FreeCAD this is how a FreeCAD interface looks like:
https://github.com/dcowden/cadquery/blo ... py#L57L145
note these lines:
What we want is to depend on FreeCAD via python with:# Make some dangerous assumptions...
# Try all the usual suspects
Code: Select all
import freecad
So, can we rely on the rule:
There is only one official FreeCAD-version in every system.
Btw. qt4 / qt5 , py2 / py3 is something else, because this are majo changes of the libraries and this seperation is done by seperating the namespaces...
- kkremitzki
- Veteran
- Posts: 2422
- Joined: Thu Mar 03, 2016 9:52 pm
- Location: Illinois
Re: Multiple versions of freecad in one system (bug or feature)
I am pretty sure the all-lowercase binaries thing is somewhere in the Debian Policy but a quick search couldn't find it just now. I ran into the same thing trying to reintroduce OCCT 7 with its DRAWEXE.
Re: Multiple versions of freecad in one system (bug or feature)
thanks, so this is policy to create consistency for debian and create inconsistency for different distros/platforms . Sometime aiming for consistency leads to inconsistency.kkremitzki wrote: ↑Sat Nov 09, 2019 3:22 pm I am pretty sure the all-lowercase binaries thing is somewhere in the Debian Policy but a quick search couldn't find it just now. I ran into the same thing trying to reintroduce OCCT 7 with its DRAWEXE.

Anyway @kkremitzky can you confirm if this assumption for debian/ubuntu:
where official FreeCAD-version means the version installable via official package-sources.There is only one official FreeCAD-version in every system.