New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #33152 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

ppl: flexible array member 'vec_' of non-POD element type 'Coefficient []'

Reported by: gvibe06@… Owned by: adfernandes@…
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: clang Cc: and.damore@…
Port: ppl

Description

Says it can't find something that is clearly there...ppl is needed to build gcc46.

#	source='fpu-ia32.cc' object='fpu-ia32.lo' libtool=yes 
/bin/sh ../libtool  --tag=CXX   --mode=compile /Developer/usr/bin/clang++ -DHAVE_CONFIG_H -I. -I..  -I.. -I../src  -I/opt/local/include  -g -O2 -frounding-math -pipe -O2 -arch i386 -W -Wall -c -o fpu-ia32.lo fpu-ia32.cc
libtool: compile:  /Developer/usr/bin/clang++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -I/opt/local/include -g -O2 -frounding-math -pipe -O2 -arch i386 -W -Wall -c Float.cc  -fno-common -DPIC -o .libs/Float.o
clang: warning: argument unused during compilation: '-frounding-math'
libtool: compile:  /Developer/usr/bin/clang++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -I/opt/local/include -g -O2 -frounding-math -pipe -O2 -arch i386 -W -Wall -c fpu-ia32.cc  -fno-common -DPIC -o .libs/fpu-ia32.o
clang: warning: argument unused during compilation: '-frounding-math'
10 warnings and 1 error generated.
make[3]: *** [Box.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
libtool: compile:  /Developer/usr/bin/clang++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -I/opt/local/include -g -O2 -frounding-math -pipe -O2 -arch i386 -W -Wall -c fpu-ia32.cc -o fpu-ia32.o >/dev/null 2>&1
libtool: compile:  /Developer/usr/bin/clang++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -I/opt/local/include -g -O2 -frounding-math -pipe -O2 -arch i386 -W -Wall -c Float.cc -o Float.o >/dev/null 2>&1
make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_ppl/ppl/work/ppl-0.11.2-i386/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_ppl/ppl/work/ppl-0.11.2-i386/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_ppl/ppl/work/ppl-0.11.2-i386'
make: *** [all] Error 2
make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_ppl/ppl/work/ppl-0.11.2-i386'
shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_ppl/ppl/work/ppl-0.11.2-i386" && /usr/bin/make -j3 -w all " returned error 2
Error: Target org.macports.build returned: shell command failed (see log for details)
DEBUG: Backtrace: shell command failed (see log for details)
    while executing
"$procedure $targetname"
Warning: the following items did not execute (for ppl): org.macports.activate org.macports.build org.macports.destroot org.macports.install
Error: Failed to install ppl
'''DEBUG: could not read "/opt/local/share/examples/glpk/zebra.mod"''': no such file or directory
    while executing
"file type $file"
Log for ppl is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_ppl/ppl/main.log
Error: The following dependencies were not installed: ppl
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

Here is the zebra.mod that it claims doesn't exist:

root /opt/local # ll /opt/local/share/examples/glpk/zebra.mod                                                                                            
-rw-r--r--  1 root  admin   5.1K Feb  5 18:15 /opt/local/share/examples/glpk/zebra.mod

Here is my PATH:

root /opt/local # echo $PATH
/opt/local/bin:/opt/local/sbin:/opt/X11/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/android/sdk
/platform-tools:/opt/android/sdk/tools:/var/root/bin

Xcode version:

root /opt/local # xcodebuild -version
Xcode 4.2.1
Build version 4D502

System Info (yes I am booted to 32 bit kernel):

root /opt/local # uname -a
Darwin media 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:48:32 PST
2012; root:xnu-1699.24.23~1/RELEASE_I386 i386

Attachments

main.log (330.3 KB) - added by gvibe06@… 2 years ago.
devel-ppl main.log debug file
crosscompile.patch (1.8 KB) - added by adfernandes@… 2 years ago.

Change History

Changed 2 years ago by gvibe06@…

devel-ppl main.log debug file

comment:1 Changed 2 years ago by ryandesign@…

  • Keywords clang added; ppl removed
  • Owner changed from macports-tickets@… to adfernandes@…
  • Port changed from ppl lion xcode 4.2.1 to ppl
  • Summary changed from ppl on Lion Xcode 4.2.1 not compiling to ppl: flexible array member 'vec_' of non-POD element type 'Coefficient []'

The first error in the log, which is the one we should be paying attention to, is:

:info:build ./Row.defs.hh:504:15: error: flexible array member 'vec_' of non-POD element type 'Coefficient []'

Perhaps building with a different compiler would help.

comment:2 follow-up: ↓ 3 Changed 2 years ago by adfernandes@…

Hmm... I'll look into this. Clang does not support flexible array initializations, AFAIK... funny thing is that I recently upgraded to Lion and rebuilt all of my macports, and didn't see this error.

Like I said - I'll investigate.

comment:3 in reply to: ↑ 2 Changed 2 years ago by and.damore@…

Replying to adfernandes@…:

Hmm... I'll look into this. Clang does not support flexible array initializations, AFAIK... funny thing is that I recently upgraded to Lion and rebuilt all of my macports, and didn't see this error.

I confirm I can build ppl x86_64 on Lion using Xcode 4.2.1 without errors.

Compare main.log lines 166 and 626, during i386 configure phase the script says that flexible is supported.

The difference is in the two confdefs.h that are tested at configure +9176 for the two archs, when cross compiling there's

  A vec[]; 

rather than

  A vec;

comment:4 Changed 2 years ago by and.damore@…

  • Cc and.damore@… added

Cc Me!

comment:5 Changed 2 years ago by adfernandes@…

gvibe06, can you please test the attached patch? It adds the missing [] to the A vec; declaration that gets checked during a cross-compile as you are doing.

and.damore, thank you very much for that note, as I probably couldn't have figured it out without your insight.

Changed 2 years ago by adfernandes@…

comment:6 Changed 2 years ago by gvibe06@…

Nailed it. PPL successfully build against gcc44, I will try it again later against gcc46. But I think we can call it good, since before it would not build at all.

Thank-you!

comment:7 Changed 2 years ago by adfernandes@…

  • Status changed from new to closed
  • Resolution set to fixed

Thanks. r90119.

comment:8 Changed 2 years ago by jeremyhu@…

libpar2 is in the same boat, #31667

Note: See TracTickets for help on using tickets.