rhx/SwiftLibXML

Package does not build under Debian (buster)

Closed this issue · 4 comments

/projects/sources/SwiftLibXML$ sudo apt-get install libxml2-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libxml2-dev is already the newest version (2.9.4+dfsg1-7+b3).

This is quite a clean, new machine that has no dramas building other git packages.
A number of issues relating to:

  • version control ( if linux || macOS || or ios etc) and dependencies for CLibXML2
  • missing LinuxMain.swift in Tests
  • missing module.modulemap for libxml2

Due to dependencies, this package then prevents gir2swift from building, and ultimately SwiftHelloGtk

rhx commented

Happy to have a look, however, I haven't been able to get Swift to work on Debian buster (tried the Ubuntu 18.04 version of Swift-4.2.3). Which version are you using?

Excellent ! Yes, I've had problems myself with the Release version, and success with the nightly development snapshots - go figure! Something like https://swift.org/builds/development/ubuntu1804/swift-DEVELOPMENT-SNAPSHOT-2019-03-17-a/swift-DEVELOPMENT-SNAPSHOT-2019-03-17-a-ubuntu18.04.tar.gz should help out. I'm happy to test this Dev-snapshot as well as soon as my machine finishes compiling Gnome-shell.
My machine is happily running the 14-Feb-dev-snapshot. Cheers.

Hi,
Many thanks for your work on SwiftLibXML, it's definitely been the sticking point.
Attached here is the compilation output from SwiftHelloGTK.

Updating https://github.com/rhx/SwiftGtk.git
Updating https://github.com/rhx/CGtk.git
Updating https://github.com/rhx/SwiftGdk.git
Updating https://github.com/rhx/SwiftAtk.git
Updating https://github.com/rhx/CAtk.git
Updating https://github.com/rhx/SwiftGObject.git
Updating https://github.com/rhx/SwiftGLib.git
Updating https://github.com/rhx/CGLib.git
Updating https://github.com/rhx/CGdk.git
Updating https://github.com/rhx/SwiftGdkPixbuf.git
Updating https://github.com/rhx/SwiftPangoCairo.git
Updating https://github.com/rhx/CGdkPixbuf.git
Updating https://github.com/rhx/SwiftGIO.git
Updating https://github.com/rhx/SwiftGModule.git
Updating https://github.com/rhx/SwiftCairo.git
Updating https://github.com/rhx/SwiftPango.git
Updating https://github.com/rhx/CCairo.git
Updating https://github.com/rhx/CPango.git
Completed resolution in 21.71s
Everything is already up-to-date
Cloning into 'gir2swift'...
remote: Enumerating objects: 76, done.
remote: Counting objects: 100% (76/76), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 1456 (delta 36), reused 58 (delta 27), pack-reused 1380
Receiving objects: 100% (1456/1456), 237.98 KiB | 181.00 KiB/s, done.
Resolving deltas: 100% (967/967), done.
Fetching https://github.com/rhx/SwiftLibXML.git
Fetching https://github.com/rhx/CLibXML2.git
Completed resolution in 6.02s
Cloning https://github.com/rhx/CLibXML2.git
Resolving https://github.com/rhx/CLibXML2.git at master
Cloning https://github.com/rhx/SwiftLibXML.git
Resolving https://github.com/rhx/SwiftLibXML.git at master
/source/SwiftHelloGtk/.build/gir2swift/Sources/gir2swift/gir.swift:195:20: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'GIR.Thing' to 'Hashable' by implementing 'hash(into:)' instead
        public var hashValue: Int { return name.hashValue }
                   ^
[3/3] Linking ./.build/x86_64-unknown-linux/release/gir2swift
Generate Swift Wrapper for SwiftAtk
Generate Swift Wrapper for SwiftCairo
Generate Swift Wrapper for SwiftGdk
Generate Swift Wrapper for SwiftGdkPixbuf
Generate Swift Wrapper for SwiftGIO
Generate Swift Wrapper for SwiftGLib
Generate Swift Wrapper for SwiftGModule
Generate Swift Wrapper for SwiftGObject
Generate Swift Wrapper for SwiftGtk
Postprocessing Wrapper for Gtk-3.0-AboutDialog-Bin.swift
Postprocessing Wrapper for Gtk-3.0-AboutDialogClass-BinClass.swift
Postprocessing Wrapper for Gtk-3.0-Actionable-Buildable.swift
Postprocessing Wrapper for Gtk-3.0-aliases.swift
Postprocessing Wrapper for Gtk-3.0-BinPrivate-CalendarClass.swift
Postprocessing Wrapper for Gtk-3.0-bitfields.swift
Postprocessing Wrapper for Gtk-3.0-BooleanCellAccessible-Calendar.swift
Postprocessing Wrapper for Gtk-3.0-CalendarPrivate-DialogClass.swift
Postprocessing Wrapper for Gtk-3.0-callbacks.swift
Postprocessing Wrapper for Gtk-3.0-CellAccessible-Dialog.swift
Postprocessing Wrapper for Gtk-3.0-CellAccessibleParent-Editable.swift
Postprocessing Wrapper for Gtk-3.0-constants.swift
Postprocessing Wrapper for Gtk-3.0-DialogPrivate-EditableInterface.swift
Postprocessing Wrapper for Gtk-3.0-DrawingArea-Entry.swift
Postprocessing Wrapper for Gtk-3.0-EntryAccessibleClass-FileChooserButtonClass.swift
Postprocessing Wrapper for Gtk-3.0-EntryAccessible-FileChooserButton.swift
Postprocessing Wrapper for Gtk-3.0-enumerations.swift
Postprocessing Wrapper for Gtk-3.0-FileChooserButtonPrivate-GLAreaClass.swift
Postprocessing Wrapper for Gtk-3.0-FileChooserDialog-GLArea.swift
Postprocessing Wrapper for Gtk-3.0-FileChooser-Orientable.swift
Postprocessing Wrapper for Gtk-3.0-functions.swift
Postprocessing Wrapper for Gtk-3.0-GestureClass-HBoxClass.swift
Postprocessing Wrapper for Gtk-3.0-Gesture-HBox.swift
Postprocessing Wrapper for Gtk-3.0-HButtonBoxClass-IMContextClass.swift
Postprocessing Wrapper for Gtk-3.0-HButtonBox-IMContext.swift
Postprocessing Wrapper for Gtk-3.0-IMContextInfo-LabelAccessibleClass.swift
Postprocessing Wrapper for Gtk-3.0-IMContextSimple-Label.swift
Postprocessing Wrapper for Gtk-3.0-LabelAccessible-Menu.swift
Postprocessing Wrapper for Gtk-3.0-LabelAccessiblePrivate-MenuAccessibleClass.swift
Postprocessing Wrapper for Gtk-3.0-MenuAccessible-NativeDialog.swift
Postprocessing Wrapper for Gtk-3.0-MenuAccessiblePrivate-NativeDialogClass.swift
Postprocessing Wrapper for Gtk-3.0-NotebookAccessibleClass-OffscreenWindowClass.swift
Postprocessing Wrapper for Gtk-3.0-Notebook-OffscreenWindow.swift
Postprocessing Wrapper for Gtk-3.0-OrientableIface-PadActionEntry.swift
Postprocessing Wrapper for Gtk-3.0-Overlay-PadController.swift
Postprocessing Wrapper for Gtk-3.0-PadControllerClass-RadioActionClass.swift
Postprocessing Wrapper for Gtk-3.0-PageSetup-RadioAction.swift
Postprocessing Wrapper for Gtk-3.0-PrintOperationPreview-RecentChooser.swift
Postprocessing Wrapper for Gtk-3.0-RadioActionEntry-ScaleAccessibleClass.swift
Postprocessing Wrapper for Gtk-3.0-RadioButton-Scale.swift
Postprocessing Wrapper for Gtk-3.0-ScaleAccessiblePrivate-TableChild.swift
Postprocessing Wrapper for Gtk-3.0-ScaleAccessible-Table.swift
Postprocessing Wrapper for Gtk-3.0-Scrollable-ToolShell.swift
Postprocessing Wrapper for Gtk-3.0.swift
Postprocessing Wrapper for Gtk-3.0-TableClass-UIManagerClass.swift
Postprocessing Wrapper for Gtk-3.0-TearoffMenuItem-UIManager.swift
Postprocessing Wrapper for Gtk-3.0-TreeDragDest-TreeSortable.swift
Postprocessing Wrapper for Gtk-3.0-UIManagerPrivate-VBoxClass.swift
Postprocessing Wrapper for Gtk-3.0-VBox-Widget.swift
Postprocessing Wrapper for Gtk-3.0-VButtonBoxClass-WidgetAccessibleClass.swift
Postprocessing Wrapper for Gtk-3.0-WidgetAccessiblePrivate-WindowPrivate.swift
Postprocessing Wrapper for Gtk-3.0-WidgetAccessible-WindowGroup.swift
Generate Swift Wrapper for SwiftPangoCairo
Generate Swift Wrapper for SwiftPango
warning: you may be able to install glib-2.0 gio-unix-2.0 using your system-packager:
     apt-get install libglib2.0-dev glib-networking gobject-introspection libgirepository1.0-dev

warning: you may be able to install cairo glib-2.0 gio-unix-2.0 using your system-packager:
     apt-get install libcairo2.0-dev glib-networking gobject-introspection libgirepository1.0-dev

warning: you may be able to install atk gio-unix-2.0 glib-2.0 using your system-packager:
     apt-get install libatk1.0-dev libglib2.0-dev glib-networking gobject-introspection libgirepository1.0-dev

warning: you may be able to install gdk-pixbuf-2.0 gio-unix-2.0 glib-2.0 using your system-packager:
     apt-get install libgdk-pixbuf2.0-dev glib-networking gobject-introspection libgirepository1.0-dev

warning: you may be able to install gdk-3.0 pangocairo pangoft2 pango gio-unix-2.0 glib-2.0 using your system-packager:
     apt-get install libgdk3.0-dev glib-networking gobject-introspection libgirepository1.0-dev

warning: you may be able to install gtk-3.0 gdk-3.0 pangocairo pangoft2 pango gio-unix-2.0 glib-2.0 using your system-packager:
     apt-get install libgtk3.0-dev libgdk3.0-dev glib-networking gobject-introspection libgirepository1.0-dev

/source/SwiftHelloGtk/.build/checkouts/SwiftGObject/Sources/GLibObject/GLibObject.swift:45:9: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'PropertyName' to 'Hashable' by implementing 'hash(into:)' instead
    var hashValue: Int { return rawValue.hashValue }
        ^
[13/13] Linking ./.build/x86_64-unknown-linux/debug/HelloGtk

SwiftHelloGTK

One minor update is that I do have the latest packages that Debian will give me, yet the output from compilation told me I needed them.

sudo apt-get install libglib2.0-dev glib-networking gobject-introspection libgirepository1.0-dev

Reading package lists... Done
Building dependency tree       
Reading state information... Done
glib-networking is already the newest version (2.58.0-2).
libglib2.0-dev is already the newest version (2.58.3-1).
libglib2.0-dev set to manually installed.
gobject-introspection is already the newest version (1.58.3-2).
libgirepository1.0-dev is already the newest version (1.58.3-2).
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.