Opened 7 years ago

Closed 6 years ago

#37845 closed defect (worksforme)

gcc48: multilib support

Reported by: barto@… Owned by: mww@…
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Cc: jeremyhu (Jeremy Huddleston Sequoia)
Port: gcc48

Description (last modified by ryandesign (Ryan Schmidt))

I'm trying to compile code that must interact with a 3rd party 32 bit library, and I can't link it because -m32 is not supported in the latest gcc48 compiler. http://www.spinics.net/lists/gcchelp/msg36767.html indicates that when compiling and the error about 128 bit support appears it is due to not enabling multilib. Checking the specs on gcc48 shows:

nomultidefs

and multilib is empty for all instances

*multilib:
. ;
*multilib_defaults:
*multilib_extra:
*multilib_matches:
*multilib_exclusions:
*multilib_options:
*multilib_reuse:

When linking for 32 bits I get the following error:

linking libmvpgemcomm32.so.7.0.0
ld: warning: ignoring file /opt/local/lib/gcc48/libstdc++.dylib, file was built for unsupported file format ( 0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 0x 0 0x 0 0x 6 0x 0 0x 0 0x 0 ) which is not the architecture being linked (i386): /opt/local/lib/gcc48/libstdc++.dylib

The code I'm using requires (now) the gcc std=c++11 code (mutex, condition_variable, futures, etc) so I can't use the older clang compiler. Any suggestions on getting 32 bit support built into gcc48 from macports?

Change History (4)

comment:1 Changed 7 years ago by ryandesign (Ryan Schmidt)

Description: modified (diff)
Keywords: gcc removed
Owner: changed from macports-tickets@… to mww@…
Port: gcc48 added
Summary: multilib support in gcc48gcc48: multilib support

comment:2 Changed 7 years ago by mf2k (Frank Schima)

Cc: jeremyhu@… added

comment:3 Changed 7 years ago by jmroot (Joshua Root)

Installing gcc with +universal will get you a multilib build (#22116). Cf. #37463, #30240.

comment:4 Changed 6 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: worksforme
Status: newclosed
Note: See TracTickets for help on using tickets.