LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   MySQL-workbench install dependencies gtkmm (https://www.linuxquestions.org/questions/slackware-14/mysql-workbench-install-dependencies-gtkmm-4175618757/)

SAJM 12-05-2017 08:33 AM

Quote:

Originally Posted by bassmadrigal (Post 5789146)
That's saying those dependencies haven't been installed. Did you just run the SlackBuild of them and not manually install the resulting package? SlackBuilds only create the packages and don't install them (although, sbopkg can do install them if you tell it to). Check your /tmp/ folder for any txz/tgz packages and ensure they're installed.



Handled by the ctemplate package.



Handled by the mysql-connector-c++ package.




Handled by the vsqlite++ package.



Handled by the tinyxml package.

:)

I downloaded all the files from the relevant Slackbuild page and ran 'sh (name of dependancy).SlackBuild', if I got no errors I assumed it was OK. The only error I got was 'sigc++-2.0 could not be found' which started this thread. Is that not the way to do it?

willysr 12-05-2017 08:49 AM

Quote:

Originally Posted by bassmadrigal (Post 5789185)
Can you paste the contents of the file /var/lib/sbopkg/queues/mysql-workbench.sqf? This should provide the build order of mysql-workbench. On mine, it contains 26 different packages that needs to be installed before you can run the SlackBuild for mysql-workbench. Of note, unixDOC has a flag that tells the user to read the README (which should be done anyway before installing a package) stating it conflicts with libiodbc in Slackware. I don't know if you need to remove libiodbc before running it or you only need to reinstall it if you remove unixDOC (although, I speculate it's the latter since it isn't spelled out that libiodbc needs to be removed).

Once that is done, can you provide the output of the error message? If one crops up and it asks if you want to continue processing the queue, it's very possible it won't be able to finish the queue because that required program will now be missing.

We'd need to know at a minimum what package it's trying to build and the error messages provided to hopefully help you out.

please note that he is using Slackware 14.1 and the default sbopkg configuration is to use repository which was designed to be tested against Slackware 14.2, so there might be some packages missing (which was added into 14.2)

bassmadrigal 12-05-2017 09:40 AM

Quote:

Originally Posted by SAJM (Post 5789189)
I downloaded all the files from the relevant Slackbuild page and ran 'sh (name of dependancy).SlackBuild', if I got no errors I assumed it was OK. The only error I got was 'sigc++-2.0 could not be found' which started this thread. Is that not the way to do it?

Once the SlackBuild completes, it only generates the package and stores it in /tmp/ (by default). It doesn't install them and it requires you to do that.

Quote:

Originally Posted by willysr (Post 5789192)
please note that he is using Slackware 14.1 and the default sbopkg configuration is to use repository which was designed to be tested against Slackware 14.2, so there might be some packages missing (which was added into 14.2)

Oops, I missed that. Thanks for the heads up.

@SAJM, since you're not running 14.2, you need to ensure you're grabbing 14.1 SlackBuilds and/or have 14.1 set up as the default repository in sbopkg. That might help some of your issues.

SAJM 12-05-2017 09:56 AM

Quote:

Originally Posted by bassmadrigal (Post 5789206)

@SAJM, since you're not running 14.2, you need to ensure you're grabbing 14.1 SlackBuilds and/or have 14.1 set up as the default repository in sbopkg. That might help some of your issues.

I'm up to speed with that and being very careful to point to the correct ver.

SAJM 12-05-2017 09:59 AM

Quote:

Originally Posted by bassmadrigal (Post 5789206)
Once the SlackBuild completes, it only generates the package and stores it in /tmp/ (by default). It doesn't install them and it requires you to do that.

OOPS! That's probably the problem from the start then.

keefaz 12-05-2017 12:07 PM

It happens to the best of us

heyjann 12-05-2017 12:13 PM

For reference/inspiration, below commands worked for me to get the thing working, in a fresh test install.
I would not really recommend using it as a script, you might be able to (I hope you are on x86_64 then) but in that case note there is no error checking, no failsafes, I did not even check properly, might have made copy-paste errors here, I'm not necessarily great at this stuff etc etc.
As you can see I used a few prebuilt packages to save some time, whatever you have already, no need to reinstall.
If anything, it shows the trouble one can save oneself when dealing with dependency-heavy software by using tools that can process SBo stuff for you.

(after adding mirror to /etc/slackpkg/mirrors)
Code:

slackpkg update
slackpkg upgrade-all

(reboot just in case)

get some prebuilt packages

Code:

mkdir /root/trustedlibs
cd /root/trustedlibs
wget https://rlworkman.net/pkgs/14.1/x86_64/gtkmm-2.24.4-x86_64-1_rlw.txz
wget https://rlworkman.net/pkgs/14.1/x86_64/mm-common-0.9.6-noarch-1_rlw.txz
wget https://rlworkman.net/pkgs/14.1/x86_64/atkmm-2.22.7-x86_64-1_rlw.txz
wget https://rlworkman.net/pkgs/14.1/x86_64/pangomm-2.34.0-x86_64-1_rlw.txz
wget https://rlworkman.net/pkgs/14.1/x86_64/cairomm-1.10.0-x86_64-1_rlw.txz
wget https://rlworkman.net/pkgs/14.1/x86_64/glibmm-2.36.2-x86_64-1_rlw.txz
wget https://rlworkman.net/pkgs/14.1/x86_64/libsigc++-2.2.11-x86_64-1_rlw.txz
wget http://bear.alienbase.nl/mirrors/people/alien/sbrepos/14.1/x86_64/lua/lua-5.1.5-x86_64-2alien.tgz
wget http://bear.alienbase.nl/mirrors/people/alien/sbrepos/14.1/x86_64/openjdk/openjdk-8u151_b12-x86_64-1alien.txz
wget http://bear.alienbase.nl/mirrors/people/alien/sbrepos/14.1/x86_64/pycrypto/pycrypto-2.6-x86_64-1alien.tgz
wget http://slackware.uk/slacky/slackware64-14.1/libraries/wxPython/2.8.12.1/wxPython-2.8.12.1-x86_64-3sl.txz
installpkg *

Download and unpack slackbuilds

Code:

cd /root
wget https://slackbuilds.org/slackbuilds/14.1/libraries/ctemplate.tar.gz
wget https://slackbuilds.org/slackbuilds/14.1/libraries/pexpect.tar.gz
wget https://slackbuilds.org/slackbuilds/14.1/libraries/tinyxml.tar.gz
wget https://slackbuilds.org/slackbuilds/14.1/gis/geos.tar.gz
wget https://slackbuilds.org/slackbuilds/14.1/gis/proj.tar.gz
wget https://slackbuilds.org/slackbuilds/14.1/gis/gdal.tar.gz
wget https://slackbuilds.org/slackbuilds/14.1/python/ecdsa.tar.gz
wget https://slackbuilds.org/slackbuilds/14.1/python/paramiko.tar.gz
wget https://slackbuilds.org/slackbuilds/14.1/libraries/mysql-connector-c++.tar.gz
wget https://slackbuilds.org/slackbuilds/14.1/libraries/vsqlite++.tar.gz
wget https://slackbuilds.org/slackbuilds/14.1/libraries/libantlr3c.tar.gz
wget https://slackbuilds.org/slackbuilds/14.1/development/mysql-workbench.tar.gz
tar xvpf ctemplate.tar.gz
tar xvpf pexpect.tar.gz
tar xvpf tinyxml.tar.gz
tar xvpf geos.tar.gz
tar xvpf proj.tar.gz
tar xvpf gdal.tar.gz
tar xvpf ecdsa.tar.gz
tar xvpf paramiko.tar.gz
tar xvpf mysql-connector-c++.tar.gz
tar xvpf vsqlite++.tar.gz
tar xvpf libantlr3c.tar.gz
tar xvpf mysql-workbench.tar.gz

build and install packages

Code:

cd /root/ctemplate
wget https://github.com/OlafvdSpek/ctemplate/archive/ctemplate-2.3.tar.gz
./ctemplate.SlackBuild
installpkg /tmp/ctem*SBo.tgz
cd /root/pexpect
wget https://github.com/pexpect/pexpect/archive/4.0.1.tar.gz
./pexpect.SlackBuild
installpkg /tmp/pexp*SBo.tgz
cd /root/tinyxml
wget http://downloads.sourceforge.net/tinyxml/tinyxml_2_6_2.tar.gz
./tinyxml.SlackBuild
installpkg /tmp/tinyxml*SBo.tgz
cd /root/geos
wget http://download.osgeo.org/geos/geos-3.5.0.tar.bz2
./geos.SlackBuild
installpkg /tmp/geos*SBo.tgz
cd /root/proj
wget http://download.osgeo.org/proj/proj-4.9.2.tar.gz
./proj.SlackBuild
installpkg /tmp/proj*SBo.tgz
cd /root/gdal
wget http://download.osgeo.org/gdal/1.11.3/gdal-1.11.3.tar.xz
./gdal.SlackBuild
installpkg /tmp/gdal*SBo.tgz
cd /root/ecdsa
wget https://pypi.python.org/packages/source/e/ecdsa/ecdsa-0.13.tar.gz
./ecdsa.SlackBuild
installpkg /tmp/ecds*SBo.tgz
cd /root/paramiko
wget https://pypi.python.org/packages/source/p/paramiko/paramiko-1.15.2.tar.gz
./paramiko.SlackBuild
installpkg /tmp/param*SBo.tgz
cd /root/mysql-connector-c++
wget https://dev.mysql.com/get/Downloads/Connector-C++/mysql-connector-c++-1.1.3.tar.gz
./mysql-connector-c++.SlackBuild
installpkg /tmp/mysql-c*SBo.tgz
cd /root/vsqlite++
wget https://downloads.sourceforge.net/sqlitepp/vsqlite++-0.3.13.tar.gz
./vsqlite++.SlackBuild
installpkg /tmp/vsq*SBo.tgz
cd /root/libantlr3c
wget http://www.antlr3.org/download/C/libantlr3c-3.4.tar.gz
./libantlr3c.SlackBuild
installpkg /tmp/libant*SBo.tgz
cd /root/mysql-workbench
wget http://www.antlr3.org/download/antlr-3.4-complete.jar
wget http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/MySQLGUITools/mysql-workbench-community-6.2.5-src.tar.gz
#this next line is a quick & dirty hack, worked for the purposes of a test though
ln -sf /usr/lib64/java/bin/java /usr/bin/java
./mysql-workbench.SlackBuild
installpkg /tmp/mysql-w*SBo.tgz
#undo earlier hack
rm /usr/bin/java


bassmadrigal 12-05-2017 12:38 PM

To simplify heyjann's commands by using sbopkg (and sqg), we can do the following. (Note: if you don't have jdk installed, you'd need to download the source and place it in /var/cache/sbopkg/ like I mentioned above)

Code:

sbopkg -V SBo/14.1            # Ensure we're set to the 14.1 repo
sbopkg -r                    # Sync that repo to make sure it's up-to-date
sqg -p mysql-workbench        # Generate the queue file for mysql-workbench
sbopkg -i mysql-workbench    # Start the build process

Once you run that last command, you'll be prompted if you want to build just the package or queue file for mysql-workbench. Select "q" for the queue file and let it do its thing. If there are any errors, copy them and paste them into here. If there aren't, it should be good to go. Make sure you make the changes suggested in mysql-workbench's README on SBo to ensure it works properly.

Good luck!

SAJM 12-05-2017 01:21 PM

Quote:

Originally Posted by bassmadrigal (Post 5789273)
Once you run that last command, you'll be prompted if you want to build just the package or queue file for mysql-workbench. Select "q" for the queue file and let it do its thing. If there are any errors, copy them and paste them into here. If there aren't, it should be good to go. Make sure you make the changes suggested in mysql-workbench's README on SBo to ensure it works properly.

Good luck!

Here is the log generated by sbopkg -i mysql-workbench > log2.txt

Both a queuefile and a package were found with the name "mysql-workbench".


The following packages cannot be found
in the currently active repository
(SBo/14.1) and have been skipped:

ptyprocess
asn1crypto
packaging

(Y)es to continue processing or (N)o to stop?: sbopkg: main: Unknown response: "Q".
(Y)es to continue processing or (N)o to stop?:

heyjann 12-05-2017 02:38 PM

Sounds like it is basing the dependency list (hopefully not much else) on 14.2 info.

ptyprocess dependency on 14.2:
https://slackbuilds.org/repository/1...aries/pexpect/

no ptyprocess dependency on 14.1:
https://slackbuilds.org/repository/1...aries/pexpect/

I'd say try it anyway, Y to continue. Worst it can do is fail.

To double-check the SBo packages you currently have installed, you can try
ls /var/log/packages/*SBo

Quote:

Originally Posted by bassmadrigal (Post 5789273)
To simplify heyjann's commands by using sbopkg (and sqg), we can do the following.

Fully aware my list of manual commands is monstrous. Not too bad to do now and again as an experiment, and to see and show what exactly the advanced tools are taking out of our hands.
Although I mostly don't install dependency-rich stuff like this, so I am ok with the manual way.

bassmadrigal 12-05-2017 03:21 PM

Quote:

Originally Posted by SAJM (Post 5789295)
Here is the log generated by sbopkg -i mysql-workbench > log2.txt

Both a queuefile and a package were found with the name "mysql-workbench".


The following packages cannot be found
in the currently active repository
(SBo/14.1) and have been skipped:

ptyprocess
asn1crypto
packaging

(Y)es to continue processing or (N)o to stop?: sbopkg: main: Unknown response: "Q".
(Y)es to continue processing or (N)o to stop?:

Oops, that's what I get for trying to piece together the command at work while reading manpages. Sorry about that...

Slight modification (with one less command) and you should hopefully be golden.

Code:

sbopkg -V SBo/14.1 -r                        # Set the 14.1 repo and sync it
REPO_BRANCH=14.1 sqg -p mysql-workbench      # Tell sqg to use the 14.1 repo and generate the queue file for mysql-workbench
sbopkg -V SBo/14.1 -i mysql-workbench        # Start the build process using the 14.1 repo

Just as a note, you can and should go into sbopkg and under the utilities option, set the "Repository" to 14.1 instead of the 14.2 default. That would simplify these commands a bit, but I initially thought that using the -V option would set it program-wide, not just a temporary option.

SAJM 12-05-2017 05:59 PM

Quote:

Originally Posted by bassmadrigal (Post 5789352)
Code:

sbopkg -V SBo/14.1 -r                        # Set the 14.1 repo and sync it
REPO_BRANCH=14.1 sqg -p mysql-workbench      # Tell sqg to use the 14.1 repo and generate the queue file for mysql-workbench
sbopkg -V SBo/14.1 -i mysql-workbench        # Start the build process using the 14.1 repo

Just as a note, you can and should go into sbopkg and under the utilities option, set the "Repository" to 14.1 instead of the 14.2 default. That would simplify these commands a bit, but I initially thought that using the -V option would set it program-wide, not just a temporary option.

Nearly got there Woo Hoo!

Here's the error log:

Determining if files cppconn/version_info.h exist failed with the following output:
Change Dir: /tmp/SBo/mysql-workbench-community-6.2.5-src/wb-build/CMakeFiles/CMakeTmp

Run Build Command:/usr/bin/gmake "cmTryCompileExec3104536626/fast"
/usr/bin/gmake -f CMakeFiles/cmTryCompileExec3104536626.dir/build.make CMakeFiles/cmTryCompileExec3104536626.dir/build
gmake[1]: Entering directory `/tmp/SBo/mysql-workbench-community-6.2.5-src/wb-build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /tmp/SBo/mysql-workbench-community-6.2.5-src/wb-build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec3104536626.dir/CheckIncludeFiles.c.o
/usr/bin/cc -O2 -march=i486 -mtune=i686 -o CMakeFiles/cmTryCompileExec3104536626.dir/CheckIncludeFiles.c.o -c /tmp/SBo/mysql-workbench-community-6.2.5-src/wb-build/CMakeFiles/CMakeTmp/CheckIncludeFiles.c
/tmp/SBo/mysql-workbench-community-6.2.5-src/wb-build/CMakeFiles/CMakeTmp/CheckIncludeFiles.c:2:34: fatal error: cppconn/version_info.h: No such file or directory
#include <cppconn/version_info.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTryCompileExec3104536626.dir/CheckIncludeFiles.c.o] Error 1
gmake[1]: Leaving directory `/tmp/SBo/mysql-workbench-community-6.2.5-src/wb-build/CMakeFiles/CMakeTmp'
gmake: *** [cmTryCompileExec3104536626/fast] Error 2

Source:
/* */
#include <cppconn/version_info.h>


int main(){return 0;}

bassmadrigal 12-05-2017 06:26 PM

Quote:

Originally Posted by SAJM (Post 5789409)
Nearly got there Woo Hoo!

Here's the error log:

Determining if files cppconn/version_info.h exist failed with the following output:
Change Dir: /tmp/SBo/mysql-workbench-community-6.2.5-src/wb-build/CMakeFiles/CMakeTmp

Run Build Command:/usr/bin/gmake "cmTryCompileExec3104536626/fast"
/usr/bin/gmake -f CMakeFiles/cmTryCompileExec3104536626.dir/build.make CMakeFiles/cmTryCompileExec3104536626.dir/build
gmake[1]: Entering directory `/tmp/SBo/mysql-workbench-community-6.2.5-src/wb-build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /tmp/SBo/mysql-workbench-community-6.2.5-src/wb-build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec3104536626.dir/CheckIncludeFiles.c.o
/usr/bin/cc -O2 -march=i486 -mtune=i686 -o CMakeFiles/cmTryCompileExec3104536626.dir/CheckIncludeFiles.c.o -c /tmp/SBo/mysql-workbench-community-6.2.5-src/wb-build/CMakeFiles/CMakeTmp/CheckIncludeFiles.c
/tmp/SBo/mysql-workbench-community-6.2.5-src/wb-build/CMakeFiles/CMakeTmp/CheckIncludeFiles.c:2:34: fatal error: cppconn/version_info.h: No such file or directory
#include <cppconn/version_info.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTryCompileExec3104536626.dir/CheckIncludeFiles.c.o] Error 1
gmake[1]: Leaving directory `/tmp/SBo/mysql-workbench-community-6.2.5-src/wb-build/CMakeFiles/CMakeTmp'
gmake: *** [cmTryCompileExec3104536626/fast] Error 2

Source:
/* */
#include <cppconn/version_info.h>


int main(){return 0;}

From my reading, it seems like that file should be included in the mysql-connector-c++ package, but for whatever reason, it isn't for the 1.1.3 version (even Debian's package doesn't have it, so it likely isn't something broken with the build process].

You could try building (and installing ;) ) mysql-connector-c++ 1.1.9 from the 14.2 repo. Since it doesn't rely on anything else, I don't think it will be a problem to have that be a newer version than the other dependencies. I tried compiling 1.1.9 and verified that file is in there, so hopefully mysql-workbench won't error out. Then try and rebuild mysql-workbench (just the package, since you shouldn't need to process the whole queue again). Hopefully that can now complete without an error.

This is one downside with running an older Slackware version. SBo only maintains the latest stable release and the older versions get kinda frozen, whether they're working or not. If you're able, you might want to look into upgrading your Slackware to 14.2, as the SBo repo is active for 14.2 and any bugs found will likely be fixed quite quickly.

SAJM 12-05-2017 09:56 PM

Quote:

Originally Posted by bassmadrigal (Post 5789415)
You could try building (and installing ;) ) mysql-connector-c++ 1.1.9 from the 14.2 repo. Since it doesn't rely on anything else, I don't think it will be a problem to have that be a newer version than the other dependencies. I tried compiling 1.1.9 and verified that file is in there, so hopefully mysql-workbench won't error out. Then try and rebuild mysql-workbench (just the package, since you shouldn't need to process the whole queue again). Hopefully that can now complete without an error.

This is one downside with running an older Slackware version. SBo only maintains the latest stable release and the older versions get kinda frozen, whether they're working or not. If you're able, you might want to look into upgrading your Slackware to 14.2, as the SBo repo is active for 14.2 and any bugs found will likely be fixed quite quickly.

I did that and got the following:

- found gnome-keyring-1, version 3.8.0
-- Looking for include file sys/prctl.h
-- Looking for include file sys/prctl.h - found
-- Looking for strtol
-- Looking for strtol - found
-- Looking for strtoll
-- Looking for strtoll - found
-- Looking for strtold
-- Looking for strtold - found
-- Looking for strtoull
-- Looking for strtoull - found
-- Looking for strtoimax
-- Looking for strtoimax - found
-- Looking for strtoumax
-- Looking for strtoumax - found
-- Configuring incomplete, errors occurred!
See also "/tmp/SBo/mysql-workbench-community-6.2.5-src/wb-build/CMakeFiles/CMakeOutput.log".

keefaz 12-06-2017 03:47 AM

mysql-workbench 6.2.25 should build without error with mysql-connector-c++ 1.1.3

I have a box running Slackware 14.1 with these packages installed from sbo (sboinstall)

I looked into it and see in the myslq-workbench source dir that the test for version_info.h is built from:
build/cmake/Modules/FindMySQLCppConn.cmake

Code:

...
IF(MYSQLCPPCONN_FOUND)
  SET( MYSQLCPPCONN_LIBRARIES ${MYSQLCPPCONN_LIBRARY} )
  SET( MYSQLCPPCONN_INCLUDE_DIRS ${MYSQLCPPCONN_INCLUDE_DIR} )
  TRY_COMPILE(MYSQLCPPCONN_VERSION_1_1_4
        ${CMAKE_BINARY_DIR}/try_compile ${CMAKE_CURRENT_LIST_DIR}/getColumnCharset.cpp
        COMPILE_DEFINITIONS ${MYSQLCPPCONN_INCLUDE_DIRS})
  MESSAGE(STATUS "C/C++ version 1.1.4+: ${MYSQLCPPCONN_VERSION_1_1_4}")
  INCLUDE (CheckIncludeFiles)
  CHECK_INCLUDE_FILES("cppconn/version_info.h" MYSQLCPPCONN_VERSION_1_1_5)

  MESSAGE(STATUS "C/C++ version 1.1.5+: ${MYSQLCPPCONN_VERSION_1_1_5}")
 
ELSE(MYSQLCPPCONN_FOUND)
  SET( MYSQLCPPCONN_LIBRARIES )
  SET( MYSQLCPPCONN_INCLUDE_DIRS )
ENDIF(MYSQLCPPCONN_FOUND)
...

I don't know how cmake work, but I guess other compatible mysql-connector versions are 1.1.4 or 1.1.5

@SAJM
Did you remove the mysql-connector packages from previous installation attempts, in each case?
check with
Code:

ls /var/log/packages/mysql-connector*


All times are GMT -5. The time now is 07:47 AM.