Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#33152 closed defect (fixed)

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

Reported by: hackdefendr (HackDefendr) Owned by: adfernandes (Andrew Fernandes)
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: clang Cc: anddam (Andrea D'Amore)
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 (2)

main.log (330.3 KB) - added by hackdefendr (HackDefendr) 12 years ago.
devel-ppl main.log debug file
crosscompile.patch (1.8 KB) - added by adfernandes (Andrew Fernandes) 12 years ago.

Download all attachments as: .zip

Change History (10)

Changed 12 years ago by hackdefendr (HackDefendr)

Attachment: main.log added

devel-ppl main.log debug file

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

Keywords: clang added; ppl removed
Owner: changed from macports-tickets@… to adfernandes@…
Port: lion xcode 4.2.1 removed
Summary: ppl on Lion Xcode 4.2.1 not compilingppl: 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 Changed 12 years ago by adfernandes (Andrew Fernandes)

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 12 years ago by anddam (Andrea D'Amore)

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 12 years ago by anddam (Andrea D'Amore)

Cc: and.damore@… added

Cc Me!

comment:5 Changed 12 years ago by adfernandes (Andrew Fernandes)

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 12 years ago by adfernandes (Andrew Fernandes)

Attachment: crosscompile.patch added

comment:6 Changed 12 years ago by hackdefendr (HackDefendr)

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 12 years ago by adfernandes (Andrew Fernandes)

Resolution: fixed
Status: newclosed

Thanks. r90119.

comment:8 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

libpar2 is in the same boat, #31667

Note: See TracTickets for help on using tickets.