Building Gktmm 3.91 from source using gcc 7

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Building Gktmm 3.91 from source using gcc 7

Janakiraman Kannan
Hi,

I want to add Gtkmm3.9 as a third party dependency for one of my project and I try to compile from the source. I'm not familiar with autoconf or automake toolset.

Going through the documentation https://developer.gnome.org/anjuta-build-tutorial/stable/create-autotools.html.en I've found that you can autogen.sh to generate configure file. But the project is not able to configure and hence cannot generate any make files too.


Gtkmm/gtkmm-3.91.2$ sh autogen.sh 
autogen.sh: 5: autogen.sh: mm-common-prepare: not found
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force --warnings=all -I build 
${ACLOCAL_FLAGS}
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build'.
libtoolize: copying file 'build/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'build'.
libtoolize: copying file 'build/libtool.m4'
libtoolize: copying file 'build/ltoptions.m4'
libtoolize: copying file 'build/ltsugar.m4'
libtoolize: copying file 'build/ltversion.m4'
libtoolize: copying file 'build/lt~obsolete.m4'
autoreconf: running: /usr/bin/autoconf --force --warnings=all
autoreconf: running: /usr/bin/autoheader --force --warnings=all
autoreconf: running: automake --add-missing --copy --force-missing --
warnings=all
configure.ac:51: installing 'build/compile'
configure.ac:51: installing 'build/config.guess'
configure.ac:51: installing 'build/config.sub'
configure.ac:28: installing 'build/install-sh'
configure.ac:28: installing 'build/missing'
Makefile.am:26: error: ENABLE_DOCUMENTATION does not appear in 
AM_CONDITIONAL
automake: error: cannot open < build/dist-changelog.am: No such file  or directory
autoreconf: automake failed with exit status: 1
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... yes
./configure: line 3211: syntax error near unexpected token `0.9.10'
./configure: line 3211: `MM_PREREQ(0.9.10)'
OS : Ubuntu 16.04 LTS
Compiler : Gcc7.2


I want to use C++17 and it seems modern C++ is supported after Gtkmm 3.81 as a parallel build to already existing Gtk3. I cannot find any ubuntu prebuilt packages for Gtkmm3.81.

  • Does the Gtkmm3.9 repository contains all the dependencies within its repository or has to be built and installed in advance?
  • Can that be used with C++17 (I use gcc7.2 compiler)? I cannot compile any programs with old Gtkmm3.0 with C++17 as there are some removed functions in the header.

I intend to use the library with C++17. More interested in the building the library ourselves.Any build instructions would be very helpful too. Thank you for taking time to read the mail.

Regards

Johny




_______________________________________________
gtkmm-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtkmm-list
Reply | Threaded
Open this post in threaded view
|

Re: Building Gktmm 3.91 from source using gcc 7

Kjell Ahlstedt-2
Den 2018-02-23 kl. 22:13, skrev Janakiraman Kannan:

I want to use C++17 and it seems modern C++ is supported after Gtkmm 3.81 as a parallel build to already existing Gtk3. I cannot find any ubuntu prebuilt packages for Gtkmm3.81.

  • Does the Gtkmm3.9 repository contains all the dependencies within its repository or has to be built and installed in advance?
  • Can that be used with C++17 (I use gcc7.2 compiler)? I cannot compile any programs with old Gtkmm3.0 with C++17 as there are some removed functions in the header.

I intend to use the library with C++17. More interested in the building the library ourselves.Any build instructions would be very helpful too. Thank you for taking time to read the mail.

Regards

Johny


The source code of gtkmm does not contain the modules that it depends on. These must be built and installed before gtkmm can be built. I would guess that you get the error messages during configuration because you have not installed mm-common. Gtkmm depends on many modules: mm-common, libsigc++, glib, glibmm, atk, atkmm, cairo, cairomm, pango, pangomm, gtk+ (I don't guarantee that the list is complete.).

I don't know if anyone has tried to build gtkmm 3.9 with C++17. It ought to work. If it does not, we would be glad to know, so we can fix it.

Kjell

_______________________________________________
gtkmm-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtkmm-list
Reply | Threaded
Open this post in threaded view
|

Re: Building Gktmm 3.91 from source using gcc 7

Kjell Ahlstedt-2
Den 2018-02-27 kl. 16:50, skrev Kjell Ahlstedt:
Den 2018-02-23 kl. 22:13, skrev Janakiraman Kannan:

I want to use C++17 and it seems modern C++ is supported after Gtkmm 3.81 as a parallel build to already existing Gtk3. I cannot find any ubuntu prebuilt packages for Gtkmm3.81.

  • Does the Gtkmm3.9 repository contains all the dependencies within its repository or has to be built and installed in advance?
  • Can that be used with C++17 (I use gcc7.2 compiler)? I cannot compile any programs with old Gtkmm3.0 with C++17 as there are some removed functions in the header.

I intend to use the library with C++17. More interested in the building the library ourselves.Any build instructions would be very helpful too. Thank you for taking time to read the mail.

Regards

Johny


The source code of gtkmm does not contain the modules that it depends on. These must be built and installed before gtkmm can be built. I would guess that you get the error messages during configuration because you have not installed mm-common. Gtkmm depends on many modules: mm-common, libsigc++, glib, glibmm, atk, atkmm, cairo, cairomm, pango, pangomm, gtk+ (I don't guarantee that the list is complete.).

I don't know if anyone has tried to build gtkmm 3.9 with C++17. It ought to work. If it does not, we would be glad to know, so we can fix it.

Kjell
BTW, if you build from a tarball (i.e. not from the git repository) you can skip autogen.sh, and start with "./configure <arguments>". Then you don't need mm-common.
When you build one of the highly unstable gtkmm 3.9x.y versions, it's important that you have a compatible version of gtk+.

Kjell


_______________________________________________
gtkmm-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtkmm-list
Reply | Threaded
Open this post in threaded view
|

Re: Building Gktmm 3.91 from source using gcc 7

Janakiraman Kannan
Hi Kjell Ahlstedt,

Thank you for your mail. It seems the issue was rather with the version of GTkmm that I used. Gtkmm 3.18 ( which comes default with ubuntu 16.04 LTS) failed to link with C++17 projects due to some deprecated stuffs. I'm currently using 3.22 version and that does not have any problem with C++17. I can continue with this in linux as for now. Once again thank you for your response.

Regards
Johny


On Tue, Feb 27, 2018 at 10:59 AM, Kjell Ahlstedt <[hidden email]> wrote:
Den 2018-02-27 kl. 16:50, skrev Kjell Ahlstedt:
Den 2018-02-23 kl. 22:13, skrev Janakiraman Kannan:

I want to use C++17 and it seems modern C++ is supported after Gtkmm 3.81 as a parallel build to already existing Gtk3. I cannot find any ubuntu prebuilt packages for Gtkmm3.81.

  • Does the Gtkmm3.9 repository contains all the dependencies within its repository or has to be built and installed in advance?
  • Can that be used with C++17 (I use gcc7.2 compiler)? I cannot compile any programs with old Gtkmm3.0 with C++17 as there are some removed functions in the header.

I intend to use the library with C++17. More interested in the building the library ourselves.Any build instructions would be very helpful too. Thank you for taking time to read the mail.

Regards

Johny


The source code of gtkmm does not contain the modules that it depends on. These must be built and installed before gtkmm can be built. I would guess that you get the error messages during configuration because you have not installed mm-common. Gtkmm depends on many modules: mm-common, libsigc++, glib, glibmm, atk, atkmm, cairo, cairomm, pango, pangomm, gtk+ (I don't guarantee that the list is complete.).

I don't know if anyone has tried to build gtkmm 3.9 with C++17. It ought to work. If it does not, we would be glad to know, so we can fix it.

Kjell
BTW, if you build from a tarball (i.e. not from the git repository) you can skip autogen.sh, and start with "./configure <arguments>". Then you don't need mm-common.
When you build one of the highly unstable gtkmm 3.9x.y versions, it's important that you have a compatible version of gtk+.

Kjell



_______________________________________________
gtkmm-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtkmm-list