Opened 10 years ago

Closed 10 years ago

#46895 closed defect (fixed)

octave @3.8.2_5: build fails with +x11

Reported by: mndavidoff (Monte Davidoff) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc: michaelld (Michael Dickens)
Port: octave

Description

The octave +x11 variant fails to build.

$ sudo port -vs install octave +x11
...
/bin/sh ../libtool  --tag=CXX   --mode=compile /opt/local/bin/clang++-mp-3.4 -DHAVE_CONFIG_H -I. -I..  -I/opt/local/include -pipe -Os -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include/libpng16  -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include/libpng16 -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include/libpng16  -I../liboctave/cruft/misc -I../liboctave/array -I../liboctave/numeric -I../liboctave/numeric -I../liboctave/operators -I../liboctave/operators -I../liboctave/system -I../liboctave/util -I./octave-value -I./operators -Iparse-tree -I./parse-tree -Icorefcn -I./corefcn -I../libgnu -I../libgnu   -Wall -W -Wshadow -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -pipe -Os -arch x86_64 -stdlib=libc++ -D_THREAD_SAFE -pthread -c -o dldfcn/dldfcn___init_fltk___la-__init_fltk__.lo `test -f 'dldfcn/__init_fltk__.cc' || echo './'`dldfcn/__init_fltk__.cc
...
In file included from dldfcn/__init_fltk__.cc:69:
In file included from /opt/local/include/FL/fl_draw.H:27:
In file included from /opt/local/include/FL/x.H:43:
/opt/local/include/FL/mac.H:32:32: error: typedef redefinition with different types ('class FLWindow_opaque *' vs 'XID' (aka 'unsigned long'))
typedef class FLWindow_opaque *Window; // pointer to the FLWindow objective-c class
                               ^
/opt/local/include/X11/X.h:96:13: note: previous definition is here
typedef XID Window;
            ^
...

The build succeeds if I omit "+x11" (sudo port -vs install octave).

Attachments (1)

main.log.gz (125.2 KB) - added by mndavidoff (Monte Davidoff) 10 years ago.

Download all attachments as: .zip

Change History (5)

Changed 10 years ago by mndavidoff (Monte Davidoff)

Attachment: main.log.gz added

comment:1 Changed 10 years ago by michaelld (Michael Dickens)

Both FLTK and X11 define the default namespace type "Window"; this is why namespaces were invented! If either of them used a specific namespace (e.g., "fltk::Window"), we could do both +glgui and +x11 and have them not compete for resources. Ah well.

I can't imagine anyone wanting / needing both +x11 and +glgui, so I'm just making the variants conflict so that they cannot both be active. This issue should be fixed in r133035. Please do:

sudo port clean octave
sudo port selfupdate
sudo port install octave +x11

and see if that works. Please report back on this ticket either way.

comment:2 Changed 10 years ago by mndavidoff (Monte Davidoff)

That works! Thanks!

comment:3 Changed 10 years ago by michaelld (Michael Dickens)

Great; thanks for reporting back (really)! You're welcome.

comment:4 Changed 10 years ago by michaelld (Michael Dickens)

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