Recent

Author Topic: after successful cross compilation  (Read 2455 times)

M+AUDIO

  • New Member
  • *
  • Posts: 48
after successful cross compilation
« on: October 18, 2017, 06:50:40 pm »
Hi,
Until a few days ago, I was doing my compilations this way:
three installations of laz+fpc both trunk at same revisions, one in windows 7 64bit (main OS), one in Xubuntu x86_64 (virtualbox) and the other in Xubuntu i386 (virtualbox).
that worked without any problem.
But a few days ago I've checked fpcupdeluxe on my Xubuntu x86_64 for cross compilation concept. and installed a laz+fpc trunk plus cross compilers for win32, darwin and linux i386.
configured one of my basic project's build modes and cross compiled it for win32 i386, darwin i386 carbon and linux i386 gtk2 targets.
then tested my new win32 i386 and linux i386 binaries in their respective OSes.
and surprised that there was no problem. and they where working.

then I said, before drawing any conclusion and distribution of these binaries, I would rather ask here:

1) Am I safe to assume these binaries are OK to provide to others? (linking problems or any other cross-compilation problems which shows itself in user systems?)
2) Any difference between them and my older normally compiled binaries?

Trenatos

  • Hero Member
  • *****
  • Posts: 535
    • MarcusFernstrom.com
Re: after successful cross compilation
« Reply #1 on: October 18, 2017, 07:04:21 pm »
I use fpcupdeluxe to install cross compilers on my Mac.

I develop apps on it, then crosscompile, then test on the real OS's (Windows, Linux).

If you want to be truly sure you can do a full QA/QC test.

But to me, if the compile is fine, and it runs fine on the OS, and as I click around things don't seem broken, that's good enough for me to trust that it works properly.

Beyond that, I ask users to report any issues along with screenshots.

cpicanco

  • Hero Member
  • *****
  • Posts: 618
  • Behavioral Scientist and Programmer
    • Portfolio
Re: after successful cross compilation
« Reply #2 on: October 18, 2017, 07:26:36 pm »
I am doing from Linux to Windows, and I have found some differences while drawing stuff.

Edit.:

But those differences where not related to cross compilation, but to a bad multi platform design.
« Last Edit: October 18, 2017, 07:29:29 pm by cpicanco »
Be mindful and excellent with each other.
https://github.com/cpicanco/

cpicanco

  • Hero Member
  • *****
  • Posts: 618
  • Behavioral Scientist and Programmer
    • Portfolio
Be mindful and excellent with each other.
https://github.com/cpicanco/

M+AUDIO

  • New Member
  • *
  • Posts: 48
Re: after successful cross compilation
« Reply #4 on: October 19, 2017, 09:42:30 am »
Thank you both.

Have tested crossed linux i386 binary against it's normally compiled one. there is ~100 KB difference in size, but that's it. I see no other difference in functionality of the program. additionally run a ldd command on both of them and they are using the same libraries (only values inside (0x...) differs)

so there is nothing more for me to be worried about, I think.
Code: [Select]
normal binary
        linux-gate.so.1 =>  (0xb77ea000)
        libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb77c4000)
        libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb77a7000)
        libgdk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 (0xb76e6000)
        libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb759b000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 (0xb7572000)
        libgtk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 (0xb707c000)
        libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xb701d000)
        libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xb6ef3000)
        libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 (0xb6ef0000)
        libgmodule-2.0.so.0 => /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 (0xb6eeb000)
        libpango-1.0.so.0 => /usr/lib/i386-linux-gnu/libpango-1.0.so.0 (0xb6e9a000)
        libcairo.so.2 => /usr/lib/i386-linux-gnu/libcairo.so.2 (0xb6d59000)
        libatk-1.0.so.0 => /usr/lib/i386-linux-gnu/libatk-1.0.so.0 (0xb6d31000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6b7b000)
        /lib/ld-linux.so.2 (0x800ae000)
        libpangocairo-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0 (0xb6b6d000)
        libgio-2.0.so.0 => /usr/lib/i386-linux-gnu/libgio-2.0.so.0 (0xb69a4000)
        libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xb695b000)
        libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xb694e000)
        libXinerama.so.1 => /usr/lib/i386-linux-gnu/libXinerama.so.1 (0xb694a000)
        libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xb6937000)
        libXrandr.so.2 => /usr/lib/i386-linux-gnu/libXrandr.so.2 (0xb692a000)
        libXcursor.so.1 => /usr/lib/i386-linux-gnu/libXcursor.so.1 (0xb691f000)
        libXcomposite.so.1 => /usr/lib/i386-linux-gnu/libXcomposite.so.1 (0xb691a000)
        libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xb6916000)
        libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xb690f000)
        libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb68fa000)
        libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb68a5000)
        libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb687e000)
        libpangoft2-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangoft2-1.0.so.0 (0xb6866000)
        libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xb685d000)
        libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb67e8000)
        libthai.so.0 => /usr/lib/i386-linux-gnu/libthai.so.0 (0xb67dd000)
        libpixman-1.so.0 => /usr/lib/i386-linux-gnu/libpixman-1.so.0 (0xb672c000)
        libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb667c000)
        libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xb6651000)
        libxcb-shm.so.0 => /usr/lib/i386-linux-gnu/libxcb-shm.so.0 (0xb664d000)
        libxcb-render.so.0 => /usr/lib/i386-linux-gnu/libxcb-render.so.0 (0xb6642000)
        libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb6626000)
        librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb661d000)
        libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xb65f7000)
        libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xb65de000)
        libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xb65b4000)
        libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb65af000)
        libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb65a8000)
        libharfbuzz.so.0 => /usr/lib/i386-linux-gnu/libharfbuzz.so.0 (0xb6544000)
        libdatrie.so.1 => /usr/lib/i386-linux-gnu/libdatrie.so.1 (0xb653a000)
        libgraphite2.so.3 => /usr/lib/i386-linux-gnu/libgraphite2.so.3 (0xb6511000)


Code: [Select]
crossed binary
        linux-gate.so.1 =>  (0xb77f8000)
        libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb77d3000)
        libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb77b6000)
        libgdk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 (0xb76f5000)
        libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb75aa000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 (0xb7581000)
        libgtk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 (0xb708b000)
        libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xb702c000)
        libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xb6f02000)
        libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 (0xb6eff000)
        libgmodule-2.0.so.0 => /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 (0xb6efa000)
        libpango-1.0.so.0 => /usr/lib/i386-linux-gnu/libpango-1.0.so.0 (0xb6ea9000)
        libcairo.so.2 => /usr/lib/i386-linux-gnu/libcairo.so.2 (0xb6d68000)
        libatk-1.0.so.0 => /usr/lib/i386-linux-gnu/libatk-1.0.so.0 (0xb6d40000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6b8a000)
        /lib/ld-linux.so.2 (0x800ab000)
        libpangocairo-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0 (0xb6b7c000)
        libgio-2.0.so.0 => /usr/lib/i386-linux-gnu/libgio-2.0.so.0 (0xb69b3000)
        libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xb696a000)
        libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xb695d000)
        libXinerama.so.1 => /usr/lib/i386-linux-gnu/libXinerama.so.1 (0xb6959000)
        libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xb6946000)
        libXrandr.so.2 => /usr/lib/i386-linux-gnu/libXrandr.so.2 (0xb6939000)
        libXcursor.so.1 => /usr/lib/i386-linux-gnu/libXcursor.so.1 (0xb692e000)
        libXcomposite.so.1 => /usr/lib/i386-linux-gnu/libXcomposite.so.1 (0xb6929000)
        libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xb6925000)
        libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xb691e000)
        libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb6909000)
        libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb68b4000)
        libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb688d000)
        libpangoft2-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangoft2-1.0.so.0 (0xb6875000)
        libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xb686c000)
        libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb67f7000)
        libthai.so.0 => /usr/lib/i386-linux-gnu/libthai.so.0 (0xb67ec000)
        libpixman-1.so.0 => /usr/lib/i386-linux-gnu/libpixman-1.so.0 (0xb673b000)
        libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb668b000)
        libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xb6660000)
        libxcb-shm.so.0 => /usr/lib/i386-linux-gnu/libxcb-shm.so.0 (0xb665c000)
        libxcb-render.so.0 => /usr/lib/i386-linux-gnu/libxcb-render.so.0 (0xb6651000)
        libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb6635000)
        librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb662c000)
        libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xb6606000)
        libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xb65ed000)
        libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xb65c3000)
        libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb65be000)
        libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb65b7000)
        libharfbuzz.so.0 => /usr/lib/i386-linux-gnu/libharfbuzz.so.0 (0xb6553000)
        libdatrie.so.1 => /usr/lib/i386-linux-gnu/libdatrie.so.1 (0xb6549000)
        libgraphite2.so.3 => /usr/lib/i386-linux-gnu/libgraphite2.so.3 (0xb6520000)



 

TinyPortal © 2005-2018