On Thursday 01 December 2005 02:43 pm, muppet wrote:
Timm Murray said:
<>
---- dlltool --def Gtk2.def --output-exp dll.exp g++ -o blib\arch\auto\Gtk2\Gtk2.dll -Wl,--base-file -Wl,dll.base -mdll -s -L"e:\perl-5.8.7\lib\CORE" -L"e:\msys\1.0\mingw\lib" xs/Gdk.o xs/GdkColor.o xs/GdkCursor.o xs/GdkDnd.o xs/GdkDrawable.o xs/GdkEvent.o xs/GdkGC.o xs/GdkInput.o xs/GdkKeys.o xs/GdkPixbuf.o xs/GdkPixbufLoader.o xs/GdkPixmap.o xs/GdkProperty.o xs/GdkRegion.o xs/GdkRgb.o xs/GdkSelection.o xs/GdkTypes.o xs/GdkVisual.o xs/GdkWindow.o xs/Gtk2.o xs/GtkAccelGroup.o xs/GtkAccelLabel.o xs/GtkAccelMap.o xs/GtkAdjustment.o xs/GtkAlignment.o xs/GtkArrow.o xs/GtkAspectFrame.o xs/GtkBin.o xs/GtkBox.o xs/GtkButton.o xs/GtkButtonBox.o xs/GtkCalendar.o xs/GtkCellEditable.o xs/GtkCellRenderer.o xs/GtkCellRendererPixbuf.o xs/GtkCellRendererText.o xs/GtkCellRendererToggle.o xs/GtkCheckButton.o xs/GtkCheckMenuItem.o xs/GtkColorSelection.o xs/GtkColorSelectionDialog.o xs/GtkCombo.o xs/GtkContainer.o xs/GtkCurve.o xs/GtkDialog.o xs/GtkDnd.o xs/GtkDrawingArea.o xs/GtkEditable.o xs/GtkEntry.o xs/GtkEventBox.o xs/GtkFileSelection.o xs/GtkFixed.o xs/GtkFontSelection.o xs/GtkFrame.o xs/GtkGC.o xs/GtkGammaCurve.o xs/GtkHBox.o xs/GtkHButtonBox.o xs/GtkHPaned.o xs/GtkHRuler.o xs/GtkHScale.o xs/GtkHScrollbar.o xs/GtkHSeparator.o xs/GtkHandleBox.o xs/GtkIconFactory.o xs/GtkImage.o xs/GtkImageMenuItem.o xs/GtkInputDialog.o xs/GtkInvisible.o xs/GtkItem.o xs/GtkItemFactory.o xs/GtkLabel.o xs/GtkLayout.o xs/GtkList.o xs/GtkListItem.o xs/GtkListStore.o xs/GtkMenu.o xs/GtkMenuBar.o xs/GtkMenuItem.o xs/GtkMenuShell.o xs/GtkMessageDialog.o xs/GtkMisc.o xs/GtkNotebook.o xs/GtkObject.o xs/GtkOptionMenu.o xs/GtkPaned.o xs/GtkPlug.o xs/GtkProgressBar.o xs/GtkRadioButton.o xs/GtkRadioMenuItem.o xs/GtkRange.o xs/GtkRc.o xs/GtkRuler.o xs/GtkScale.o xs/GtkScrolledWindow.o xs/GtkSelection.o xs/GtkSeparatorMenuItem.o xs/GtkSizeGroup.o xs/GtkSocket.o xs/GtkSpinButton.o xs/GtkStatusbar.o xs/GtkStock.o xs/GtkStyle.o xs/GtkTable.o xs/GtkTearoffMenuItem.o xs/GtkTextChildAnchor.o xs/GtkTextBuffer.o xs/GtkTextIter.o xs/GtkTextMark.o xs/GtkTextTag.o xs/GtkTextTagTable.o xs/GtkTextView.o xs/GtkToggleButton.o xs/GtkToolbar.o xs/GtkTooltips.o xs/GtkTreeDnd.o xs/GtkTreeModel.o xs/GtkTreeModelSort.o xs/GtkTreeSelection.o xs/GtkTreeSortable.o xs/GtkTreeStore.o xs/GtkTreeView.o xs/GtkTreeViewColumn.o xs/GtkVBox.o xs/GtkVButtonBox.o xs/GtkVPaned.o xs/GtkVRuler.o xs/GtkVScale.o xs/GtkVScrollbar.o xs/GtkVSeparator.o xs/GtkViewport.o xs/GtkWidget.o xs/GtkWindow.o xs/PangoAttributes.o xs/PangoContext.o xs/PangoFont.o xs/PangoFontset.o xs/PangoFontMap.o xs/PangoLayout.o xs/PangoRenderer.o xs/PangoScript.o xs/PangoTabs.o xs/PangoTypes.o xs/GdkDisplay.o xs/GdkDisplayManager.o xs/GdkScreen.o xs/GtkClipboard.o xs/GtkAction.o xs/GtkActionGroup.o xs/GtkCellLayout.o xs/GtkColorButton.o xs/GtkComboBox.o xs/GtkComboBoxEntry.o xs/GtkEntryCompletion.o xs/GtkExpander.o xs/GtkFileChooser.o xs/GtkFileChooserDialog.o xs/GtkFileChooserWidget.o xs/GtkFileFilter.o xs/GtkFontButton.o xs/GtkIconTheme.o xs/GtkRadioAction.o xs/GtkRadioToolButton.o xs/GtkSeparatorToolItem.o xs/GtkToggleAction.o xs/GtkToggleToolButton.o xs/GtkToolButton.o xs/GtkToolItem.o xs/GtkTreeModelFilter.o xs/GtkUIManager.o xs/GdkPango.o xs/GtkAboutDialog.o xs/GtkCellRendererCombo.o xs/GtkCellRendererProgress.o xs/GtkCellView.o xs/GtkFileChooserButton.o xs/GtkIconView.o xs/GtkMenuToolButton.o -Wl,--image-base,0x69100000 E:\perl-5.8.7\site\lib\auto\Glib\Glib.dll E: \perl-5.8.7\lib\CORE\libperl58.a e:\msys\1.0\mingw\lib\libgdi32.a e:Erm, where did the --image-base argument come from? Does it belong with the libperl58.a arg?
Not sure, but I've seen a similar argument when building other xs modules.
\msys\1.0\mingw\lib\libuser32.a e:\msys\1.0\mingw\lib\libgdi32.a e: \msys\1.0\mingw\lib\libwinspool.a e:\msys\1.0\mingw\lib\libcomdlg32.a e: \msys\1.0\mingw\lib\libadvapi32.a e:\msys\1.0\mingw\lib\libshell32.a e: \msys\1.0\mingw\lib\libole32.a e:\msys\1.0\mingw\lib\liboleaut32.a e: \msys\1.0\mingw\lib\libnetapi32.a e:\msys\1.0\mingw\lib\libuuid.a e: \msys\1.0\mingw\lib\libws2_32.a e:\msys\1.0\mingw\lib\libmpr.a e: \msys\1.0\mingw\lib\libwinmm.a e:\msys\1.0\mingw\lib\libversion.a e:I'm fairly certain that a few of these are unnecessary.\msys\1.0\mingw\lib\libodbc32.a dll.exp -lgtk-win32-2.0 -lgdk-win32-2.0^^^^^^^ Is that actually necessary? What's in the exp file?
I'm fairly certain it's needed. It's created by dlltool from the Gtk2.def. I know .exp files are usually used during the linking step of xs modules, and they have something to do with what symbols DLLs will export. For kicks, I took the dll.exp out of the build command, but it still gave the same error. The dll.exp file itself is binary. The dlltool command builds it from Gtk2.def, which looks like this: ---- EXPORTS gtk2perl_menu_position_func _gtk2perl_menu_position_func = gtk2perl_menu_position_func gtk2perl_new_gtkobject _gtk2perl_new_gtkobject = gtk2perl_new_gtkobject gtk2perl_read_gtk_target_entry _gtk2perl_read_gtk_target_entry = gtk2perl_read_gtk_target_entry newSVGdkAtom _newSVGdkAtom = newSVGdkAtom newSVGdkBitmap _newSVGdkBitmap = newSVGdkBitmap newSVGdkBitmap_noinc _newSVGdkBitmap_noinc = newSVGdkBitmap_noinc newSVGdkGCValues _newSVGdkGCValues = newSVGdkGCValues newSVGdkGeometry _newSVGdkGeometry = newSVGdkGeometry newSVGdkPixbufFormat _newSVGdkPixbufFormat = newSVGdkPixbufFormat newSVGtkTargetEntry _newSVGtkTargetEntry = newSVGtkTargetEntry newSVGtkTargetList _newSVGtkTargetList = newSVGtkTargetList newSVPangoRectangle _newSVPangoRectangle = newSVPangoRectangle SvGdkAtom _SvGdkAtom = SvGdkAtom SvGdkGCValues _SvGdkGCValues = SvGdkGCValues SvGdkGeometry _SvGdkGeometry = SvGdkGeometry SvGdkGeometryReal _SvGdkGeometryReal = SvGdkGeometryReal SvGdkPixbufFormat _SvGdkPixbufFormat = SvGdkPixbufFormat SvGtkTargetEntry _SvGtkTargetEntry = SvGtkTargetEntry SvGtkTargetList _SvGtkTargetList = SvGtkTargetList boot_Gtk2 _boot_Gtk2 = boot_Gtk2 ----
Attachment:
pgpfcXFcTkUNU.pgp
Description: PGP signature