Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ TheIDE » U++ TheIDE: Compiling, Linking, Debugging of your packages » [Question] Is compiling TheIDE as a 32-Bit Binary still supported? (Linux, 32-Bit, Status, X86)
[Question] Is compiling TheIDE as a 32-Bit Binary still supported? [message #57736] Sat, 04 December 2021 20:31 Go to next message
MeerMusik is currently offline  MeerMusik
Messages: 13
Registered: April 2021
Location: Germany, Lower Saxony, Ha...
Promising Member

Hello.

Is anyone(TM) still compiling "TheIDE" (when building from the Archive) AKA "IDE" (when building from Git Source) as a X86 Binary under any Operating System?

I am currently creating some Scripts to compile "theide" etc. from Git Source. Which works fine on Manjaro KDE X86_64.

When I try to compile it as a X86 Binary with "-m32", I run into an Assert with GCC 11.2 - but that is an old Bug which was never fully fixed.

Anyway, while trying to work-around this old Bug, I was wondering if building the UPP Tools in X86 mode is supported at all these days!? If not, I can stop wasting my time.

Thanks in advance!
Olli
Re: [Question] Is compiling TheIDE as a 32-Bit Binary still supported? [message #57753 is a reply to message #57736] Thu, 09 December 2021 00:08 Go to previous messageGo to next message
MeerMusik is currently offline  MeerMusik
Messages: 13
Registered: April 2021
Location: Germany, Lower Saxony, Ha...
Promising Member

Partial Answer from myself: It is at least with GCC 11.2 and older not possible to build the IDE and UMK as 32-Bit Binaries. You will always run into this "Must be 64-Bit" Check with GLIBC and get an Assert:

/usr/include/glib-2.0/glib/gtypes.h: In function 'gboolean _GLIB_CHECKED_ADD_U64(guint64*, guint64, guint64)':
/usr/include/glib-2.0/glib/gtypes.h:463:47: error: static assertion failed: Expression evaluates to false
  463 |   G_STATIC_ASSERT(sizeof (unsigned long long) == sizeof (guint64));
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gmacros.h:823:46: note: in definition of macro 'G_STATIC_ASSERT'
  823 | #define G_STATIC_ASSERT(expr) static_assert (expr, "Expression evaluates to false")


Seems like an regression but as I am only interested in building the Libraries themself in 64-Bit and 32-Bit mode, I am not submitting a Bug / Regression Report to whoever fault it is this time around.

And Yes, all necessary Libs are installed as Multilib or Lib32 Variants of course.
Re: [SOLVED][Question] Is compiling TheIDE as a 32-Bit Binary still supported? [message #57756 is a reply to message #57736] Thu, 09 December 2021 09:27 Go to previous message
MeerMusik is currently offline  MeerMusik
Messages: 13
Registered: April 2021
Location: Germany, Lower Saxony, Ha...
Promising Member

The Problem is solved by:

export PKG_CONFIG_PATH="/usr/lib32/pkgconfig/"
export LD_LIBRARY_PATH="/usr/lib32/"
export CPPFLAGS="-L/usr/lib32/"


And also add
-Wl,-melf_i386

to the CFLAGS and CXXFLAGS.

Which results in:
make -j$(nproc) V=1 -f Makefile CC="cc -m32" CXX="c++ -m32" CFLAGS="-O3 -ffunction-sections -fdata-sections -std=c2x -Wl,-melf_i386 -Wl,--gc-sections" CXXFLAGS="-O3 -ffunction-sections -fdata-sections -std=c++20 -Wl,--gc-sections -Wl,-melf_i386"


With that the IDE compiles fine. Will update the other Thread soon.

Sorry and have a nice Day Smile
Previous Topic: Error! GetThreadContext failed Access is denied (5)
Next Topic: Next/Previous Frame keyboard shortcuts
Goto Forum:
  


Current Time: Fri Apr 19 09:19:33 CEST 2024

Total time taken to generate the page: 0.03066 seconds