Recent

Author Topic: Cross compiling problems from 64 to 32  (Read 916 times)

TCH

  • Full Member
  • ***
  • Posts: 115
Cross compiling problems from 64 to 32
« on: February 02, 2019, 01:39:29 pm »
I'm trying to cross compile an app and i get these messages back:

Quote
//usr/lib/i386-linux-gnu/libgtk-x11-2.0.a(gtkmain.o):(.bss+0x0): multiple definition of `gtk_debug_flags'
/usr/lib/fpc/3.0.4/units/i386-linux/gtk2/gtk2.o:(.bss.n_gtk_debug_flags+0x0): first defined here
/usr/bin/ld: //usr/lib/i386-linux-gnu/libgtk-x11-2.0.a(gtkfilesystem.o): undefined reference to symbol 'g_drive_is_media_check_automatic'
//usr/lib/i386-linux-gnu/libgio-2.0.so.0: error adding symbols: DSO missing from command line

I've already read this article (http://wiki.freepascal.org/Cross_compiling) and google did not helped.

Any ideas?

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 6928
Re: Cross compiling problems from 64 to 32
« Reply #1 on: February 02, 2019, 03:18:01 pm »
This sounds like something how gtk libraries are related too eachother, not the FPC parts.

Handoko

  • Hero Member
  • *****
  • Posts: 2989
  • My goal: build my own game engine using Lazarus
Re: Cross compiling problems from 64 to 32
« Reply #2 on: February 02, 2019, 03:31:02 pm »
I checked my Ubuntu (using Synaptic Package Manager), it has libgtk2.0-dev installed.

@TCH
Does your system have libgtk2.0-dev properly installed?

Lainz

  • Hero Member
  • *****
  • Posts: 3036
Re: Cross compiling problems from 64 to 32
« Reply #3 on: February 02, 2019, 07:33:37 pm »
I don't recommend you to cross compile from 64 to 32, in one of the applications I'm working that messed up the float variables in a DBGrid causing problems with a SQLite database, basically all float values get corrupted.

Or do that cross compiling, with care.

TCH

  • Full Member
  • ***
  • Posts: 115
Re: Cross compiling problems from 64 to 32
« Reply #4 on: February 03, 2019, 11:47:27 am »
I checked my Ubuntu (using Synaptic Package Manager), it has libgtk2.0-dev installed.

@TCH
Does your system have libgtk2.0-dev properly installed?
Yes, but since libgtk2.0-dev alone is not enough, i had to install libgtk2.0-dev:i386, but due the Debian team's brainless package organizing, it collides with libgtk2.0-dev, so i had to install the i386 version by hand; extracting and copying.  (The header files are the same (hence the collosion), but some different binaries are also inside the packages, and Debian team did not take the effort to separate the header files from them. And since lazarus-project itself depends on libgtk2.0-dev, i cannot remove it to install libgtk2.0-dev:i386.)