Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#17568 closed defect (fixed)

inventor fails to build on 10.5.6

Reported by: cssdev Owned by: cssdev
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: Cc:
Port: inventor

Description

The inventor port fails to build on Max OS X Leopard 10.5.4, at least on my MacBook Pro. I encountered several errors:

First, bison seems much more strict, as I needed to apply a debian patch to SoCalcParse.y.

Next, I encountered more iconv fun:

SoText2.c++: In member function 'SbBool SoBitmapFontCache::convertToUCS(uint32_t, const SoMFString&)':
SoText2.c++:781: error: invalid conversion from 'const char**' to 'char**'
SoText2.c++:781: error:   initializing argument 2 of 'size_t libiconv(void*, char**, size_t*, char**, size_t*)'

This can be resolved by removing patches for both SoText2.c++ and SoText3.c++.

/usr/bin/g++         -I/usr/X11R6/include -I/opt/local/include -I. -I../../../lib/database/include -I../../../lib/interaction/include -I../../../lib/nodekits/include -I../../../libSoXt/include -dynamic -fPIC -fno-common -DIVPREFIX=\"/opt/local\"       -O -DNDEBUG   -c MyTextureEd.c++
MyTextureEd.c++:76:26: error: GL/GLwMDrawA.h: No such file or directory
MyTextureEd.c++: In member function '_WidgetRec* MyTextureEditor::buildTexturePaletteWidget(_WidgetRec*)':
MyTextureEd.c++:807: error: 'GLwNrgba' was not declared in this scope
MyTextureEd.c++:810: error: 'GLwNredSize' was not declared in this scope
MyTextureEd.c++:811: error: 'GLwNgreenSize' was not declared in this scope
MyTextureEd.c++:812: error: 'GLwNblueSize' was not declared in this scope
MyTextureEd.c++:814: error: 'glwMDrawingAreaWidgetClass' was not declared in this scope
MyTextureEd.c++:820: error: 'GLwNginitCallback' was not declared in this scope
MyTextureEd.c++:822: error: 'GLwNexposeCallback' was not declared in this scope
MyTextureEd.c++: In member function 'void MyTextureEditor::openImageDialog()':
MyTextureEd.c++:2452: error: 'GLwNrgba' was not declared in this scope
MyTextureEd.c++:2453: error: 'GLwNredSize' was not declared in this scope
MyTextureEd.c++:2454: error: 'GLwNgreenSize' was not declared in this scope
MyTextureEd.c++:2455: error: 'GLwNblueSize' was not declared in this scope
MyTextureEd.c++:2456: error: 'glwMDrawingAreaWidgetClass' was not declared in this scope
MyTextureEd.c++:2460: error: 'GLwNginitCallback' was not declared in this scope
MyTextureEd.c++:2462: error: 'GLwNexposeCallback' was not declared in this scope
MyTextureEd.c++: In static member function 'static void MyTextureEditor::glxInitCB(_WidgetRec*, MyTextureEditor*, void*)':
MyTextureEd.c++:2562: error: 'GLwNvisualInfo' was not declared in this scope
MyTextureEd.c++: In static member function 'static void MyTextureEditor::imageDialogInitCB(_WidgetRec*, MyTextureEditor*, void*)':
MyTextureEd.c++:2591: error: 'GLwNvisualInfo' was not declared in this scope
make[6]: *** [MyTextureEd.o] Error 1

Apparently the 10.5.2 update it removed the GLwMDrawA.h header. This page details some similar Leopard X11 issues getting XCode to reinstall GLw headers.

I'll update the ticket with additional findings as I move forward...

Change History (8)

comment:1 Changed 16 years ago by cssdev

Owner: changed from macports-tickets@… to css@…
Status: newassigned

comment:2 Changed 16 years ago by cssdev

Ahh, the inclusion of GLw headers was a mistake on Apple's part, but that just means we'll have to find another way to work around the problem. I'll have to digest the contents of this post to see if we need to create a new workaround. Do we need a libGLw port consisting of:

comment:3 Changed 16 years ago by cssdev

Summary: inventor fails to build on 10.5.4inventor fails to build on 10.5.5

comment:4 Changed 16 years ago by cssdev

Summary: inventor fails to build on 10.5.5inventor fails to build on 10.5.6

I'm getting closer!

  • added new SoCalcParse.y patch
  • removed patches to SoText2.c++, SoText3.c++, and TextWrapper.c++.

I'm now down to an iconv link error:

/usr/bin/g++  -L/opt/local/var/macports/build/_Users_Shared_macports_dports_devel_inventor/work/destroot//opt/local/lib -L../../samples/common -L../../../lib -L../../../libSoXt  -bind_at_load -multiply_defined suppress -L/usr/X11R6/lib -L/opt/local/lib  textomatic.o TextGraph.o TextWrapper.o          -lcommon -lInventor -lInventorXt -lXm -lXt -lX11 -lGLU -lGL -liconv -ldl  -o textomatic
Undefined symbols:
  "_locale_charset", referenced from:
      _main in textomatic.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [textomatic] Error 1
make[2]: *** [all] Error 1
make[1]: *** [all] Error 1
make: *** [all] Error 1

comment:5 Changed 16 years ago by cssdev

It works! I successfully built inventor on my MacBook Pro and loaded several models into ivview. I don't know the ramifications of the changes when building on Tiger, so I don't want to delete the no-longer-used patches just yet.

comment:6 in reply to:  4 Changed 16 years ago by cssdev

Replying to css@…:

I'm now down to an iconv link error:

I resolved this link error by adding -lcharset to the localrules patch.

comment:7 Changed 16 years ago by cssdev

Resolution: fixed
Status: assignedclosed

Committed to r44641.

comment:8 Changed 16 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.