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 » Developing U++ » U++ Developers corner » [SOLVED][Question] Is anyone able to build UPP and Binaries based upon it as 32-Bit? (Linux, x86_64, x86, Binaries, GLIB2, Compiler, Error, GCC)
[SOLVED][Question] Is anyone able to build UPP and Binaries based upon it as 32-Bit? [message #57755] Thu, 09 December 2021 06:08
MeerMusik is currently offline  MeerMusik
Messages: 13
Registered: April 2021
Location: Germany, Lower Saxony, Ha...
Promising Member

Hello.

Is anyone able to build UPP and Apps based on UPP in X86 Mode on a X86_64 Linux Machine?

On Manjaro X86_64 I keep getting this Error:

/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")


Does the pkg-config provided by UPP something to prevent building X86 Libs? Another Place I should look for something hard-coded by UPP?

I also asked a similar Question about theIDE and UMK in another Section - which seems mostly to be visited by Google Bots these Days: https:// www.ultimatepp.org/forums/index.php?t=msg&th=11685&s tart=0&

System Info:
1. Manjaro KDE, X86_64
2. GCC 11.2 Multilib
3. All necessary Lib32-* Variants are installed
4. GCC Flags includes: -m32
5. Link Options includes: -Wl,-melf32_x86_64

Any other Ideas!?

Thank you very much in advance!
----
EDIT01:

Right, me being an complete Idiot (and not having used Manjaro == Linux for nearly a year), I forgot that I also need to overwrite the Makefile with the following options:
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

[Updated on: Thu, 09 December 2021 09:24]

Report message to a moderator

Previous Topic: Global Mouse
Next Topic: Know what you're using. Size of some common types.
Goto Forum:
  


Current Time: Thu Apr 25 14:35:03 CEST 2024

Total time taken to generate the page: 0.02639 seconds