FreeCAD IRIX port? (pleeeeease!) -
BrainStorm - 10-23-2018
I thought I had found an IRIX port of FreeCAD recently, but I think it may have been the FreeBSD port, and I'm just confused. I plan to actually use FreeCAD on my Octanes to design real products. Does anyone have any knowledge of the readiness of the current FreeCAD source (0.17.xxx) to be run on IRIX?
Compile:
https://www.freecadweb.org/wiki/CompileOnUnix
Install(-ish):
https://www.freecadweb.org/wiki/Install_on_Unix#Installing_on_other_Linux.2FUnix_systems
If it actually needs some coding work in order to work properly in IRIX (at least to the level that the source permits on any platform), do we have any devs willing to have a crack at it? I think it would be a fantastic package to attract some new SGI/IRIX enthusiasts, as well as satisfy the cravings of us engineer types already here.
added: Look at it this way, FreeCAD will probably be a direct replacement for AutoCAD r13, which has the third highest hit count for SW threads here, only outdone by Discreet and PowerAnimator. I really think we need FreeCAD on IRIX.
I shall now stop begging, and retire to my cave. Thank you
RE: FreeCAD IRIX port? (pleeeeease!) -
gijoe77 - 10-23-2018
I'll give it an attempt, let you know where I land. seems it uses cmake, yuck
RE: FreeCAD IRIX port? (pleeeeease!) -
mamorim01 - 10-23-2018
(10-23-2018, 04:01 PM)gijoe77 Wrote: I'll give it an attempt, let you know where I land. seems it uses cmake, yuck
Wow. That would be huge. The biggest issue would be the number of dependencies I figure, quite a few things to bring down to IRIX land...
RE: FreeCAD IRIX port? (pleeeeease!) -
gijoe77 - 10-23-2018
(10-23-2018, 04:06 PM)mamorim01 Wrote: (10-23-2018, 04:01 PM)gijoe77 Wrote: I'll give it an attempt, let you know where I land. seems it uses cmake, yuck
Wow. That would be huge. The biggest issue would be the number of dependencies I figure, quite a few things to bring down to IRIX land...
naw, the bigger issue is going to be if this really requires C+11 or higher or some other compiler issue. I wasn't able to compile using gcc 3.4.6, it required at least 4.7. so far its getting further with gcc 4.7.1 (and 4.7.1 is kinda broken), but it needs the Boost library. I'm looking at that now. It also uses a library/program called pivy, and that was a long line of dependencies - but pivy is optional so I'm skipping it for now just to see if freeCAD can even compile with the bare minimum...
RE: FreeCAD IRIX port? (pleeeeease!) -
BrainStorm - 10-23-2018
Here's a FreeBSD dependencies list without too much clutter crap, just for general reference. I don't know if dependencies would differ, so...
https://www.freshports.org/cad/freecad
RE: FreeCAD IRIX port? (pleeeeease!) -
dexter1 - 10-23-2018
boost is going to be a significant problem. And the dependency list for FreeCAD is quite formidable.
Do check first if C++11 is required. If it is, then it's not going to happen or you need to backport the code to C++03
RE: FreeCAD IRIX port? (pleeeeease!) -
BrainStorm - 10-23-2018
Yeah, wonderful... I'm really tired right now but I think I separated the pkg list properly.
Not a great outlook... I'll see how far back the c++ dependency goes in the source history. Seriously doubt it goes back to c++3. :(
USES:
dos2unix
compiler:c++11-lib
cmake:outsource
eigen:3
fortran
jpeg
python:2.7
localbase
qt:4
gl
My brain is starting to scramble and fry... Way wrong wheelhouse for me.
found this regarding to compiling it. Don't we basically have ports of the common Gnu versions of pkgs to get this running as it would in linux? Or am I talking gibberish?
Quote:Older and non-conventional distributions
On other distributions, we have very few feedback from users, so it might be harder to find the required packages. Try first locating the required libraries mentioned in Third Party Libraries. Beware that some of them might have a slightly different package name in your distribution (such as name, libname, name-dev, name-devel, etc...).
You also need the GNU gcc compiler version equal or above 3.0.0. g++ is also needed because FreeCAD is completely written in C++. During the compilation some Python scripts get executed. So the Python interpreter has to work properly. To avoid any linker problems during the build process it is also a good idea to have the library paths either in your LD_LIBRARY_PATH variable or in your ld.so.conf file. This is normally already the case in recent distributions.
For more details have also a look to README.Linux in your sources.
RE: FreeCAD IRIX port? (pleeeeease!) -
dexter1 - 10-23-2018
This is from the CMakeLists.txt in the main FreeCAD git repo:
Code:
IF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
MESSAGE(FATAL_ERROR "FreeCAD 0.17 and later requires C++11. G++ must be 4.7 or later, the used version is ${CMAKE_CXX_COMPILER_VERSION}")
ELSEIF(CMAKE_COMPILER_IS_CLANGXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.3)
MESSAGE(FATAL_ERROR "FreeCAD 0.17 and later requires C++11. Clang must be 3.3 or later, the used version is ${CMAKE_CXX_COMPILER_VERSION}")
ENDIF()
So version 0.17 is not going to happen. Maybe 0.16 could be an option.
RE: FreeCAD IRIX port? (pleeeeease!) -
mamorim01 - 10-23-2018
That is too bad. Their own documentation is not very clear as to the extent of usage in earlier versions. From their architecture overview.
https://github.com/qingfengxia/FreeCAD_Mod_Dev_Guide/blob/master/chapters/1.FreeCAD%20Overview%20and%20Software%20Architecture.md
Quote:- C++11 is adopted since 0.17.
and
Quote:- C++11 is not extensively used before 0.17.
RE: FreeCAD IRIX port? (pleeeeease!) -
gijoe77 - 10-23-2018
so if you use GCC 4.7.1 you don't get that message - although I did see the warning for C++11 (I shrugged, but said to myself "we'll see"...) - I just kept on trucking anyway - I used nekoware's boost and XercesC libs and it appears to be happy with those. The issue I ran into and just can't seem to get past at the moment is the openCASCADE dependency - it uses cmake and I'm still trying to learn how to use it and from what I was reading on compiling openCASCADE, the docs are not "non-x86-and-newb" friendly.
I assume if we are going to give 0.16 a stab, we probably are going to see if we can compile openCASCADE, it's a bit out of my depth. Here is the latest version if someone wants to take a poke at it
https://www.mediafire.com/file/1izsdjfsq3t83wc/opencascade-7.3.0.tgz/file
edit:
ok, so the good news is 0.16 seems to be ok with GCC 3.4.6 so far, but it does need openCASCADE, so that's where this is stuck for now
Code:
-bash-4.3$ cd FreeCAD-releases-FreeCAD-0-16
-bash-4.3$ ls
CMakeLists.txt ChangeLog.txt LibraryVersions.h.cmake README.md cMake config.h.cmake copying.lib data src
-bash-4.3$ export CC=gcc
-bash-4.3$ export CXX=g++
-bash-4.3$ export CFLAGS="-std=gnu99 -g -O1 -mips4"
-bash-4.3$ export CXXFLAGS="-g -O1 -mips4"
-bash-4.3$ export CPPFLAGS="-I/usr/local/include -I/usr/nekoware/include"
-bash-4.3$ export LDFLAGS=" -L/usr/local/lib -L/usr/local/lib32 -L/usr/nekoware/lib"
-bash-4.3$ export LD_LIBRARYN32_PATH=/usr/local/lib:/usr/local/lib32:/usr/nekoware/lib
-bash-4.3$
-bash-4.3$ cmake -DCMAKE_BUILD_TYPE=Release .
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/nekoware/bin/gcc
-- Check for working C compiler: /usr/nekoware/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/nekoware/bin/g++
-- Check for working CXX compiler: /usr/nekoware/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for GL/gl.h
-- Looking for GL/gl.h - found
-- Looking for C++ include istream
-- Looking for C++ include istream - found
-- Looking for C++ include ostream
-- Looking for C++ include ostream - found
-- Looking for C++ include fstream
-- Looking for C++ include fstream - found
-- Looking for C++ include sstream
-- Looking for C++ include sstream - found
-- Looking for C++ include ios
-- Looking for C++ include ios - found
-- Looking for C++ include iostream
-- Looking for C++ include iostream - found
-- Looking for C++ include iomanip
-- Looking for C++ include iomanip - found
-- Looking for C++ include iostream
-- Looking for C++ include iostream - found
-- Check for STD namespace
-- Check for STD namespace - found
-- prefix: /usr/local
-- datadir: data
-- docdir: doc
-- includedir: include
-- libdir: /usr/local/lib
-- Found PythonInterp: /usr/local/bin/python2.7
-- Found PythonLibs: /usr/local/lib/libpython2.7.a
-- Boost version: 1.35.0
-- Found the following Boost libraries:
-- filesystem
-- program_options
-- regex
-- signals
-- system
-- thread
-- Found Xerces-C: /usr/nekoware/lib/libxerces-c.so
-- Found ZLIB: /usr/lib32/libz.so (found version "1.1.4")
-- PyCXX found:
-- Headers: /usr/people/develop/dev/freeCAD/FreeCAD-releases-FreeCAD-0-16/src
-- Sources: /usr/people/develop/dev/freeCAD/FreeCAD-releases-FreeCAD-0-16/src/CXX
-- Could NOT find OCC (missing: OCC_INCLUDE_DIR)
CMake Error at CMakeLists.txt:631 (MESSAGE):
================================================================
Neither OpenCASCADE Community Edition nor OpenCASCADE was found!
================================================================
-- Configuring incomplete, errors occurred!
-bash-4.3$