New Ticket     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #17568 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

inventor fails to build on 10.5.6

Reported by: css@… Owned by: css@…
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

  Changed 3 years ago by css@…

  • owner changed from macports-tickets@… to css@…
  • status changed from new to assigned

  Changed 3 years ago by css@…

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:

  Changed 3 years ago by css@…

  • summary changed from inventor fails to build on 10.5.4 to inventor fails to build on 10.5.5

follow-up: ↓ 6   Changed 3 years ago by css@…

  • summary changed from inventor fails to build on 10.5.5 to inventor 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

  Changed 3 years ago by css@…

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.

in reply to: ↑ 4   Changed 3 years ago by css@…

Replying to css@…:

I'm now down to an iconv link error:

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

  Changed 3 years ago by css@…

  • status changed from assigned to closed
  • resolution set to fixed

Committed to r44641.

  Changed 3 years ago by anonymous

  • milestone Port Bugs deleted

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.