Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Thu 17 Apr 2014, 23:04
All times are UTC - 4
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Engineering/Science/Simulation
FreeCAD 0.13 for 32 and 64 Bit Puppy or FatDog
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 1 [1 Post]  
Author Message

Joined: 06 Oct 2006
Posts: 126
Location: Cologne, Germany &/or Perth, Australia

PostPosted: Fri 05 Apr 2013, 13:22    Post subject:  FreeCAD 0.13 for 32 and 64 Bit Puppy or FatDog
Subject description: FreeCAD 3D CAD Program -- A difficult compile -but can work

FreeCAD 0.13
Homepage http://www.freecadweb.org/

I've been trying to get freecad working in any Puppy for a while now.
The program looks great-- but it was not an easy compile. I'm not sure if its complete yet (lots of testing to do).
As there is a lot of rapid development out there, the compile notes are going to help others a lot.
Hence this post.

Before you ask:
deb packages from other distros don't work (or at least on the puppy versions I've tried them on).

The pile of dependencies is huge and the compilation messy. So much is deeply interdependent. I guess using a binary from another distro
would have to have all libraries matching exactly (even the right matches on being compiled on each other) to even hope of working.

So -- I took on the task of trying to get all the dependencies together and seeing if it would go.
I've tried it in Lucid Puppy 5.28 (32Bit) and Fatdog 6.11 64 Bit.
I haven't got Lucid to work just yet -about 90% functionality there.
In Fatdog 611 I got further with a non error compile and make install. Given the amount of times I've tried I am reluctant to believe it.

Here is a list of what I have done. Perhaps someone following this might pick up on an error or tips for making it work better.

Before you start - make sure you have a devx-###.sfs for your Puppy version mounted, and preferably start with a clean pupsave file
where you only settings are the best drivers for your graphics card plus keyboard and the usual localizations. (e.g. I have the right Nvidia drivers installed).
BE PREPARED TO MESS UP YOUR PUPSAVE. Frugal installs are recommended. Make the pupsave BIG (like 1GB plus) so you have space for big bloated libraries.

Step 1 - You need a good full Qt system.
Build in Lucid Puppy 5.28
I used qt4.7.4 developer build

I built it from source as none of the pets I found had all the developer stuff I needed
Downloaded from the Qt homepage

configured for compiling with
sh configure --prefix=/opt/qt4/ --developer-build

make -j4
( use 4 cores if you have em --it is a long make)
new2dir make install
(make a pet out of it) --- takes longer than the compile
Hint: If you are building into a small pupsave you can symlink the opt/qt4 directory to somewhere outside your pupsave folder on a hard drive for instance.
Build in Fatdog 611
As above but I used qt4.8.4
, same options on configure

Note: qt4.8.4 didn't seem to work in 32bit puppy with some dependencies not sure why
Note 2: If your building a newer version of freecad make this your first install and have no other qt versions in your system
(i.e. hunt down and kill all libs includes and binaries from other versions)

I turned both PETs into SFS files around--- 180MB.

Step 2. Python -- i've built all of this around python 2.7
Puppy Lucid was nicely linked to python 2.7 folders (phew). Can't be sure if I installed python there or not. Sorry

I had to compile Python 2.7.2 from sources in Fatdog, but all paths links were set for python 2.6 --- watch carefully in the later steps.
Important on compile was this configure command
sh configure --prefix=/usr  --enable-shared

I still got some warnings like no libsqllite and such ---not sure if anything was relevant.
Seems to work though.
Doesn't live when installed from a pet - something in the make install command trains the fatdog to find python and it isn't in the environment variables.

If you think you can use it....
But at this stage I'd recommend compiling from source.

Step 3 - Compile key dependencies including everything--docs-dev -- and then put them into an sfs file.
Step 3 a - start with all the ones that are binary units and don't need python ,but may need QT or not

mostly compiled using
sh configure --prefix=/usr
new2dir make install
(so I had pets of most things)

Below is the list plus some links to pets where I have them- might save some time
libftgl 2.13




xerces-c-3.1.1 (note needed to recompile this three times --links to something else)


oce-0.12 (open cascade community edition) note needs ftgl and can benefit from gl2ps before compiling.
Its massive! Source from git
git clone git://github.com/tpaviot/oce.git


eigen 3

zipios++1.5.9 (source was hard to get for this one!!--I can upload it if needed)

boost 1.43
64 Bit:

Do not use http://distro.ibiblio.org/fatdog/pets/600/bzr-2.6b2.pet---its for py2.6!

doxygen should not be necessary but to pacify the compiling

---Question marked Dependencies---
--- qt web development kit--I compiled without it . cant see any issues yet

Step 3b - now get the python related dependencies going
For Lucid - I just used the default options as each module requires
To trick the python2.6 issue in Fatdog to look for python 2.7 I used this on a lot of python based cmake configures:
cmake -D PYTHON_LIBRARY=/usr/lib64/python2.7/config/libpython2.7.so ..

swig1.34 ----vital --this makes binaries linking to your python install -- change python and this little guy messes up your life

source via
git clone git://github.com/lxml/lxml.git lxml




pycollada -- use
easy_install pycollada
if setuptools is installed


Some usefull git commands for some sources:
git clone git://github.com/lxml/lxml.git lxml

Step 3c -- not really essential (so says FreeCAD) but if present will be useful
Again the trick mentioned in 3b for Fatdog was somewhat helpful but I still edited the cmake cache file and changed references to the wrong python folders

ifcopenshell-0.30 (this won't compile beyond 93% and is unusable in this state for FreeCAD although it makes a binary)
I hint at some kind of python and swig incompatibility--on make I get:
[100%] Building CXX object ifcwrap/CMakeFiles/_IfcImport.dir/IfcPythonPYTHON_wrap.cxx.o
/aufs/devsave/pups64bit/0.3.0/cmake/ifcwrap/IfcPythonPYTHON_wrap.cxx:2850:13: error: 'ptrdiff_t' does not name a type
/aufs/devsave/pups64bit/0.3.0/cmake/ifcwrap/IfcPythonPYTHON_wrap.cxx:2887:21: error: expected ';' at end of member declaration
/aufs/devsave/pups64bit/0.3.0/cmake/ifcwrap/IfcPythonPYTHON_wrap.cxx:2887:39: error: expected ')' before 'n'
...and heaps more
Ifcomopenshell needs some of the above especially oce and:
---OS-X reputedly needs pcre I installed it just in case
tbb -- is also supposed to help
and really needs swig

I did not add the spnav things for 3d connexion devices

Now while compiling some of the above libraries there were (as always) warnings -- did I note them all down ---No.
Should I have? Maybe.

By now we are ready to compile the big one...

Step 4- Compile FreeCAD
Get the source code from the homepage listed at the top of this post or:
(note configure complains if it wasn't from git!)

Unpack or if it was pulled using git just jump into the directory

Ignore a lot of out of date info in the readme files

make a folder called build
open a terminal there
In Lucid type:
cmake ..

In Fatdog do the python trick again:
cmake -D PYTHON_LIBRARY=/usr/lib64/python2.7/config/libpython2.7.so ..

check the cmake cache file for any obvious errors (like the wrong python folders)
I found several.
Check this too- may have an influence on how it will work later as a pet

//Install path prefix, prepended onto install directories.

mmm might need editing to /usr/local/freecad next time i build it.


I get between 93 and so called 100% on the Lucid build. Sometimes I redo the make command and it gets a tad further.
It is by no means 100% as there is often an ending line of
make: *** [all] Error 2

Don't even try a make install --- it just won't do it.

On Fatdog it went all the way through --Perhaps it did work--
make install went and put everything into usr/local with no subdirectory (yuk!)
new2dir caught nothing (awww!)

But lets be optimistic in both cases, go into the directory bin and open a terminal

And you should have a partly functional FreeCAD.

I've stolen a desktop file, icon and mime info from a deb package
Now I should have enough for a about 90 MB Pet ---perhaps.

More testing to do-so far it works.

Possible issues:
Python setup - I can't get freecad to work from a pet or sfs until python compile has run a make install command.
Exporting paths is not working for me yet.

This in the cmakecache.txt is interesting
//Build the FreeCAD FEM module, be aware, unfinished code!

It also looked for qt debug libraries --perhaps I need to alter my QT setup or recompile with debug libraries somehow?

Anyhow have fun with it.
Description  Screenshot Fatdog FreeCAD works!

Filename  freecad64bitscreenshotinfatdog611.png 
Filesize  160.71 KB 
Downloaded  355 Time(s) 
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 1 [1 Post]  
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Engineering/Science/Simulation
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum

Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0856s ][ Queries: 12 (0.0230s) ][ GZIP on ]