The general idea with GNU Build system is to
- make install
Clean Restart: At this point I had a system issue and decided to reload linux
sudo apt-get install synaptic sudo apt-get install build-essential sudo apt-get install flex sudo apt-get install bison sudo apt-get install gperf sudo apt-get install qt4-dev-tools sudo apt-get install autoconf sudo apt-get install libtool sudo apt-get install libxml2-dev
Compile instructions Linux (Ubuntu): First make sure you have all packages installed: build-essential flex bison qt4-dev-tools gperf Install ADMS 2.3.0: ./configure --enable-maintainer-mode make sudo make install sudo ldconfig Compile qucs: cd qucs ./autogen.sh make sudo make install Compile qucs-core: cd qucs-core ./autogen.sh make sudo make install
QUCS 0.0.17 ran at this point
The following details my failed approaches where in I learned much about the Gnu build system.
Installing Qt4 libraries using apt-get approach
Switching strategies – Installed Qt4 4.8.3 library from:
- qt4-dev-tools – used synaptic package manager – after doing this qucs built
- Tried to build the qucs-core it flagged problems with adms – noticed adms was included under qucs-core.
- Attempted to ./configure –enable-maintainer-mode …the switches are used to get past a compile error
- Missing PERL packages flagged. Next 2 bullet points
- XML::LibXML how to install v2.0018 sudo cpan XML::LibXML
- To install GD Perl module – sudo apt-get install libgd-gd2-perl
- after these 2 packages were installed adms under qucs-core successfully configured / made / installed
Building libraries from source approach
My QUCS with Qt4 libaries 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.
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) – INSTALLED: 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) – INSTALLED: 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) – INSTALLED (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 – INSTALLED this is a parser generator – sudo apt-get install bison
- GNU M4 (any version) – ALREADY INSTALLED I THINK I think was installed with build-essentials or gcc — Already installed
- GNU gperf 3.0.1 – INSTALLED sudo apt-get install gperf
- adms 2.2.4 (at least) – INSTALLED 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
ADMS Build Problems on Linux
- installed libtool package – not sure if this was a problem
- configure would not run: went in and changed permission to run = yes
- configure: error: cannot run /bin/bash auxconf/config.sub needed to: automake –add-missing
- this generated: configure.ac:569: installing `auxconf/config.guess' configure.ac:569: installing `auxconf/config.sub'
- *** No rule to make target `adms.c', needed by `libadmsElement_la-adms.lo'
- adms.c is automatically generated if you give the flag to ./configure –enable-maintainer-mode
- ADMS built successfully after these steps
- You can test ADMS with admsXml -v ….this should yield: [usage..] <release name="admsXml" version="2.3.0" date="May 18 2013" time="17:07:55"/>
ADMS under windows
- As a side issue I downloaded ADMS source onto windows machine and built using mingw. No configure command was needed. Just make. Make Install had errors
- NGSpice page includes a link to where you can get a windows adms exe that is already built
./configure, make, make install of Qt 4.8.4 libraries Install instructions here
- Installed Qt Creator Version: 2.7.0 via download from http://qt-project.org/downloads . It had a .bin extension that would not run until I right clicked > properties > Permissions Tab > click the "Allow executing file as program" check box. It installed to home/freemonsandlewould/qtcreator-2.7.0
- DownLoaded Linux Qt libraries for Linux / X11 4.8.4. Turns out they are in source form in contrast to the Windows version which was already compiled.
Build of Qt 4.8.4 Library
- Did ./configure then tried make. Make would not run due to same problem as shown here: Dependencies question with Qt 4.8.4
- After I performed the command: sudo apt–get build–dep qt4–qmake ……. I then tried make again. make ran. There were some header files it warned that it could not find. It seems to be taking forever. That is because this library is HUGE.
- At the end of the first attempt at make there were some errors flagged regarding webkit.
- Note that the sources are only buildable using the build-webkit tool, and requires the QTDIR environment set even if only to /usr.
- At this point I trashed the existing extracted source files and extracted a clean version of the source code again
- Recommended flags for minimal Qt build has: configure -no-webkit
- Introduction to Qt4 ToolKit had: ./configure -prefix /usr/local/qt4 This points the install to directory in the case you do not want to use the default directory
- Noting that webkit was not necessary for what I am doing I used ./configure -prefix /usr/local/qt4 -no-webkit ……this points the install to said directory and skips the webkit build. This ran without Incident.
- make install ran sucessfully at this point
- qmake -v attempted. The program 'qmake' is currently not installed. You can install it by typing sudo apt-get install qt4-qmake
- qmake installed qmake -v shows: Using Qt qmake version 4.8.3 in /usr/lib/i386-linux-gnu
- NOTE: apt-get libqt4-dev is limited to version 4.6 See notes about libqt4-dev and libqtwebkit-dev: Installing Qt and compiling capybara webkit as per note on this page if you want a later library you must build it locally.
- Last step of library installation is to add the qt4 path to the PATH system variable. See Installing Qt3 under linux/unix I opened Home/.profile and added the following:
QTDIR=/usr/local/qt4 PATH=PATH MANPATH=MANPATH LD_LIBRARY_PATH=LD_LIBRARY_PATH
- This path change only takes effect after a logout and a new login. I rebooted to achieve this. At this point I compiled a simple example that worked.
- Simple Example code
- QUCS 0.0.0.17 Build
- QUCS build instructions
- latest snapshot downloaded 4fr7b last 4 digits
- ./configure, make went ok
- make install errored out. The following errors were flagged.
/usr/bin/ld: cannot find -lQtCore
/usr/bin/ld: cannot find -lQtGui
/usr/bin/ld: cannot find -lQtXml
/usr/bin/ld: cannot find -lQt3Support
Note: The programs ld.so and ld-linux.so* find and load the shared libraries needed by a program, prepare the program to run, and then run it. This is the dynamic linker.
- straight ./configure flags the same errors as above
- ./configure –libdir=/usr/local/qt4 runs successfully.
- Doing a make distclean and ./configure –libdir=/usr/local/qt4 …after this make does not run. It will not accept a path like ./configure did.
QUCS build with Qt4