The general idea with GNU Build system is to
- ./configure
- make
- make install
However if there are problems it is not quite so simple. The following notes are how I resolved the issues that arose.
My QUCS Build Notes
These notes assume you already have the QUCS source code sitting in a folder somewhere. This instructions are for Ubuntu / Debian Linux which I use for my investigations.
- Recents notes on sourceforge by Frans on building regarding qt3 and qt4
- ADMS – analog mixed signal – I had to download and build. The build system specified the correct location under linux to match the QUCS build – When I search for this I was only using APT-GET. Need to recheck using Synaptic – much easier to find packages.
- download Qt3 3.3.8 – download to personal file area. Follow instructions here on how to setup. / unzip / rename to Qt and use terminal command: sudo mv ./qt /usr/local
- Qt 3.3.8 Download from Nokia FTP
Tools required by QUCS build: Much of this available as GNU Build Essentials – Using Synaptic – much easier! I installed these components:
- Autoconf version 2.57 (at least) – Autoconf is an extensible package of M4 macros that produce shell scripts to automatically configure software source code packages.
- GNU automake 1.7.0 (at least) – Automake is a tool for automatically generating `Makefile.in' files compliant with the GNU Coding Standards. Automake requires the use of Autoconf. sudo apt-get install build-essential
- flex 2.5.31 (but at least 2.5.9) – (The Fast Lexical Analyzer) – fast lexical analyser generator. It is a tool for generating programs that perform pattern-matching on text. Flex is a free (but non-GNU) implementation of the original Unix lex program. To download the software, get the documentation, and more, please see the Flex home page – sudo apt-get install flex
- GNU Bison 1.875d – this is a parser generator – sudo apt-get install bison
- Qt installation >= version 3.1 (by Trolltech)
- GNU M4 (any version) – I think was installed with build-essentials or gcc
- GNU gperf 3.0.1 – sudo apt-get install gperf
- adms 2.2.4 (at least) – Verilog-AMS (Analog and Mixed Signals) is a language designed to describe and simulate analog and mixed signal designs using both the top-level design methodology as well as the more traditional bottom up approach. SourceForge Download
Step: Add to .profile file to get Qt3 to build
In .profile (if your shell is bash, ksh, zsh or sh), add the following lines:
QTDIR=/usr/local/qt PATH=PATH MANPATH=MANPATH LD_LIBRARY_PATH=LD_LIBRARY_PATH export QTDIR PATH MANPATH LD_LIBRARY_PATH
Problem: Dependency being left out of header file
There was a bug in the Qt 3.3.8 code. qvaluelist.h:91:13: error: ‘ptrdiff_t’ does not name a type
Fix is below:
qt-x11-free-3.3.8b make fails with ".obj/release-shared/qapplication_x11.o
Error 1 {...} ptrdiff_t does not name a type"
The fix is at qt-x11-free-3.3.8/include/qvaluelist.h
#ifndef QT_NO_STL
#include <iterator>
#include <list>
#endif
becomes
#ifndef QT_NO_STL
#include <iterator>
#include <list>
#include <cstddef>
#endif
Problem: After building the Qt library the ./Configure choked at the point it was supposed to find the library. This must have been because of it being the non threading library because of this:
Though the QTDIR environment variable is setup correctly, it may happen that the configure script cannot find the Qt® libraries because it is initially looking for the threaded libraries (the libqt-mt.so link). If you have installed the non-threaded library (the libqt.so link) configure fails. This can be worked around by
ldd /usr/local/bin/qucs
linux-gate.so.1 => (0xb76f9000)
libqt.so.3 => not found
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb75fa000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb75cd000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7423000)
/lib/ld-linux.so.2 (0xb76fa000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb7405000)
-
using locate command I found the library:
freemonsandlewould@lucy:/usr/local/bin$ locate libqt.so.3
/usr/local/qt/lib/libqt.so.3
/usr/local/qt/lib/libqt.so.3.3
/usr/local/qt/lib/libqt.so.3.3.8
-
I used the following command and it must have place the path to the library in the correct place because after this QUCS ran
sudo ldconfig /usr/local/qt/lib
QUCS booted up at this point
How to pull from Git and build
QUCS build with Qt4
0 Comments