Linux Opensuse Build Make Error

MMEX4Desktop, incl. Windows, macOS (10.10 or newer), and Most Unix variants using the GTK+ toolkit

Moderator: Renato

Post Reply
Geoplace
New User
Posts: 11
Joined: Sat Aug 08, 2015 2:25 pm
Are you a spam bot?: No

Linux Opensuse Build Make Error

Post by Geoplace »

Hi

I was trying install Money Manager Ex 1.2.2 form the tar.gz file into OpenSuse 13.2 following the INSTALL.TXT instructions but the make procedure stops.

When I run make command it display the next error:

make: *** No rule to make target 'lib/wxsqlite3/src/wxsqlite3.cpp', needed by 'wxsqlite_wxsqlite3.o'.  Alto.

Here is the output of the configure script:

Code: Select all

~/release/moneymanagerex-1.2.2> ./configure
configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu                                   
checking build system type... x86_64-unknown-linux-gnu                                                       
checking host system type... x86_64-unknown-linux-gnu                                                                  
checking target system type... x86_64-unknown-linux-gnu                                                                
checking for g++... g++                                                                                                       
checking whether the C++ compiler works... yes                                                                                      
checking for C++ compiler default output file name... a.out                                                                              
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C++ preprocessor... g++ -E
checking how to run the C preprocessor... gcc -E
checking for ranlib... ranlib
checking for a BSD-compatible install... /usr/bin/install -c
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=c++11... yes
checking for the --enable-debug option... will be automatically detected
checking for the --enable-unicode option... will be automatically detected
checking for the --enable-shared option... will be automatically detected
checking for the --with-motif option... will be automatically detected
checking for the --with-gtk option... will be automatically detected
checking for the --with-x11 option... will be automatically detected
checking for the --with-mac option... will be automatically detected
checking for the --with-cocoa option... will be automatically detected
checking for the --with-mgl option... will be automatically detected
checking for the --with-msw option... will be automatically detected
checking for the --with-wxshared option... will be automatically detected
checking for gawk... gawk
checking whether ln -s works... yes
checking for ranlib... (cached) ranlib
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking how to run the C++ preprocessor... g++ -E
checking for wx-config... /usr/bin/wx-config
checking for wxWidgets version >= 2.9.4... yes (version 3.0.2)
checking for wxWidgets static library... no
checking if wxWidgets was built with UNICODE enabled... yes
checking if wxWidgets was built in DEBUG mode... no
checking if wxWidgets was built in STATIC mode... no
checking if wxWidgets port is wxGTK... yes
checking if wxWidgets port is wxMotif... no
checking if wxWidgets port is wxMac... no
checking if wxWidgets port is wxMac... no
checking if wxWidgets port is wxX11... no
checking if wxWidgets port is wxMGL... no
checking if wxWidgets port is wxMSW... no
checking if wxGTK uses GTK 2.x (instead of GTK 1.x)... no
checking whether we are using the Intel C compiler... no
checking whether we are using the Intel C++ compiler... no
checking whether we are using the Sun C++ compiler... no
checking for ranlib... (cached) ranlib
checking whether ln -s works... yes
checking whether make sets $(MAKE)... yes
checking for ar... ar
checking for strip... strip
checking for nm... nm
checking for command to install directories... /usr/bin/install -c -d
checking if make is GNU make... yes
checking for dependency tracking method... gcc
configure: creating ./config.status
config.status: creating Makefile
config.status: creating tests/Makefile
config.status: creating ./po/Makefile
config.status: creating ./setup/win/Makefile

 ----------------------------------------------------------------
  Configuration for MoneyManagerEx 1.2.0 successfully completed.
  Summary of main configuration settings for MoneyManagerEx:
  - RELEASE build
  - UNICODE mode
  - SHARED mode
  - RELEASE build
  - UNICODE mode
  - SHARED mode
  - VERSION: 3.0.2
  - PORT: gtk (with GTK+ 1.x)

  The wxWidgets build which will be used by MoneyManagerEx 1.2.0
  has the following settings:
  - RELEASE build
  - UNICODE mode
  - SHARED mode
  - VERSION: 3.0.2
  - PORT: gtk (with GTK+ 1.x)

  Now, just run make.
 ----------------------------------------------------------------
What does I need to modify  to make it work?

Regards
Geoplace
New User
Posts: 11
Joined: Sat Aug 08, 2015 2:25 pm
Are you a spam bot?: No

Re: Linux Opensuse Build Make Error

Post by Geoplace »

Does someone has been sucessful installing MMEX in a rpm based distribution (like OpenSuse)?
RickJ
New User
Posts: 2
Joined: Thu Oct 15, 2015 4:16 pm
Are you a spam bot?: No

Re: Linux Opensuse Build Make Error

Post by RickJ »

I'm trying to do the same thing, but on Kubuntu. I've not yet been completely successful, it's a bit of a nightmare!

Firstly, I suggest using Git to clone the source from Github. The tarball appears incomplete, because there are sub-modules that are required such as wxsqlite3. It builds its own library rather than just linking with an installed one (don't know why yet doesn't seem a very good idea).

You need to use the command "git clone --recursive" to pull everything down. I'm currently having problems with wxwidgets, I can't get a version it will link and run with.

Try the Git route and posst how you get one.

Good luck - Rick
Nikolay
Developer
Posts: 1535
Joined: Sat Dec 06, 2008 2:27 pm
Are you a spam bot?: No
Location: Sankt-Petersburg, Russia

Re: Linux Opensuse Build Make Error

Post by Nikolay »

RickJ
New User
Posts: 2
Joined: Thu Oct 15, 2015 4:16 pm
Are you a spam bot?: No

Re: Linux Opensuse Build Make Error

Post by RickJ »

Nikolay wrote:Here is outdated rpm provided:
http://forum.moneymanagerex.org/viewtop ... f=7&t=1745

Use wiki page for build from scratch:
https://sourceforge.net/p/moneymanagere ... 9%20Linux/
The wiki build instruction are slightly out of date. Here's what I did differently:

I installed a backport of wxWidgets to get v. 3.0.2 without the "unofficial" tag, using this repository:
deb http://ppa.launchpad.net/tualatrix/ppa/ubuntu trusty main

It took me a while to realise the Legacy version of bakefile is required, not the current release!

There are two setup scripts: setup/linux/debian/build_new.sh, and setup/linux/build_deb.sh. I don't know why they're different, I had more success with the latter. (There is also a build_rpm script for RH-based systems)

There is an error in the "configure" script. The line WX_ADDITIONAL_LIBS="html, net, aui, adv, qa, webview, stc,core,base" doesn't work, because the WX_ADDITIONAL_LIBS variable is incorrectly used later. The problem is failure to pick up the webview library, and this can be fixed simply by changing
WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs std, aui, stc`
to
WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs std, aui, stc, webview`

After that it built and installed.

I then started looking at the problem I had with the binary release, which is total failure to correctly import QIF files. There are serious bugs in qif_import_qui.cpp which I'll try to report separately.

But digging deeper, I'm pretty disappointed at the whole thing, and I can't see it being a viable serious financial app. There are issues with the data model that seem to render it unable to support some important features. These include classes (as a secondary classification to categories), and also inability for a part of a split to be a transfer.
Geoplace
New User
Posts: 11
Joined: Sat Aug 08, 2015 2:25 pm
Are you a spam bot?: No

Re: Linux Opensuse Build Make Error

Post by Geoplace »

Interesting, I would try to do the equivalent in OpenSuse,

My knowledge compiling is really short so If I get stuck I would ask here again. Thanks.
Nikolay
Developer
Posts: 1535
Joined: Sat Dec 06, 2008 2:27 pm
Are you a spam bot?: No
Location: Sankt-Petersburg, Russia

Re: Linux Opensuse Build Make Error

Post by Nikolay »

@RickJ could you help to update wiki page or create new one at github ?
maker
New User
Posts: 4
Joined: Sun Sep 25, 2016 11:20 pm
Are you a spam bot?: No

Re: Linux Opensuse Build Make Error

Post by maker »

i'm getting exactly the same problem a year later ! unfortunately i'm guessing that this post was not indexed on search engines, as i didn't see this despite searching the same error.

was a solution to this found ?????
MartinPRowe
New User
Posts: 3
Joined: Sun Mar 21, 2010 6:05 pm
Are you a spam bot?: No

Re: Linux Opensuse Build Make Error

Post by MartinPRowe »

Hi,

May I tag on to the end of this thread, please?

I have been using MMEX 0.9 on openSuSE for the last 7 years! I have now been forced to upgrade my OS to openSuSE 42.2.
Now I'm really stuck, I just can't get MMEX installed. I would be most grateful id someone would "take my hand" - metaphorically speaking, and  issue me with step-by-step instructions to compile MMEX on my system Better still, point me to a pre-built RPM for openSuSE 42.2.

Best regards, Martin
Geoplace
New User
Posts: 11
Joined: Sat Aug 08, 2015 2:25 pm
Are you a spam bot?: No

Re: Linux Opensuse Build Make Error

Post by Geoplace »

Hi,

May I tag on to the end of this thread, please?

I have been using MMEX 0.9 on openSuSE for the last 7 years! I have now been forced to upgrade my OS to openSuSE 42.2.
Now I'm really stuck, I just can't get MMEX installed. I would be most grateful id someone would "take my hand" - metaphorically speaking, and  issue me with step-by-step instructions to compile MMEX on my system Better still, point me to a pre-built RPM for openSuSE 42.2.

Best regards, Martin
I'm at the same trouble, I can't install / compile in OpenSuse 42.1
Nikolay
Developer
Posts: 1535
Joined: Sat Dec 06, 2008 2:27 pm
Are you a spam bot?: No
Location: Sankt-Petersburg, Russia

Re: Linux Opensuse Build Make Error

Post by Nikolay »

Try this

Code: Select all

#!/bin/bash
cd ~
# Install dependencies
yum groupinstall "Development Tools" -y
yum install python-devel libcanberra-devel PackageKit-gtk3-module -y
# Intall EPEL so you can get few other dependencies
yum install epel-release -y
yum install webkitgtk-devel bakefile -y
# Disable Selinux
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config
setenforce 0
# Download, compile and load wxWidgets
wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.tar.bz2
tar xf wxWidgets-3.1.0.tar.bz2
cd wxWidgets-3.1.0
./configure --disable-debug --enable-monolithic
make && make install
echo '/usr/local/lib' > /etc/ld.so.conf.d/wxWidgets.conf
ldconfig
cd ~
# Download compile and install mmex
git clone https://github.com/moneymanagerex/moneymanagerex
cd moneymanagerex
git submodule update --init
mkdir compile
./bootstrap.sh
cd compile
../configure
make && make install
MartinPRowe
New User
Posts: 3
Joined: Sun Mar 21, 2010 6:05 pm
Are you a spam bot?: No

Re: Linux Opensuse Build Make Error

Post by MartinPRowe »

Thank you Nikolay,

Unfortunately "yum" is not a native SuSE command. And I, for one, do not have the skills to translate into Zypper commands.
If you could be a bit more explicit , we would love to get this installed.
For example, what is

Code: Select all

yum groupinstall "Development Tools" -y
Best regards, Martin
Nikolay
Developer
Posts: 1535
Joined: Sat Dec 06, 2008 2:27 pm
Are you a spam bot?: No
Location: Sankt-Petersburg, Russia

Re: Linux Opensuse Build Make Error

Post by Nikolay »

Geoplace
New User
Posts: 11
Joined: Sat Aug 08, 2015 2:25 pm
Are you a spam bot?: No

Re: Linux Opensuse Build Make Error

Post by Geoplace »

Here are command line equivalents for different linux distributions:

https://news.opensuse.org/2013/03/22/op ... os/#fedora

And here is the documentation to use the zypper (package managment from the command line)

https://en.opensuse.org/SDB:Zypper_usage

Later I would try to find the equivalencies for install/ compile mmex

Regards.
wadrian
New User
Posts: 2
Joined: Sat Apr 15, 2017 1:19 pm
Are you a spam bot?: No

Re: Linux Opensuse Build Make Error

Post by wadrian »

I modified the fedora-script  to compile for my own on opensuse 42.2:

#!/bin/bashcd ~# Install dependencieszypper install -t pattern devel_C_C++zypper install python-devel libcanberra-devel PackageKit-gtk3-modulezypper install libwebkitgtk-develzypper install wxWidgets-3_0-develzypper install wxsqlite3-develzypper install sqlite3-develzypper ar -f http://download.opensuse.org/distributi ... /repo/oss/ bakefilerepozypper install bakefilezypper rr bakefilerepomkdir /usr/local/share/aclocal# Download compile and install mmexgit clone https://github.com/moneymanagerex/moneymanagerexcd moneymanagerexgit submodule update --initmkdir compile./bootstrap.shcd compile../configuremake && make install


Hope that helps others.
(and yes I know that using bakefile from an older repo is a dirty hack. But I cant found a newer one)

Adrian
wadrian
New User
Posts: 2
Joined: Sat Apr 15, 2017 1:19 pm
Are you a spam bot?: No

Re: Linux Opensuse Build Make Error

Post by wadrian »

I modified the fedora script for my own to compile on Opensuse 42.2:

zypper install python-devel libcanberra-devel PackageKit-gtk3-module
zypper install libwebkitgtk-devel
zypper install wxWidgets-3_0-devel
zypper install wxsqlite3-devel
zypper install sqlite3-devel
zypper ar -f http://download.opensuse.org/distributi ... /repo/oss/ bakefilerepo
zypper install bakefile
zypper rr bakefilerepo
mkdir /usr/local/share/aclocal
# Download compile and install mmex
git clone https://github.com/moneymanagerex/moneymanagerex
cd moneymanagerex
git submodule update --init
mkdir compile
./bootstrap.sh
cd compile
../configure
make && make install      

I know that using bakefile from older repo is a dirty hack, but cant found newer repo. Its a quick and dirty hack
Hope that help others

Adrian
mprowe
New User
Posts: 1
Joined: Sun Dec 24, 2017 7:35 pm
Are you a spam bot?: No

Re: Linux Opensuse Build Make Error

Post by mprowe »

Hi Adrian,

I hope that you are still around?

As I said at the head of this thread, I have been trying to build an up-to-date version (I'm still on 0.9.9) for a very long time.
I was greatly encouraged when I came across your instructions on how to build MMEX for SuSE. It looked as if it might work...

I know, its not your problem, but have you any suggestions on where I can get the file "bootstrap.sh"?
Your instructions "./bootstrap.sh" (aprox Line 15) is reporting "file not found". And sure enough, it is not in the download from https://github.com/moneymanagerex/moneymanagerex!

I guess that it must have been there when you where working on this, earlier in the year. But its not there now. How does that happen?

Looking forward to hearing from you. And if Nikola is hanging about these forums, could he please take a moment to repair the repository!

Regards, Martin
Nikolay
Developer
Posts: 1535
Joined: Sat Dec 06, 2008 2:27 pm
Are you a spam bot?: No
Location: Sankt-Petersburg, Russia

Re: Linux Opensuse Build Make Error

Post by Nikolay »

pete
New User
Posts: 2
Joined: Fri Jul 27, 2018 10:52 am
Are you a spam bot?: No

Re: Linux Opensuse Build Make Error

Post by pete »

I built from source. wxWidgets did not work from rep gave an error when running the binary so I built that from source also then fixed up the CMakeList.txt file to pull in wxWidgets. Build of mmex did not go well because mmex uses _wxArraywxArrayPtrVoid in option.cpp: int ReportCompare() so I commented that bit out just to get the application built... wow what a pain!

Error when running with repo version of wxWidgets was:
The library used 3.1.0 (wchar_t,compiler with C++ ABI 1011,wx containers,compatible with 3.0), and your program used 3.1.0 (wchar_t,compiler with C++ ABI 1002,wx containers,compatible with 3.0).

Here are my mods:
wxWidget - build with configure not cmake because cmake does not build correctly - dont forget to install both webkitgtk-3.0 libwebkitgtk-dev from repo.
wxWidget compiler config required are obtained by running bin/wx-config --cppflags

mmex CMakeLists.txt added wxWidget macros (I install stuff to /opt/local)
#FIND_PACKAGE(wxWidgets REQUIRED
# core qa net html xml aui adv stc webview base REQUIRED)
set(wxWidgets_ROOT_DIR "/opt/local")
set(wxWidgets_LIB_DIR "/opt/local/lib")
set(wxWidgets_INCLUDE_DIRS "/opt/local/include/wx-3.1;/opt/local/lib/wx/include/gtk2-unicode-3.1")
set(wxWidgets_VERSION_STRING "3.1.2")
set(wxWidgets_LIBRARIES "-L/opt/local/lib;-lwx_gtk2u_core-3.1;-lwx_gtk2u_qa-3.1;-lwx_baseu_net-3.1;-lwx_gtk2u_html-3.1;-lwx_baseu_xml-3.1;-lwx_gtk2u_aui-3.1;-lwx_gtk2u_adv-3.1;-lwx_gtk2u_stc-3.1;-lwx_gtk2u_webview-3.1;-lwx_baseu-3.1;-pthread")
set(wxWidgets_CXX_FLAGS "-D_FILE_OFFSET_BITS=64;-DWXUSINGDLL;-D__WXGTK__")

Oh yes and I also built from source rapidjson
# --------- rapidjson dependency ---------
INCLUDE_DIRECTORIES("/opt/local/include")

Once the build is going ... fix up anything that does not build by commenting it out! ie src/option.cpp comment out ReportCompare and its use in Option::Option()
pete
New User
Posts: 2
Joined: Fri Jul 27, 2018 10:52 am
Are you a spam bot?: No

Re: Linux Opensuse Build Make Error

Post by pete »

I built from source. wxWidgets did not work from rep gave an error when running the binary so I built that from source also then fixed up the CMakeList.txt file to pull in wxWidgets. Build of mmex did not go well because mmex uses _wxArraywxArrayPtrVoid in option.cpp: int ReportCompare() so I commented that bit out just to get the application built... wow what a pain!

Error when running with repo version of wxWidgets was:
The library used 3.1.0 (wchar_t,compiler with C++ ABI 1011,wx containers,compatible with 3.0), and your program used 3.1.0 (wchar_t,compiler with C++ ABI 1002,wx containers,compatible with 3.0).

Here are my mods:
wxWidget - build with configure not cmake because cmake does not build correctly - dont forget to install both webkitgtk-3.0 libwebkitgtk-dev from repo.
wxWidget compiler config required are obtained by running bin/wx-config --cppflags

mmex CMakeLists.txt added wxWidget macros (I install stuff to /opt/local)
#FIND_PACKAGE(wxWidgets REQUIRED
# core qa net html xml aui adv stc webview base REQUIRED)
set(wxWidgets_ROOT_DIR "/opt/local")
set(wxWidgets_LIB_DIR "/opt/local/lib")
set(wxWidgets_INCLUDE_DIRS "/opt/local/include/wx-3.1;/opt/local/lib/wx/include/gtk2-unicode-3.1")
set(wxWidgets_VERSION_STRING "3.1.2")
set(wxWidgets_LIBRARIES "-L/opt/local/lib;-lwx_gtk2u_core-3.1;-lwx_gtk2u_qa-3.1;-lwx_baseu_net-3.1;-lwx_gtk2u_html-3.1;-lwx_baseu_xml-3.1;-lwx_gtk2u_aui-3.1;-lwx_gtk2u_adv-3.1;-lwx_gtk2u_stc-3.1;-lwx_gtk2u_webview-3.1;-lwx_baseu-3.1;-pthread")
set(wxWidgets_CXX_FLAGS "-D_FILE_OFFSET_BITS=64;-DWXUSINGDLL;-D__WXGTK__")

Oh yes and I also built from source rapidjson
# --------- rapidjson dependency ---------
INCLUDE_DIRECTORIES("/opt/local/include")

Once the build is going ... fix up anything that does not build by commenting it out! ie src/option.cpp comment out ReportCompare and its use in Option::Option()
Post Reply