background preloader

antlr2 dependency (Sqlite Browser) (1/2)

15 february 2017

antlr2 dependency (Sqlite Browser) (1/2)

"FMS >> linux » qt4 & compiling sqlite
Posted by s243a@m3dMo-dHPQnRc…

qt4 & compiling sqlite on 2017-01-27 05:30:23  Reply

This post goes out to all those people who have only been using Linux for a few years. I'm guessing that experienced users consider this pretty basic.

================== Background ========================

Anyway qt is a dependency for lot of Linux applications. Most larger versions of Linux will likely come with it but a smaller version of Linux may not have it per-installed or alternatively the installed version may be too old for some more modern application.

I like to run Puppylinux because it keeps old machines from the landfill and it so happens that older versions of operating systems (even in the case of puppylinux) are often faster. The problem is that to run newer versions of software on older operating systems you might need to upgrade some of your base libraries and for many applications qt is a dependency.

In the past when I have needed to upgrade a core library like this I moved to a newer version of the operating system because I figured it was above my skill level. For instance in the case of QT, I wasn't clear how to make the build system find the correct version of QT.

================ Specific Example =====================

In my current case I am not trying to build qtut b I have tried and failed in that endeavour before. 

What I'm trying to build is sqlitebrowser [1] and qt4.x is one of it's dependencies. I'm trying to install it on a slakeware/linuxfromscratch based fork of puppylinux known as fatdog64.

I checked the package manager (i.e. gsplat) and for some reason I see the shared libraries package for qt but not qt its self. This may be because I"m running one of the pre-release versions of Fatdog64.

In order to compile qt4 in fatdog64 you'll need devx [2], which contains cmake.

The compiling instructions for sqlitebrowser are given here:
https://github.com/sqlitebrowser/sqlitebrowser/blob/master/BUILDING.md

The first step involves the following command
# cmake .

from withing the root directory of the package source.

After doing this I got an error messages telling me that I need the following two packages wern't installed:
qt4.x
antlr2

For fatdog64 you can download a per-compiled binary of qt4 here:
http://distro.ibiblio.org/fatdog/packages/710/

after installing and trying the following command again:
# cmake .

you'll still get the same error but there will be less error messages. More importantly if you follow the link given in the error
(i.e. /usr/share/smake-3.6/Modules/FindQt4.cmake)

You will see how cmake looks for qt4. by reading this file which says:
"
# This module can be used to find Qt4.  The most important issue is that
# the Qt4 qmake is available via the system path.  This qmake is then
# used to detect basically everything else.  This module defines a
# number of :prop_tgt:`IMPORTED` targets, macros and variables.
"
FindQt4.cmake?type=text/plain

so from reading this what it seems like what I have to do is search my system to see if "qmake" is on my search path. If it is I can symbolic link it to my search path and if it it isn't I will try to find the package that contains it.

Because puppylinux is geared towards building leaner systems, it is possible that the person that built the qt package separated the need components for building qt applications from the code required to run them. 

I will see if there is a qt_dev package for fatdog64 and if not then I suppose I'll try to compile it.

If I have trouble though not all is not lost. It just so happens that I started with the computer that was running an os that didn't have pre-built binaries for sqlitebrowser. There are pre-built versions of sqlitebrowser for Ubuntu and windows based computers. One of the versions of puppylinux I run is Ubuntu based and the other computer I use uses windows 8.1.

That said even though; even though there is an easier way out, I'm not ready to give up just yet. I will march bravely forward :)

Notes
---------------
1 - The fms post known as tumblr, told me that I can use sqlitebrowser to edit the tables in fms. See post: http://127.0.0.1:8080/forumviewthread.htm?messageuuid=ABC2336E-E58D-4639-9423-1C4B5204405A@OxXBm2It3J3u0lPyChcWoQMTB2YZUGlJZVfQjiZpZN8#ABC2336E-E58D-4639-9423-1C4B5204405A@OxXBm2It3J3u0lPyChcWoQMTB2YZUGlJZVfQjiZpZN8 

2. devx for fatdog64 contains the tools necessary to build packages. It can be found at: http://distro.ibiblio.org/fatdog/sfs/710/

s243a@m3dMo-dHPQnRc…

Trust, LocalPeer, Message80, Trust List41


Re: qt4 & compiling sqlitebrowser on 2017-01-27 05:46:44  Replys243a@m3dMo-dHPQnRcALrQJBu2WmwwyQcLL8lJey3qb6VFv8 wrote :

This post goes out to all those people who have only been using Linux for a few years. I'm guessing that experienced users consider this pretty basic.


opps. I miss-titled this thread. It should have read:

"Re: qt4 & compiling sqlitebrowser"tumbler@OxXBm2It3J3…

Trust, LocalPeer, Message82, Trust List58


Re: qt4 & compiling sqlite on 2017-01-27 19:27:16  Replys243a@m3dMo-dHPQnRcALrQJBu2WmwwyQcLL8lJey3qb6VFv8 wrote :

This post goes out to all those people who have only been using Linux for a few years. I'm guessing that experienced users consider this pretty basic.

================== Background ========================

Anyway qt is a dependency for lot of Linux applications. Most larger versions of Linux will likely come with it but a smaller version of Linux may not have it per-installed or alternatively the installed version may be too old for some more modern application.

I like to run Puppylinux because it keeps old machines from the landfill and it so happens that older versions of operating systems (even in the case of puppylinux) are often faster. The problem is that to run newer versions of software on older operating systems you might need to upgrade some of your base libraries and for many applications qt is a dependency.

In the past when I have needed to upgrade a core library like this I moved to a newer version of the operating system because I figured it was above my skill level. For instance in the case of QT, I wasn't clear how to make the build system find the correct version of QT.

================ Specific Example =====================

In my current case I am not trying to build qtut b I have tried and failed in that endeavour before. 

What I'm trying to build is sqlitebrowser [1] and qt4.x is one of it's dependencies. I'm trying to install it on a slakeware/linuxfromscratch based fork of puppylinux known as fatdog64.

I checked the package manager (i.e. gsplat) and for some reason I see the shared libraries package for qt but not qt its self. This may be because I"m running one of the pre-release versions of Fatdog64.

In order to compile qt4 in fatdog64 you'll need devx [2], which contains cmake.

The compiling instructions for sqlitebrowser are given here:
https://github.com/sqlitebrowser/sqlitebrowser/blob/master/BUILDING.md

The first step involves the following command
# cmake .

from withing the root directory of the package source.

After doing this I got an error messages telling me that I need the following two packages wern't installed:
qt4.x
antlr2

For fatdog64 you can download a per-compiled binary of qt4 here:
http://distro.ibiblio.org/fatdog/packages/710/

after installing and trying the following command again:
# cmake .

you'll still get the same error but there will be less error messages. More importantly if you follow the link given in the error
(i.e. /usr/share/smake-3.6/Modules/FindQt4.cmake)

You will see how cmake looks for qt4. by reading this file which says:
"
# This module can be used to find Qt4.  The most important issue is that
# the Qt4 qmake is available via the system path.  This qmake is then
# used to detect basically everything else.  This module defines a
# number of :prop_tgt:`IMPORTED` targets, macros and variables.
"
FindQt4.cmake?type=text/plain

so from reading this what it seems like what I have to do is search my system to see if "qmake" is on my search path. If it is I can symbolic link it to my search path and if it it isn't I will try to find the package that contains it.

Because puppylinux is geared towards building leaner systems, it is possible that the person that built the qt package separated the need components for building qt applications from the code required to run them. 

I will see if there is a qt_dev package for fatdog64 and if not then I suppose I'll try to compile it.

If I have trouble though not all is not lost. It just so happens that I started with the computer that was running an os that didn't have pre-built binaries for sqlitebrowser. There are pre-built versions of sqlitebrowser for Ubuntu and windows based computers. One of the versions of puppylinux I run is Ubuntu based and the other computer I use uses windows 8.1.

That said even though; even though there is an easier way out, I'm not ready to give up just yet. I will march bravely forward :)

Notes
---------------
1 - The fms post known as tumblr, told me that I can use sqlitebrowser to edit the tables in fms. See post: http://127.0.0.1:8080/forumviewthread.htm?messageuuid=ABC2336E-E58D-4639-9423-1C4B5204405A@OxXBm2It3J3u0lPyChcWoQMTB2YZUGlJZVfQjiZpZN8#ABC2336E-E58D-4639-9423-1C4B5204405A@OxXBm2It3J3u0lPyChcWoQMTB2YZUGlJZVfQjiZpZN8 

2. devx for fatdog64 contains the tools necessary to build packages. It can be found at: http://distro.ibiblio.org/fatdog/sfs/710/


I don't have fat dogs and slim cats, but sqlitebrowser isn't the only fish in the deep sea.

The easiest way out is to use the Firefox addon:
https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/

or install
unixodbc
unixodbc-bin
odbcins
libodbc
libsqliteodbc

create DNS with:
ODBCManageDataSourcesQ4

open it with LibreOffice (OpenOffice)
(or any other ODBC aware GUI)

or this (uses PHP):
https://sourceforge.net/projects/sqlitemanager/

or with Tcl/Tk:
TkSQLite
http://wiki.tcl.tk/17603

or SQLite Studio:
https://sqlitestudio.pl/index.rvt

or .... (use your favorite search engine)

"

Posted on FMS (A usenet like plugin for freenet):
http://127.0.0.1:8080/forumviewthread.htm?messageuuid=5569E189-A969-4310-9C72-DB3034E26CDC@OxXBm2It3J3u0lPyChcWoQMTB2YZUGlJZVfQjiZpZN8