Opened 3 years ago

Closed 2 years ago

#64611 closed defect (fixed)

libopus fail for ppc on 10.6.8: doxygen(29331) malloc: *** error for object 0xa00fd754

Reported by: barracuda156 Owned by: barracuda156
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: powerpc, snowleopard, rosetta Cc: ballapete (Peter "Pete" Dyballa)
Port: libopus

Description (last modified by barracuda156)

Initially configure fails:

configure: WARNING: Compiler does not support SSE intrinsics
configure: WARNING: Compiler does not support SSE2 intrinsics
configure: WARNING: Compiler does not support SSE4.1 intrinsics
configure: WARNING: Compiler does not support AVX intrinsics
checking How to get X86 CPU Info... configure: error: no supported Get CPU Info method, please disable run-time CPU capabilities detection or intrinsics
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_libopus/libopus/work/opus-1.3.1" && ./configure --prefix=/opt/local --disable-silent-rules 
Exit code: 1
Error: Failed to configure libopus: consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_libopus/libopus/work/opus-1.3.1/config.log
Error: Failed to configure libopus: configure failure: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_libopus/libopus/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a
bug.
Error: Processing of port libopus failed

Attachments (2)

config.log (48.4 KB) - added by barracuda156 3 years ago.
main.log (289.6 KB) - added by barracuda156 3 years ago.
After specifying powerpc the build starts but eventually fails:

Download all attachments as: .zip

Change History (18)

Changed 3 years ago by barracuda156

Attachment: config.log added

comment:1 Changed 3 years ago by barracuda156

So here it fails apparently because --build is wrongly detected as i368, and that error is described in port file:

platform i386 {
    # checking How to get X86 CPU Info... configure: error: no supported Get CPU Info method, please disable intrinsics
    compiler.blacklist *gcc-4.* {clang < 500}
}

However blacklisting compiler did not have effect, gcc-4.2 was used. After adding correct triple in port file, build proceeds but fails here:

make[3]: *** [doxygen-build.stamp] Bus error
make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_libopus/libopus/work/opus-1.3.1/doc'
make[2]: *** [all-local] Error 2
make[2]: *** Waiting for unfinished jobs....

Changed 3 years ago by barracuda156

Attachment: main.log added

After specifying powerpc the build starts but eventually fails:

comment:2 Changed 3 years ago by barracuda156

Finally, setting gcc7 does not help either:

make[3]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_libopus/libopus/work/opus-1.3.1/doc'
doxygen
doxygen(29331) malloc: *** error for object 0xa00fd754: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
doxygen(29331) malloc: *** error for object 0xa00fd7c4: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
make[3]: *** [doxygen-build.stamp] Bus error
make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_libopus/libopus/work/opus-1.3.1/doc'
make[2]: *** [all-local] Error 2
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_libopus/libopus/work/opus-1.3.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_libopus/libopus/work/opus-1.3.1'
make: *** [all] Error 2

It must build for ppc however, since I have it on 10.6 PPC:

libopus @1.3.1_0 (active)

comment:3 Changed 3 years ago by barracuda156

Description: modified (diff)
Summary: libopus fail for ppc on 10.6.8: configure: error: no supported Get CPU Info method, please disable run-time CPU capabilities detection or intrinsicslibopus fail for ppc on 10.6.8: doxygen(29331) malloc: *** error for object 0xa00fd754

comment:4 Changed 2 years ago by ballapete (Peter "Pete" Dyballa)

Cc: ballapete added

comment:5 Changed 2 years ago by ballapete (Peter "Pete" Dyballa)

I have a similar problem with

  doxygen @1.9.3_1 (active) requested_variants='' platform='darwin 9' archs='ppc' date='2022-01-06T16:05:01+0100'

when upgrading imlib2 to version 1.9.0:

Making all in doc
make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_imlib2/imlib2/work/imlib2-1.9.0/doc'
rm -rf html man
doxygen
doxygen(84607) malloc: *** error for object 0xa00463dc: Non-aligned pointer being freed
*** set a breakpoint in malloc_error_break to debug
doxygen(84607) malloc: *** error for object 0xa004636c: Non-aligned pointer being freed
*** set a breakpoint in malloc_error_break to debug
warning: Tag 'OUTPUT_TEXT_DIRECTION' at line 102 of file 'Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'CLANG_ASSISTED_PARSING' at line 1118 of file 'Doxyfile' belongs to an option that was not enabled at compile time.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u", or recompile doxygen with this feature enabled.
warning: Tag 'CLANG_ADD_INC_PATHS' at line 1124 of file 'Doxyfile' belongs to an option that was not enabled at compile time.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u", or recompile doxygen with this feature enabled.
warning: Tag 'CLANG_OPTIONS' at line 1132 of file 'Doxyfile' belongs to an option that was not enabled at compile time.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u", or recompile doxygen with this feature enabled.
warning: Tag 'CLANG_DATABASE_PATH' at line 1145 of file 'Doxyfile' belongs to an option that was not enabled at compile time.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u", or recompile doxygen with this feature enabled.
warning: Tag 'LATEX_SOURCE_CODE' at line 1910 of file 'Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'RTF_SOURCE_CODE' at line 2000 of file 'Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'DOCBOOK_PROGRAMLISTING' at line 2105 of file 'Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'CLASS_DIAGRAMS' at line 2292 of file 'Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Changing CLASS_GRAPH option to TEXT because obsolete option CLASS_DIAGRAM was found and set to NO.
make[2]: *** [html/index.html] Bus error
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_imlib2/imlib2/work/imlib2-1.9.0/doc'

The same malloc failure happens when I just invoke doxygen --help. PPC Mac OS X 10.5.8, Leopard.

comment:6 Changed 2 years ago by kencu (Ken)

This is the classic error we see with libgcc mismatch noted since we upgraded to libgcc 7.5

malloc: *** error for object 0xa00463dc: Non-aligned pointer being freed

there is a workaround in the legacysupport PG that usually works.

comment:7 in reply to:  6 ; Changed 2 years ago by ballapete (Peter "Pete" Dyballa)

Replying to kencu:

there is a workaround in the legacysupport PG that usually works.

When will doxygen's Portfile be upgraded?

comment:8 Changed 2 years ago by kencu (Ken)

Not the slightest idea.

comment:9 in reply to:  7 Changed 2 years ago by barracuda156

Replying to ballapete:

Replying to kencu:

there is a workaround in the legacysupport PG that usually works.

When will doxygen's Portfile be upgraded?

A general strategy for PPC now is disable Doxygen wherever possible and disable Vapigen likewise. They break everything.

comment:10 Changed 2 years ago by ballapete (Peter "Pete" Dyballa)

Can't we return to GCC 7.4? Since the new release does not work here…

comment:11 in reply to:  10 ; Changed 2 years ago by barracuda156

Replying to ballapete:

Can't we return to GCC 7.4? Since the new release does not work here…

Sorry, I don't really get what you suggest. Could you please elaborate?

comment:12 in reply to:  11 Changed 2 years ago by ballapete (Peter "Pete" Dyballa)

Replying to barracuda156:

Replying to ballapete:

Can't we return to GCC 7.4? Since the new release does not work here…

Sorry, I don't really get what you suggest. Could you please elaborate?

Ken mentioned that GCC 7.5 (or libgcc7?) is the culprit. Why can't old hard- and software live with old GCC ware?

comment:13 Changed 2 years ago by kencu (Ken)

I did hold my own systems back to gcc 7.4 for a few years because of this, until it became untenable.

A proper fix is being worked on upstream.

In the meantime, use the binwrapping feature in legacysupport to fix this (usually).

comment:14 Changed 2 years ago by barracuda156

The same failure persists even with gcc12:

doxygen(56945) malloc: *** error for object 0xa0f15754: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
doxygen(56945) malloc: *** error for object 0xa0f157c4: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
doxygen(56945) malloc: *** error for object 0x15542c0: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
doxygen(56945) malloc: *** error for object 0x1553928: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
doxygen(56945) malloc: *** error for object 0x1553890: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
doxygen(56945) malloc: *** error for object 0x15538dc: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
doxygen(56945) malloc: *** error for object 0x15537c8: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
doxygen(56945) malloc: *** error for object 0x15536a0: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
doxygen(56945) malloc: *** error for object 0x15535c0: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
doxygen(56945) malloc: *** error for object 0x1553630: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
doxygen(56945) malloc: *** error for object 0x15534f8: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
doxygen(56945) malloc: *** error for object 0x1554200: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
doxygen(56945) malloc: *** error for object 0x1554380: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
doxygen(56945) malloc: *** error for object 0x155438c: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
doxygen(56945) malloc: *** error for object 0x15543a8: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
libtool: compile:  /opt/local/bin/gcc-mp-12 -DHAVE_CONFIG_H -I. -I./include -I./celt -I./silk -I./silk/float -I./silk/fixed -I/opt/local/include -pipe -Os -arch ppc -fvisibility=hidden -D_FORTIFY_SOURCE=2 -W -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -MT celt/celt.lo -MD -MP -MF celt/.deps/celt.Tpo -c celt/celt.c  -fno-common -DPIC -o celt/.libs/celt.o
libtool: compile:  /opt/local/bin/gcc-mp-12 -DHAVE_CONFIG_H -I. -I./include -I./celt -I./silk -I./silk/float -I./silk/fixed -I/opt/local/include -pipe -Os -arch ppc -fvisibility=hidden -D_FORTIFY_SOURCE=2 -W -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -MT celt/celt_encoder.lo -MD -MP -MF celt/.deps/celt_encoder.Tpo -c celt/celt_encoder.c  -fno-common -DPIC -o celt/.libs/celt_encoder.o
libtool: compile:  /opt/local/bin/gcc-mp-12 -DHAVE_CONFIG_H -I. -I./include -I./celt -I./silk -I./silk/float -I./silk/fixed -I/opt/local/include -pipe -Os -arch ppc -fvisibility=hidden -D_FORTIFY_SOURCE=2 -W -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -MT celt/bands.lo -MD -MP -MF celt/.deps/bands.Tpo -c celt/bands.c  -fno-common -DPIC -o celt/.libs/bands.o
libtool: compile:  /opt/local/bin/gcc-mp-12 -DHAVE_CONFIG_H -I. -I./include -I./celt -I./silk -I./silk/float -I./silk/fixed -I/opt/local/include -pipe -Os -arch ppc -fvisibility=hidden -D_FORTIFY_SOURCE=2 -W -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -MT celt/cwrs.lo -MD -MP -MF celt/.deps/cwrs.Tpo -c celt/cwrs.c  -fno-common -DPIC -o celt/.libs/cwrs.o
libtool: compile:  /opt/local/bin/gcc-mp-12 -DHAVE_CONFIG_H -I. -I./include -I./celt -I./silk -I./silk/float -I./silk/fixed -I/opt/local/include -pipe -Os -arch ppc -fvisibility=hidden -D_FORTIFY_SOURCE=2 -W -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -MT celt/celt_decoder.lo -MD -MP -MF celt/.deps/celt_decoder.Tpo -c celt/celt_decoder.c  -fno-common -DPIC -o celt/.libs/celt_decoder.o
make[3]: *** [doxygen-build.stamp] Bus error
make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_libopus/libopus/work/opus-1.3.1/doc'
make[2]: *** [all-local] Error 2
make[2]: *** Waiting for unfinished jobs....

comment:15 Changed 2 years ago by barracuda156

This fixes the build on Rosetta: https://github.com/macports/macports-ports/pull/15578 (Until doxygen is fixed, disable docs.)

comment:16 Changed 2 years ago by barracuda156

Owner: set to barracuda156
Resolution: fixed
Status: newclosed

In b1f602390183b3a40aa3df9a02a76110f447efc0/macports-ports (master):

libopus: fix build on Rosetta
Fixes: #64611

Note: See TracTickets for help on using tickets.