Help wanted to build on MacOS

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Help wanted to build on MacOS

fa201
The documentation of LibreCAD is currently being refreshed and reshaped.

The section "Build from source" was copied from the current Wiki to the new site (readthedocs.io). We need some people to run the building from source on MacOS to check if everything is fine and up-to-date. The purpose is to follow the given directions and to report any issue, any missing step or any change in parameter.

Even if the build is OK, please report the status along with the MacOS version used.
Thank you.

Fabrice.
Fabrice

French hobbyist interested in 2D design.
Reply | Threaded
Open this post in threaded view
|

Re: Help wanted to build on MacOS

txgraeme
This post was updated on .
Thanks for providing a space to discuss the MacOS build instructions.  I started on this last week and have the following results to report so far, based on the following machine: PPC G3-450 on OSX 10.4.11.

1)  The macports version gives an error (i.e. 'port install librecad'), as I believe it was intended for Intel x86 machines rather than on PPCs (nothing wrong with that, but it's not indicated in the wiki).  I was not able to find a current port or an old *.DMG file that would be acceptable to the machine.  I don't know how to install old port versions (EDIT: see next post for link to that).

2)  I'm working through the "build from source" method (MacOS 10.8 & older), it has taken a few days so far to build the necessary dependencies.  I've been using the recommended command line entries given in the wiki, one error I've found is that macports doesn't carry the 'git-core' repository so I'm trying with just 'git' instead (EDIT: 'git' was successful).  Tonight I'll start building the main program.

3)  I'm trying to learn more about the dependencies such as Qt and GCC as it seems specific versions are required for specific Librecad versions, but no general instructions as to where to find more information.  I think I'll end up with errors during the build that will provide a bit more guidance, but it would be great if anyone already has this knowledge to share.

I'm not a developer, so this is kinda new territory for me.  However, I do use CAD all-day every-day so it's important for me to get it running.  Thanks to all who helped put together the wiki and build instructions, it's a good place to start for neophytes like me.
Reply | Threaded
Open this post in threaded view
|

Re: Help wanted to build on MacOS

txgraeme
This post was updated on .
So far I've been able to progress until the 'qmake' instructions, at which point I got a command not found.  
EDIT: It turns out a qt4-mac dependency isn't installing correctly, 'dbus', so I've got to figure that out first then will try again.  
EDIT2:  Have now been able to go through the original install list one-by-one (sudo port install gcc48 qt4-creator-mac qt4-mac boost freetype) and have only found that one 'dbus' error so far.  qt4-mac@4.8.7_8 installed okay, but qt4-creator-mac@2.8.1_2 is the current problem.
EDIT3:  Was able to follow advice on installing older ports (https://trac.macports.org/wiki/howto/InstallingOlderPort) to install earlier version of dbus more agreeable to my system  (@1.10.24).  
EDIT4:  I assumed that I could alter the portfile to reference the older version of 'dbus' when installing Qt, but it sounds like MacPorts prevents that action.  Now looking for a different method to do it.  In the meantime I'm following the wiki about installing older port to install an older version of LibreCAD@2.0.8, but still hoping to get the newest version to build eventually.
-I'm not able to progress any farther, so putting aside for the moment. If anyone has tips to suggest it would be great.  Thanks!
Reply | Threaded
Open this post in threaded view
|

Re: Help wanted to build on MacOS

xanderdin
In reply to this post by fa201
I've got successful build on MacOS 10.14. But because I do not own a real Mac I've done it in the cloud. I'm not familiar with MacOS specifics and what I got is a result of number of trials and errors. First, I tried to build with default clang compiler and the build always failed with an error. Then I tried to build with gcc but qmake tried hard to disallow me that. I tried linking installed gcc tools to /usr/local/bin, ~/bin, played with PATH and other environment variables, but every time qmake was giving me the following error:

Project ERROR: failed to parse default search paths from compiler output

Looking into .qmake.stash file showed me that despite anything I did to use gcc, qmake always used the same path down below Xcode directory:

...
QMAKE_MAC_SDK.macx-g++.macosx.QMAKE_CC = /Applications/Xcode_10.2.1.app/Contents/Developer/usr/bin/gcc
QMAKE_MAC_SDK.macx-g++.macosx.QMAKE_CXX = /Applications/Xcode_10.2.1.app/Contents/Developer/usr/bin/g++
...

And that 'gcc' when run with --version occured to be clang:

Apple LLVM version 10.0.1 (clang-1001.0.46.4)

So I forced and made a real gcc to be at that location and finally got a result. I cannot recommend my approach for a personal computer but it is safe in the cloud where for each build there is a new fresh virtual machine image.


My steps include installation of dependencies:

brew install \
    boost@1.60 \
    gcc@9 \
    qt5

brew link qt5 --force

Forcing real 'gcc' to be inside Xcode directory:

sudo xcode-select -s /Applications/Xcode_10.2.1.app/Contents/Developer
sudo ln -f -s /usr/local/bin/gcc-9 /Applications/Xcode_10.2.1.app/Contents/Developer/usr/bin/gcc
sudo ln -f -s /usr/local/bin/gcc-9 /Applications/Xcode_10.2.1.app/Contents/Developer/usr/bin/cc
sudo ln -f -s /usr/local/bin/g++-9 /Applications/Xcode_10.2.1.app/Contents/Developer/usr/bin/g++
sudo ln -f -s /usr/local/bin/g++-9 /Applications/Xcode_10.2.1.app/Contents/Developer/usr/bin/c++
sudo ln -f -s /usr/local/bin/gcc-ar-9 /Applications/Xcode_10.2.1.app/Contents/Developer/usr/bin/ar
sudo ln -f -s /usr/local/bin/gcc-nm-9 /Applications/Xcode_10.2.1.app/Contents/Developer/usr/bin/nm
sudo ln -f -s /usr/local/bin/gcc-ranlib-9 /Applications/Xcode_10.2.1.app/Contents/Developer/usr/bin/ranlib

Inside cloned LibreCAD directory I do the following:

echo "BOOST_DIR = /usr/local/opt/boost@1.60/"    >> ./librecad/src/custom.pro
echo "BOOST_LIBDIR = /usr/local/opt/boost@1.60/" >> ./librecad/src/custom.pro
echo "QT_CONFIG -= no-pkg-config"                >> ./librecad/src/custom.pro
./scripts/build-osx.sh -q="-spec macx-g++"

And everything builds OK resulting in LibreCAD.dmg file.

If you are interested in all my trial and errors (for MacOS, Windows and Linux) please see git history of my commits here: https://github.com/xanderdin/LibreCAD/commits/play_with_azure
And resulting cloud builds with logs are available here: https://dev.azure.com/xanderdin/PlayWithAzure/_build?definitionId=1&_a=summary Please note, the build history and logs are available for no more than 30 days and then will be automatically deleted by cloud provider.

Hope my build experience is helpful.