On 31/12/10 15:49 , Eduardo Pestana wrote:
[]
>      >> I try to execute dx but it failed with the message:
>      >
>      >>     Error: attempt to add non-widget child "dsm" to parent "startupui"
>      >>     which supports only widgets.

According to google/Motif faq
<http://www.faqs.org/faqs/motif-faq/part9/section-29.html>,
this is a library order problem: libXm has to come before libXt. And indeed:
[]
> epestanaMbp288:~ edu$ otool -L /sw/share/dx/bin_macos/*
[]
> /sw/share/dx/bin_macos/startupui:
[]
>      /usr/X11/lib/libXt.6.dylib (compatibility version 7.0.0, current version 
> 7.0.0)
>      /usr/X11/lib/libX11.6.dylib (compatibility version 9.0.0, current 
> version 9.0.0)
>      /sw/lib/libXm.3.dylib (compatibility version 4.0.0, current version 
> 4.0.0)
[etc]

The linker line I see for startupui is rather weird:

g++-4.2 -g -O2 -I/usr/X11R6/include -dylib_file 
/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
 
-o startupui NetFileDialog.o StartupApplication.o StartupCommand.o 
StartupWindow.o TimedInfoDialog.o Main.o -framework CoreFoundation 
-framework ApplicationServices -Wl,-framework -Wl,CoreServices 
-Wl,-framework -Wl,ApplicationServices -Wl,-bind_at_load 
-L/sw_x86_64/lib ../base/libBASE.a ../widgets/libWIDGETS.a 
../dxl/.libs/libDXL.a -L/usr/X11R6/lib -L/sw_x86_64/lib/pango-ft219/lib 
-L/sw_x86_64/lib/fontconfig2/lib -L/usr/X11/lib 
../../exec/libdx/.libs/libDXlite.a -lXinerama 
/sw_x86_64/lib/libnetcdf.dylib -lXpm /sw_x86_64/lib/libtiff.dylib -ldl 
-lXp -lGLU -lGL -lm -lXmu -lXext -lX11 /sw_x86_64/lib/libXm.dylib -lxt 
-lSM -lICE -lpthread /sw_x86_64/lib/freetype219/lib/libfreetype.dylib 
-lz /sw_x86_64/lib/libMagickCore.dylib

Note the "-lxt". In the original libtool line, there is the following 
sequence "-lXm -lXp -lGLU -lGL -lm -lXmu -lXext -lXt -lX11 -lxm -lxt". 
This is then translated by libtool into the sequence shown above.

The problem comes from configure.ac, which checks for both libXm and 
libxm, and for both libXt and libxt. Not very smart on a case 
insensitive file system. I suppose thqt Alex builds his dx on a case 
sensitive file system (?), where libxt and libxm are not found, and the 
problem then does not show up.

I went ahead and committed a fix (version dx-4.4.4-1505) that eliminates 
lxt and lxm. With this, the error does no longer show up for me.

-- 
Martin





------------------------------------------------------------------------------
Gaining the trust of online customers is vital for the success of any company
that requires sensitive data to be transmitted over the Web.   Learn how to 
best implement a security strategy that keeps consumers' information secure 
and instills the confidence they need to proceed with transactions.
http://p.sf.net/sfu/oracle-sfdevnl 
_______________________________________________
Fink-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fink-users

Reply via email to