Building Filezilla 3.47.2.1 on OpenIndiana Hipster

Need help with FileZilla Client? Something does not work as expected? In this forum you may find an answer.

Moderator: Project members

Post Reply
Message
Author
tflower
504 Command not implemented
Posts: 10
Joined: 2020-04-02 14:51
First name: t
Last name: f

Building Filezilla 3.47.2.1 on OpenIndiana Hipster

#1 Post by tflower » 2020-04-02 15:10

Hi
I have successfully built libfilezilla 2.20 using the tar.bz2 and managed to get filezilla 3.47.2.1 to build through the src/engine and src/pugixml with no wanring, src/dbus with some warnings but I keep getting compile failure when building asyncrequestqueue.cpp .
I had to copy from the libfilezilla 2.20 source ./libfilezilla-0.20.2/lib/libfilezilla into ./filezilla-3.47.2.1/src/include as the files are referenced during the filezilla build.

/usr/gcc/8/bin/g++ -std=c++17 -DHAVE_CONFIG_H -I. -I../../src/include -I./../include -I/opt/gnu/include -I/opt/gnu/lib/wx/include/motif-unicode-3.0 -I/opt/gnu/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMOTIF__ -m64 -I/usr/include/idn -I/usr/include/idn2 -I/usr/include/pugixml-1.9 -Wall -g -c -o filezilla-asyncrequestqueue.o `test -f 'asyncrequestqueue.cpp' || echo './'`asyncrequestqueue.cpp
In file included from context_control.h:5,
from asyncrequestqueue.h:4,
from asyncrequestqueue.cpp:3:
state.h:169:26: error: 'wxFileDataObject' has not been declared
void UploadDroppedFiles(wxFileDataObject const* pFileDataObject, std::wstring const& subdir, bool queueOnly);
^~~~~~~~~~~~~~~~
state.h:171:26: error: 'wxFileDataObject' has not been declared
void UploadDroppedFiles(wxFileDataObject const* pFileDataObject, CServerPath const& path, bool queueOnly);
^~~~~~~~~~~~~~~~
state.h:173:26: error: 'wxFileDataObject' has not been declared
void HandleDroppedFiles(wxFileDataObject const* pFileDataObject, CLocalPath const& path, bool copy);
^~~~~~~~~~~~~~~~
In file included from dndobjects.h:10,
from QueueView.h:4,
from queue.h:423,
from asyncrequestqueue.cpp:9:
drop_target_ex.h:8:59: error: invalid use of incomplete type 'class wxDropTarget'
class CScrollableDropTarget : public wxEvtHandler, public wxDropTarget
^~~~~~~~~~~~
In file included from /opt/gnu/include/wx-3.0/wx/nonownedwnd.h:14,
from /opt/gnu/include/wx-3.0/wx/toplevel.h:20,
from /opt/gnu/include/wx-3.0/wx/dialog.h:14,
from /opt/gnu/include/wx-3.0/wx/msgdlg.h:18,
from ./msgbox.h:4,
from ./filezilla.h:6,
from asyncrequestqueue.cpp:1:
/opt/gnu/include/wx-3.0/wx/window.h:79:28: note: forward declaration of 'class wxDropTarget'
class WXDLLIMPEXP_FWD_CORE wxDropTarget;
^~~~~~~~~~~~
In file included from dndobjects.h:10,
from QueueView.h:4,
from queue.h:423,
from asyncrequestqueue.cpp:9:
drop_target_ex.h:15:10: error: 'wxDragResult' does not name a type; did you mean 'wxImageList'?
virtual wxDragResult OnDragOver(wxCoord x, wxCoord y, wxDragResult def);
^~~~~~~~~~~~
wxImageList
drop_target_ex.h:19:10: error: 'wxDragResult' does not name a type; did you mean 'wxImageList'?
virtual wxDragResult OnEnter(wxCoord x, wxCoord y, wxDragResult def);
^~~~~~~~~~~~
wxImageList
drop_target_ex.h:24:2: error: 'wxDragResult' does not name a type; did you mean 'wxImageList'?
wxDragResult FixupDragResult(wxDragResult res);
^~~~~~~~~~~~
wxImageList
In file included from QueueView.h:4,
from queue.h:423,
from asyncrequestqueue.cpp:9:
dndobjects.h:124:2: error: 'wxFileDataObject' does not name a type; did you mean 'wxURLDataObject'?
wxFileDataObject* m_pFileDataObject{};
^~~~~~~~~~~~~~~~
wxURLDataObject

Any pointers would be appreciated to get this built.

TIA

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: Building Filezilla 3.47.2.1 on OpenIndiana Hipster

#2 Post by botg » 2020-04-03 08:03

You're using an unsupported wxWidgets flavor. It must be the GTK one on platforms that are neither Windows nor macOS.

tflower
504 Command not implemented
Posts: 10
Joined: 2020-04-02 14:51
First name: t
Last name: f

Re: Building Filezilla 3.47.2.1 on OpenIndiana Hipster

#3 Post by tflower » 2020-04-03 10:08

Thanks, I rebuild wxwidgets with GTK instead of Motif

tflower
504 Command not implemented
Posts: 10
Joined: 2020-04-02 14:51
First name: t
Last name: f

Re: Building Filezilla 3.47.2.1 on OpenIndiana Hipster

#4 Post by tflower » 2020-04-03 14:55

Having built wxWidgets 3.0.4 with GTK 3.0 the compilation of Filezilla 3.47.2.1 has progressed well beyond the previous point but it is now failing on

Code: Select all

/usr/gcc/8/bin/g++ -std=c++17 -DHAVE_CONFIG_H -I. -I../../src/include  -I./../include -I/opt/gnu/include -I/opt/gnu/lib/wx/include/gtk3-unicode-3.0 -I/opt/gnu/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__  -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -pthread -DFFI_NO_RAW_API -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/drm -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/lib/libffi-3.2.1/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pcre   -m64 -I/usr/include/idn -I/usr/include/idn2 -I/usr/include/pugixml-1.9 -fpermissive -Wall -g -c -o filezilla-themeprovider.o `test -f 'themeprovider.cpp' || echo './'`themeprovider.cpp
In file included from /usr/lib/glib-2.0/include/glibconfig.h:9,
                 from /usr/include/glib-2.0/glib/gtypes.h:32,
                 from /usr/include/glib-2.0/glib/galloca.h:32,
                 from /usr/include/glib-2.0/glib.h:30,
                 from /usr/include/gtk-3.0/gdk/gdkconfig.h:13,
                 from /usr/include/gtk-3.0/gdk/gdk.h:30,
                 from /usr/include/gtk-3.0/gtk/gtk.h:30,
                 from themeprovider.cpp:15:
/usr/include/glib-2.0/glib/gtypes.h: In function 'gboolean _GLIB_CHECKED_ADD_U64(guint64*, guint64, guint64)':
/usr/include/glib-2.0/glib/gmacros.h:738:31: error: '_Static_assert' was not declared in this scope
 #define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
/usr/include/glib-2.0/glib/gtypes.h:466:3: note: in expansion of macro 'G_STATIC_ASSERT'
   G_STATIC_ASSERT(sizeof (unsigned long long) == sizeof (guint64));
   ^~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gmacros.h:738:31: note: suggested alternative: 'static_assert'
 #define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
                               ^~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gtypes.h:466:3: note: in expansion of macro 'G_STATIC_ASSERT'
   G_STATIC_ASSERT(sizeof (unsigned long long) == sizeof (guint64));
   ^~~~~~~~~~~~~~~
In file included from /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h:36,
                 from /usr/include/gtk-3.0/gdk/gdkpixbuf.h:33,
                 from /usr/include/gtk-3.0/gdk/gdkcairo.h:29,
                 from /usr/include/gtk-3.0/gdk/gdk.h:33,
                 from /usr/include/gtk-3.0/gtk/gtk.h:30,
                 from themeprovider.cpp:15:
/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h: At global scope:
/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h:111:113: warning: 'GTimeVal' is deprecated [-Wdeprecated-declarations]
                                                                               const GTimeVal         *start_time);
                                                                                                                 ^
/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h:122:115: warning: 'GTimeVal' is deprecated [-Wdeprecated-declarations]
                                                                               const GTimeVal         *current_time);
                                                                                                                   ^
gmake[4]: *** [Makefile:2755: filezilla-themeprovider.o] Error 1
gmake[4]: Leaving directory '/tmp/filezilla-3.47.2.1/src/interface'
gmake[3]: *** [Makefile:3123: all-recursive] Error 1
gmake[3]: Leaving directory '/tmp/filezilla-3.47.2.1/src/interface'
gmake[2]: *** [Makefile:970: all] Error 2
gmake[2]: Leaving directory '/tmp/filezilla-3.47.2.1/src/interface'
gmake[1]: *** [Makefile:436: all-recursive] Error 1
gmake[1]: Leaving directory '/tmp/filezilla-3.47.2.1/src'
gmake: *** [Makefile:617: all-recursive] Error 1
Again any pointers appreciated

tflower
504 Command not implemented
Posts: 10
Joined: 2020-04-02 14:51
First name: t
Last name: f

Re: Building Filezilla 3.47.2.1 on OpenIndiana Hipster

#5 Post by tflower » 2020-04-03 15:38

Found a bug report in OpenIndiana and fixed the /usr/include/glib-2.0/glib/gmacros.h file and compilation

Now getting an unresolved symbol

Code: Select all

/bin/sh ../../libtool  --tag=CXX   --mode=link /usr/gcc/8/bin/g++ -std=c++17  -m64 -I/usr/include/idn -I/usr/include/idn2 -I/usr/include/pugixml-1.9 -fpermissive -Wall -g ../engine/libengine.a -L/opt/gnu/lib ../../src/pugixml/libpugixml.a ../dbus/libfzdbus.a -ldbus-1 -L/opt/gnu/lib -pthreads   -lwx_gtk3u_aui-3.0 -lwx_gtk3u_xrc-3.0 -lwx_gtk3u_adv-3.0 -lwx_gtk3u_core-3.0 -lwx_baseu_xml-3.0 -lwx_baseu-3.0   -lidn -lsqlite3  -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0  -m64 -L/usr/lib -L/usr/lib/pugixml-1.9 -L/opt/gnu/lib -L/opt/gnu/lib/64 -o filezilla filezilla-aboutdialog.o filezilla-asksavepassworddialog.o filezilla-asyncrequestqueue.o filezilla-aui_notebook_ex.o filezilla-auto_ascii_files.o filezilla-bookmarks_dialog.o filezilla-buildinfo.o filezilla-chmoddialog.o filezilla-clearprivatedata.o filezilla-cmdline.o filezilla-commandqueue.o filezilla-conditionaldialog.o filezilla-context_control.o filezilla-customheightlistctrl.o filezilla-defaultfileexistsdlg.o filezilla-dialogex.o filezilla-dndobjects.o filezilla-dragdropmanager.o filezilla-drop_target_ex.o filezilla-edithandler.o filezilla-encoding_converter.o filezilla-export.o filezilla-fileexistsdlg.o filezilla-filelistctrl.o filezilla-filelist_statusbar.o filezilla-FileZilla.o filezilla-filter.o filezilla-filter_conditions_dialog.o filezilla-filteredit.o filezilla-file_utils.o filezilla-fzputtygen_interface.o filezilla-graphics.o filezilla-import.o filezilla-infotext.o filezilla-inputdialog.o filezilla-ipcmutex.o filezilla-led.o filezilla-listctrlex.o filezilla-listingcomparison.o filezilla-list_search_panel.o filezilla-local_recursive_operation.o filezilla-locale_initializer.o filezilla-LocalListView.o filezilla-LocalTreeView.o filezilla-loginmanager.o filezilla-Mainfrm.o filezilla-manual_transfer.o filezilla-menu_bar.o filezilla-msgbox.o filezilla-netconfwizard.o filezilla-Options.o filezilla-power_management.o filezilla-queue.o filezilla-queue_storage.o filezilla-QueueView.o filezilla-queueview_failed.o filezilla-queueview_successful.o filezilla-quickconnectbar.o filezilla-recentserverlist.o filezilla-recursive_operation.o filezilla-recursive_operation_status.o filezilla-remote_recursive_operation.o filezilla-RemoteListView.o filezilla-RemoteTreeView.o filezilla-search.o filezilla-serverdata.o settings/filezilla-optionspage.o settings/filezilla-optionspage_connection.o settings/filezilla-optionspage_connection_active.o settings/filezilla-optionspage_connection_ftp.o settings/filezilla-optionspage_connection_passive.o settings/filezilla-optionspage_connection_sftp.o settings/filezilla-optionspage_dateformatting.o settings/filezilla-optionspage_debug.o settings/filezilla-optionspage_edit.o settings/filezilla-optionspage_edit_associations.o settings/filezilla-optionspage_fileexists.o settings/filezilla-optionspage_filelists.o settings/filezilla-optionspage_filetype.o settings/filezilla-optionspage_ftpproxy.o settings/filezilla-optionspage_interface.o settings/filezilla-optionspage_language.o settings/filezilla-optionspage_logging.o settings/filezilla-optionspage_passwords.o settings/filezilla-optionspage_proxy.o settings/filezilla-optionspage_sizeformatting.o settings/filezilla-optionspage_themes.o settings/filezilla-optionspage_transfer.o settings/filezilla-optionspage_updatecheck.o settings/filezilla-settingsdialog.o filezilla-sftp_crypt_info_dlg.o filezilla-sitemanager.o filezilla-sitemanager_controls.o filezilla-sitemanager_dialog.o filezilla-sitemanager_site.o filezilla-sizeformatting.o filezilla-speedlimits_dialog.o filezilla-splitter.o filezilla-state.o filezilla-statusbar.o filezilla-statuslinectrl.o filezilla-StatusView.o filezilla-systemimagelist.o filezilla-textctrlex.o filezilla-themeprovider.o filezilla-timeformatting.o filezilla-toolbar.o filezilla-treectrlex.o filezilla-updater.o filezilla-update_dialog.o filezilla-verifycertdialog.o filezilla-verifyhostkeydialog.o filezilla-view.o filezilla-viewheader.o filezilla-volume_enumerator.o filezilla-welcome_dialog.o filezilla-window_state_manager.o filezilla-wrapengine.o wxext/filezilla-spinctrlex.o filezilla-wxfilesystem_blob_handler.o filezilla-xh_text_ex.o filezilla-xmlfunctions.o filezilla-xrc_helper.o    -lsocket -lxnet 
libtool: link: /usr/gcc/8/bin/g++ -std=c++17 -m64 -I/usr/include/idn -I/usr/include/idn2 -I/usr/include/pugixml-1.9 -fpermissive -Wall -g -pthreads -m64 -o filezilla filezilla-aboutdialog.o filezilla-asksavepassworddialog.o filezilla-asyncrequestqueue.o filezilla-aui_notebook_ex.o filezilla-auto_ascii_files.o filezilla-bookmarks_dialog.o filezilla-buildinfo.o filezilla-chmoddialog.o filezilla-clearprivatedata.o filezilla-cmdline.o filezilla-commandqueue.o filezilla-conditionaldialog.o filezilla-context_control.o filezilla-customheightlistctrl.o filezilla-defaultfileexistsdlg.o filezilla-dialogex.o filezilla-dndobjects.o filezilla-dragdropmanager.o filezilla-drop_target_ex.o filezilla-edithandler.o filezilla-encoding_converter.o filezilla-export.o filezilla-fileexistsdlg.o filezilla-filelistctrl.o filezilla-filelist_statusbar.o filezilla-FileZilla.o filezilla-filter.o filezilla-filter_conditions_dialog.o filezilla-filteredit.o filezilla-file_utils.o filezilla-fzputtygen_interface.o filezilla-graphics.o filezilla-import.o filezilla-infotext.o filezilla-inputdialog.o filezilla-ipcmutex.o filezilla-led.o filezilla-listctrlex.o filezilla-listingcomparison.o filezilla-list_search_panel.o filezilla-local_recursive_operation.o filezilla-locale_initializer.o filezilla-LocalListView.o filezilla-LocalTreeView.o filezilla-loginmanager.o filezilla-Mainfrm.o filezilla-manual_transfer.o filezilla-menu_bar.o filezilla-msgbox.o filezilla-netconfwizard.o filezilla-Options.o filezilla-power_management.o filezilla-queue.o filezilla-queue_storage.o filezilla-QueueView.o filezilla-queueview_failed.o filezilla-queueview_successful.o filezilla-quickconnectbar.o filezilla-recentserverlist.o filezilla-recursive_operation.o filezilla-recursive_operation_status.o filezilla-remote_recursive_operation.o filezilla-RemoteListView.o filezilla-RemoteTreeView.o filezilla-search.o filezilla-serverdata.o settings/filezilla-optionspage.o settings/filezilla-optionspage_connection.o settings/filezilla-optionspage_connection_active.o settings/filezilla-optionspage_connection_ftp.o settings/filezilla-optionspage_connection_passive.o settings/filezilla-optionspage_connection_sftp.o settings/filezilla-optionspage_dateformatting.o settings/filezilla-optionspage_debug.o settings/filezilla-optionspage_edit.o settings/filezilla-optionspage_edit_associations.o settings/filezilla-optionspage_fileexists.o settings/filezilla-optionspage_filelists.o settings/filezilla-optionspage_filetype.o settings/filezilla-optionspage_ftpproxy.o settings/filezilla-optionspage_interface.o settings/filezilla-optionspage_language.o settings/filezilla-optionspage_logging.o settings/filezilla-optionspage_passwords.o settings/filezilla-optionspage_proxy.o settings/filezilla-optionspage_sizeformatting.o settings/filezilla-optionspage_themes.o settings/filezilla-optionspage_transfer.o settings/filezilla-optionspage_updatecheck.o settings/filezilla-settingsdialog.o filezilla-sftp_crypt_info_dlg.o filezilla-sitemanager.o filezilla-sitemanager_controls.o filezilla-sitemanager_dialog.o filezilla-sitemanager_site.o filezilla-sizeformatting.o filezilla-speedlimits_dialog.o filezilla-splitter.o filezilla-state.o filezilla-statusbar.o filezilla-statuslinectrl.o filezilla-StatusView.o filezilla-systemimagelist.o filezilla-textctrlex.o filezilla-themeprovider.o filezilla-timeformatting.o filezilla-toolbar.o filezilla-treectrlex.o filezilla-updater.o filezilla-update_dialog.o filezilla-verifycertdialog.o filezilla-verifyhostkeydialog.o filezilla-view.o filezilla-viewheader.o filezilla-volume_enumerator.o filezilla-welcome_dialog.o filezilla-window_state_manager.o filezilla-wrapengine.o wxext/filezilla-spinctrlex.o filezilla-wxfilesystem_blob_handler.o filezilla-xh_text_ex.o filezilla-xmlfunctions.o filezilla-xrc_helper.o  ../engine/libengine.a -L/opt/gnu/lib ../../src/pugixml/libpugixml.a ../dbus/libfzdbus.a -ldbus-1 -lwx_gtk3u_aui-3.0 -lwx_gtk3u_xrc-3.0 -lwx_gtk3u_adv-3.0 -lwx_gtk3u_core-3.0 -lwx_baseu_xml-3.0 -lwx_baseu-3.0 -lidn -lsqlite3 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -L/usr/lib -L/usr/lib/pugixml-1.9 -L/opt/gnu/lib/64 -lsocket -lxnet -pthreads
Undefined                       first referenced
 symbol                             in file
fz::get_address_type(std::basic_string_view<char, std::char_traits<char> > const&) filezilla-verifycertdialog.o
fz::get_address_type(std::basic_string_view<wchar_t, std::char_traits<wchar_t> > const&) filezilla-netconfwizard.o
fz::tls_layer::list_tls_ciphers(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../engine/libengine.a(libengine_a-misc.o)
fz::hash_accumulator::hash_accumulator(fz::hash_algorithm) filezilla-updater.o
fz::percent_encode[abi:cxx11](std::basic_string_view<char, std::char_traits<char> > const&, bool) ../engine/libengine.a(libengine_a-filetransfer.o)
fz::datetime::format(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, fz::datetime::zone) const filezilla-StatusView.o
fz::socket_error_description[abi:cxx11](int) filezilla-netconfwizard.o
fz::socket_layer::set_event_handler(fz::event_handler*)      ../engine/libengine.a(libengine_a-proxy.o)
fz::replaced_substrings(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) filezilla-dialogex.o
fz::local_filesys::path_separator      filezilla-auto_ascii_files.o
fz::file::write(void const*, long)  filezilla-xmlfunctions.o
fz::replaced_substrings(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../engine/libengine.a(libengine_a-externalipresolver.o)
fz::thread_pool::~thread_pool()     ../engine/libengine.a(libengine_a-engine_context.o)
fz::thread_pool::thread_pool()      ../engine/libengine.a(libengine_a-engine_context.o)
fz::rate_limit_manager::~rate_limit_manager() ../engine/libengine.a(libengine_a-engine_context.o)
fz::local_filesys::get_file_type(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) filezilla-FileZilla.o
fz::to_wstring[abi:cxx11](std::basic_string_view<char, std::char_traits<char> > const&) filezilla-buildinfo.o
fz::datetime::now()                 filezilla-edithandler.o
fz::process::kill()                 ../engine/libengine.a(libengine_a-sftpcontrolsocket.o)
fz::socket_base::set_buffer_sizes(int, int) ../engine/libengine.a(libengine_a-transfersocket.o)
fz::random_number(long, long)       filezilla-netconfwizard.o
fz::socket_base::address_family() const filezilla-netconfwizard.o
fz::socket::write(void const*, unsigned int, int&) filezilla-netconfwizard.o
fz::tls_layer::client_handshake(fz::event_handler*, std::vector<unsigned char, std::allocator<unsigned char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../engine/libengine.a(libengine_a-ftpcontrolsocket.o)
fz::hash_accumulator::digest()      filezilla-updater.o
fz::mutex::mutex(bool)              filezilla-local_recursive_operation.o
fz::mutex::~mutex()                 filezilla-local_recursive_operation.o
fz::verify(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, fz::public_verification_key const&) filezilla-updater.o
fz::event_loop::~event_loop()       ../engine/libengine.a(libengine_a-engine_context.o)
fz::uri::get_request[abi:cxx11]() const ../engine/libengine.a(libengine_a-request.o)
fz::local_filesys::get_file_info(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool&, long*, fz::datetime*, int*) filezilla-edithandler.o
fz::hash_accumulator::~hash_accumulator() filezilla-updater.o
fz::datetime::operator==(fz::datetime const&) const filezilla-StatusView.o
vtable for fz::bucket               ../engine/libengine.a(libengine_a-sftpcontrolsocket.o)
fz::file::size() const              ../engine/libengine.a(libengine_a-filetransfer.o)
fz::socket_layer::forward_hostaddress_event(fz::socket_event_source*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../engine/libengine.a(libengine_a-proxy.o)
fz::uri::empty() const              ../engine/libengine.a(libengine_a-filetransfer.o)
fz::datetime::format(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, fz::datetime::zone) const ../engine/libengine.a(libengine_a-logging.o)
fz::recursive_remove::remove(std::__cxx11::list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >) filezilla-LocalListView.o
fz::bitscan(unsigned long)          filezilla-StatusView.o
fz::to_utf8[abi:cxx11](std::basic_string_view<char, std::char_traits<char> > const&) filezilla-verifycertdialog.o
fz::to_utf8[abi:cxx11](std::basic_string_view<wchar_t, std::char_traits<wchar_t> > const&) filezilla-asksavepassworddialog.o
fz::file::fsync()                   filezilla-xmlfunctions.o
fz::is_routable_address(std::basic_string_view<char, std::char_traits<char> > const&) ../engine/libengine.a(libengine_a-ftpcontrolsocket.o)
fz::is_routable_address(std::basic_string_view<wchar_t, std::char_traits<wchar_t> > const&) ../engine/libengine.a(libengine_a-rawtransfer.o)
fz::get_unique_type_id(std::type_info const&) filezilla-netconfwizard.o
fz::datetime::set_rfc822(std::basic_string_view<char, std::char_traits<char> > const&) ../engine/libengine.a(libengine_a-request.o)
fz::file::seek(long, fz::file::seek_mode) ../engine/libengine.a(libengine_a-httpcontrolsocket.o)
fz::datetime::verify_format(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) settings/filezilla-optionspage_dateformatting.o
fz::encrypt(std::basic_string_view<char, std::char_traits<char> > const&, fz::public_key const&, bool) filezilla-serverdata.o
fz::rate_limit_manager::set_burst_tolerance(unsigned long) ../engine/libengine.a(libengine_a-engine_context.o)
fz::socket::set_keepalive_interval(fz::duration const&) ../engine/libengine.a(libengine_a-logon.o)
fz::listen_socket::accept(int&)     filezilla-netconfwizard.o
fz::buffer::clear()                 filezilla-netconfwizard.o
fz::event_handler::remove_handler()     filezilla-netconfwizard.o
fz::uri::uri(std::basic_string_view<char, std::char_traits<char> > const&) filezilla-updater.o
fz::event_handler::add_timer(fz::duration const&, bool) ../engine/libengine.a(libengine_a-engineprivate.o)
fz::buffer::consume(unsigned long)  filezilla-netconfwizard.o
fz::to_native[abi:cxx11](std::basic_string_view<wchar_t, std::char_traits<wchar_t> > const&) filezilla-clearprivatedata.o
fz::async_task::join()              filezilla-local_recursive_operation.o
fz::socket_layer::~socket_layer()   ../engine/libengine.a(libengine_a-proxy.o)
fz::datetime::datetime(std::basic_string_view<wchar_t, std::char_traits<wchar_t> > const&, fz::datetime::zone) filezilla-buildinfo.o
fz::socket::connect(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, fz::address_type) filezilla-netconfwizard.o
fz::socket_base::local_ip[abi:cxx11](bool) const filezilla-netconfwizard.o
fz::replace_substrings(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) filezilla-auto_ascii_files.o
fz::socket::ideal_send_buffer_size()    ../engine/libengine.a(libengine_a-transfersocket.o)
fz::file::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, fz::file::mode, fz::file::creation_flags) ../engine/libengine.a(libengine_a-filetransfer.o)
fz::bitscan_reverse(unsigned long)  ../engine/libengine.a(libengine_a-logging.o)
fz::socket::set_flags(int, bool)    ../engine/libengine.a(libengine_a-logon.o)
fz::base64_decode_s[abi:cxx11](std::basic_string_view<char, std::char_traits<char> > const&) filezilla-sitemanager_controls.o
fz::bucket::distribute_overflow(fz::direction::type, unsigned long) ../engine/libengine.a(libengine_a-sftpcontrolsocket.o)
fz::local_filesys::get_modification_time(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) filezilla-themeprovider.o
fz::base64_decode(std::basic_string_view<char, std::char_traits<char> > const&) filezilla-serverdata.o
fz::bucket::consume(fz::direction::type, unsigned long) ../engine/libengine.a(libengine_a-sftpcontrolsocket.o)
typeinfo for fz::event_handler      filezilla-netconfwizard.o
fz::strtok[abi:cxx11](std::basic_string_view<wchar_t, std::char_traits<wchar_t> > const&, std::basic_string_view<wchar_t, std::char_traits<wchar_t> > const&, bool) filezilla-FileZilla.o
fz::str_toupper_ascii[abi:cxx11](std::basic_string_view<wchar_t, std::char_traits<wchar_t> > const&) ../engine/libengine.a(libengine_a-logon.o)
fz::tls_layer::get_session_parameters() const ../engine/libengine.a(libengine_a-transfersocket.o)
vtable for fz::bucket_base          ../engine/libengine.a(libengine_a-engine_context.o)
fz::datetime::compare(fz::datetime const&) const filezilla-edithandler.o
fz::process::process()              filezilla-fzputtygen_interface.o
fz::process::~process()             filezilla-fzputtygen_interface.o
fz::listen_socket::listen(fz::address_type, int) filezilla-netconfwizard.o
fz::rate_limited_layer::~rate_limited_layer() ../engine/libengine.a(libengine_a-transfersocket.o)
fz::public_key::to_base64[abi:cxx11](bool) const filezilla-asksavepassworddialog.o
fz::to_wstring_from_utf8(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) filezilla-asksavepassworddialog.o
fz::remove_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) filezilla-clearprivatedata.o
fz::datetime::get_tm(fz::datetime::zone) const ../engine/libengine.a(libengine_a-directorylistingparser.o)
vtable for fz::rate_limiter         ../engine/libengine.a(libengine_a-engine_context.o)
fz::create_pipe(int*)               ../dbus/libfzdbus.a(libfzdbus_a-wxdbusconnection.o)
fz::bucket::available(fz::direction::type)  ../engine/libengine.a(libengine_a-sftpcontrolsocket.o)
fz::rate_limit_manager::add(fz::rate_limiter*)     ../engine/libengine.a(libengine_a-engine_context.o)
typeinfo for fz::bucket             ../engine/libengine.a(libengine_a-sftpcontrolsocket.o)
fz::query_string::query_string(std::basic_string_view<char, std::char_traits<char> > const&) filezilla-queue_storage.o
fz::socket::socket(fz::thread_pool&, fz::event_handler*) filezilla-netconfwizard.o
fz::bucket::update_stats(bool&)     ../engine/libengine.a(libengine_a-sftpcontrolsocket.o)
fz::sleep(fz::duration const&)      ../engine/libengine.a(libengine_a-option_change_event_handler.o)
fz::file::close()                   filezilla-RemoteListView.o
fz::datetime::operator-=(fz::duration const&) ../engine/libengine.a(libengine_a-list.o)
fz::to_string[abi:cxx11](std::basic_string_view<wchar_t, std::char_traits<wchar_t> > const&) filezilla-edithandler.o
fz::public_key::from_base64(std::basic_string_view<char, std::char_traits<char> > const&) filezilla-queue_storage.o
fz::file::read(void*, long)         filezilla-updater.o
fz::tls_layer::get_gnutls_version[abi:cxx11]() ../engine/libengine.a(libengine_a-misc.o)
fz::rate_limiter::~rate_limiter()   ../engine/libengine.a(libengine_a-engine_context.o)
fz::local_filesys::begin_find_files(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool) filezilla-local_recursive_operation.o
fz::file::opened() const            filezilla-updater.o
fz::thread_pool::spawn(std::function<void ()> const&) filezilla-local_recursive_operation.o
fz::event_handler::~event_handler() filezilla-netconfwizard.o
fz::condition::condition()          ../engine/libengine.a(libengine_a-iothread.o)
fz::condition::~condition()         ../engine/libengine.a(libengine_a-iothread.o)
fz::translate[abi:cxx11](char const*, char const*, long) filezilla-recursive_operation_status.o
fz::buffer::append(unsigned char const*, unsigned long) ../engine/libengine.a(libengine_a-controlsocket.o)
fz::local_filesys::~local_filesys() filezilla-local_recursive_operation.o
fz::socket::set_event_handler(fz::event_handler*)     filezilla-netconfwizard.o
fz::uri::to_string[abi:cxx11]() const ../engine/libengine.a(libengine_a-httpcontrolsocket.o)
fz::datetime::clear()               filezilla-xmlfunctions.o
fz::local_filesys::get_next_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) filezilla-themeprovider.o
fz::file::file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, fz::file::mode, fz::file::creation_flags) filezilla-RemoteListView.o
fz::local_filesys::set_modification_time(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, fz::datetime const&) filezilla-RemoteListView.o
fz::rate_limit_manager::rate_limit_manager(fz::event_loop&) ../engine/libengine.a(libengine_a-engine_context.o)
fz::public_verification_key::from_base64(std::basic_string_view<char, std::char_traits<char> > const&) filezilla-updater.o
fz::recursive_remove::remove(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) filezilla-LocalTreeView.o
fz::event_handler::event_handler(fz::event_loop&) filezilla-netconfwizard.o
fz::tls_layer::~tls_layer()         ../engine/libengine.a(libengine_a-ftpcontrolsocket.o)
fz::socket::peer_ip[abi:cxx11](bool) const filezilla-netconfwizard.o
fz::buffer::append(std::basic_string_view<char, std::char_traits<char> > const&) filezilla-netconfwizard.o
fz::socket_layer::forward_socket_event(fz::socket_event_source*, fz::socket_event_flag, int)  ../engine/libengine.a(libengine_a-proxy.o)
fz::condition::signal(fz::scoped_lock&)    ../engine/libengine.a(libengine_a-iothread.o)
fz::condition::wait(fz::scoped_lock&)    ../engine/libengine.a(libengine_a-iothread.o)
fz::process::write(char const*, unsigned int) filezilla-fzputtygen_interface.o
fz::uri::resolve(fz::uri const&)    ../engine/libengine.a(libengine_a-filetransfer.o)
fz::random_bytes(unsigned long)     filezilla-asksavepassworddialog.o
fz::async_task::~async_task()       filezilla-local_recursive_operation.o
fz::get_ipv6_long_form[abi:cxx11](std::basic_string_view<char, std::char_traits<char> > const&) ../engine/libengine.a(libengine_a-externalipresolver.o)
fz::get_ipv6_long_form[abi:cxx11](std::basic_string_view<wchar_t, std::char_traits<wchar_t> > const&) filezilla-netconfwizard.o
fz::bucket_base::remove_bucket()     ../engine/libengine.a(libengine_a-sftpcontrolsocket.o)
fz::datetime::set(fz::datetime::zone, int, int, int, int, int, int, int) ../engine/libengine.a(libengine_a-directorylistingparser.o)
fz::set_translators(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (*)(char const*), std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (*)(char const*, char const*, long)) filezilla-FileZilla.o
fz::socket_layer::set_event_passthrough()     ../engine/libengine.a(libengine_a-proxy.o)
fz::operator-(fz::datetime const&, fz::datetime const&) filezilla-listctrlex.o
fz::socket_layer::shutdown_read()     ../engine/libengine.a(libengine_a-proxy.o)
fz::decrypt(std::vector<unsigned char, std::allocator<unsigned char> > const&, fz::private_key const&, bool) filezilla-serverdata.o
fz::mutex::lock()                   ../engine/libengine.a(libengine_a-sftpcontrolsocket.o)
fz::tls_layer::tls_layer(fz::event_loop&, fz::event_handler*, fz::socket_interface&, fz::tls_system_trust_store*, fz::logger_interface&) ../engine/libengine.a(libengine_a-ftpcontrolsocket.o)
fz::tls_layer::set_verification_result(bool) ../engine/libengine.a(libengine_a-ftpcontrolsocket.o)
fz::tls_system_trust_store::~tls_system_trust_store() ../engine/libengine.a(libengine_a-engine_context.o)
fz::translate[abi:cxx11](char const*) filezilla-asyncrequestqueue.o
fz::base64_encode[abi:cxx11](std::basic_string_view<char, std::char_traits<char> > const&, fz::base64_type, bool) filezilla-serverdata.o
fz::event_loop::filter_events(std::function<bool (std::pair<fz::event_handler*, fz::event_base*>&)> const&) ../engine/libengine.a(libengine_a-sftpcontrolsocket.o)
fz::tls_layer::client_handshake(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../engine/libengine.a(libengine_a-transfersocket.o)
fz::bucket::unlock_tree()           ../engine/libengine.a(libengine_a-sftpcontrolsocket.o)
fz::datetime::imbue_time(int, int, int, int) ../engine/libengine.a(libengine_a-directorylistingparser.o)
fz::local_filesys::get_size(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool*) filezilla-filter.o
fz::bucket::~bucket()               ../engine/libengine.a(libengine_a-sftpcontrolsocket.o)
fz::socket::~socket()               filezilla-netconfwizard.o
fz::event_loop::send_event(fz::event_handler*, fz::event_base*)      ../engine/libengine.a(libengine_a-externalipresolver.o)
fz::strtok_view(std::basic_string_view<wchar_t, std::char_traits<wchar_t> > const&, std::basic_string_view<wchar_t, std::char_traits<wchar_t> > const&, bool) ../engine/libengine.a(libengine_a-sftpcontrolsocket.o)
fz::percent_encode_w[abi:cxx11](std::basic_string_view<wchar_t, std::char_traits<wchar_t> > const&, bool) filezilla-RemoteListView.o
fz::local_filesys::get_link_target(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) filezilla-xmlfunctions.o
fz::bucket::gather_unspent_for_removal()    ../engine/libengine.a(libengine_a-sftpcontrolsocket.o)
fz::event_loop::event_loop(fz::thread_pool&) ../engine/libengine.a(libengine_a-engine_context.o)
fz::hash_accumulator::update(unsigned char const*, unsigned long) filezilla-updater.o
fz::bucket_base::set_mgr_recursive(fz::rate_limit_manager*)      ../engine/libengine.a(libengine_a-sftpcontrolsocket.o)
fz::datetime::datetime(long, fz::datetime::accuracy) ../engine/libengine.a(libengine_a-directorylistingparser.o)
fz::listen_socket::listen_socket(fz::thread_pool&, fz::event_handler*) filezilla-netconfwizard.o
fz::socket_base::bind(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../engine/libengine.a(libengine_a-transfersocket.o)
fz::socket_layer::socket_layer(fz::event_handler*, fz::socket_interface&, bool) ../engine/libengine.a(libengine_a-proxy.o)
fz::datetime::empty() const         filezilla-edithandler.o
typeinfo for fz::socket_layer       ../engine/libengine.a(libengine_a-proxy.o)
fz::listen_socket::~listen_socket() filezilla-netconfwizard.o
fz::str_tolower_ascii[abi:cxx11](std::basic_string_view<char, std::char_traits<char> > const&) ../engine/libengine.a(libengine_a-request.o)
fz::str_tolower_ascii[abi:cxx11](std::basic_string_view<wchar_t, std::char_traits<wchar_t> > const&) filezilla-serverdata.o
wchar_t fz::tolower_ascii<wchar_t>(wchar_t) filezilla-auto_ascii_files.o
fz::buffer::get(unsigned long)      ../engine/libengine.a(libengine_a-externalipresolver.o)
fz::buffer::add(unsigned long)      ../engine/libengine.a(libengine_a-externalipresolver.o)
fz::event_handler::stop_timer(unsigned long long) ../engine/libengine.a(libengine_a-engineprivate.o)
fz::tls_system_trust_store::tls_system_trust_store(fz::thread_pool&) ../engine/libengine.a(libengine_a-engine_context.o)
fz::stricmp(std::basic_string_view<wchar_t, std::char_traits<wchar_t> > const&, std::basic_string_view<wchar_t, std::char_traits<wchar_t> > const&) filezilla-LocalListView.o
fz::private_key::pubkey() const     filezilla-asksavepassworddialog.o
fz::query_string::to_string[abi:cxx11](bool) const filezilla-queue_storage.o
fz::rate_limiter::set_limits(unsigned long, unsigned long) ../engine/libengine.a(libengine_a-engine_context.o)
fz::query_string::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) filezilla-queue_storage.o
fz::thread::own_id()                ../engine/libengine.a(libengine_a-option_change_event_handler.o)
fz::rate_limited_layer::rate_limited_layer(fz::event_handler*, fz::socket_interface&, fz::rate_limiter*) ../engine/libengine.a(libengine_a-transfersocket.o)
fz::process::spawn(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) filezilla-fzputtygen_interface.o
fz::datetime::operator<=(fz::datetime const&) const filezilla-themeprovider.o
fz::tls_layer::get_state() const    ../engine/libengine.a(libengine_a-ftpcontrolsocket.o)
fz::file::truncate()                ../engine/libengine.a(libengine_a-iothread.o)
fz::bucket::add_tokens(fz::direction::type, unsigned long, unsigned long) ../engine/libengine.a(libengine_a-sftpcontrolsocket.o)
fz::process::read(char*, unsigned int) filezilla-fzputtygen_interface.o
fz::socket::read(void*, unsigned int, int&) filezilla-netconfwizard.o
fz::tls_layer::get_raw_certificate() const ../engine/libengine.a(libengine_a-transfersocket.o)
fz::socket_base::local_port(int&) const filezilla-netconfwizard.o
fz::local_filesys::get_next_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool&, bool&, long*, fz::datetime*, int*) filezilla-local_recursive_operation.o
fz::datetime::operator+=(fz::duration const&) filezilla-listingcomparison.o
fz::async_task::operator=(fz::async_task&&) filezilla-local_recursive_operation.o
fz::datetime::operator<(fz::datetime const&) const filezilla-LocalListView.o
fz::socket::get_state() const       ../engine/libengine.a(libengine_a-transfersocket.o)
fz::file::~file()                   filezilla-RemoteListView.o
fz::rate_limiter::add(fz::bucket_base*)     ../engine/libengine.a(libengine_a-connect.o)
fz::datetime::get_time_t() const    filezilla-verifycertdialog.o
fz::to_wstring_from_utf8[abi:cxx11](char const*, unsigned long) ../engine/libengine.a(libengine_a-request.o)
fz::private_key::from_password(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int) filezilla-asksavepassworddialog.o
ld: fatal: symbol referencing errors. No output written to filezilla
collect2: error: ld returned 1 exit status
gmake[4]: *** [Makefile:1125: filezilla] Error 1
gmake[4]: Leaving directory '/tmp/filezilla-3.47.2.1/src/interface'
gmake[3]: *** [Makefile:3123: all-recursive] Error 1
gmake[3]: Leaving directory '/tmp/filezilla-3.47.2.1/src/interface'
gmake[2]: *** [Makefile:970: all] Error 2
gmake[2]: Leaving directory '/tmp/filezilla-3.47.2.1/src/interface'
gmake[1]: *** [Makefile:436: all-recursive] Error 1
gmake[1]: Leaving directory '/tmp/filezilla-3.47.2.1/src'

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: Building Filezilla 3.47.2.1 on OpenIndiana Hipster

#6 Post by botg » 2020-04-03 23:16

For some obscure reason the argument to link with libfilezilla is missing. What's the output of the following command on your system?

Code: Select all

pkg-config --libs libfilezilla

tflower
504 Command not implemented
Posts: 10
Joined: 2020-04-02 14:51
First name: t
Last name: f

Re: Building Filezilla 3.47.2.1 on OpenIndiana Hipster

#7 Post by tflower » 2020-04-04 12:47

Working on missing library issue, if compilation successful and executable okay after testing then I will post the build instructions

tflower
504 Command not implemented
Posts: 10
Joined: 2020-04-02 14:51
First name: t
Last name: f

Re: Building Filezilla 3.47.2.1 on OpenIndiana Hipster

#8 Post by tflower » 2020-04-05 14:56

Hi
I found that the reason Filezill 3.47.2.1 would not link was due to a problem with the libfilezilla 2.20 build as I made a mistake.

So when I attempted to build libfilezilla 2.20 correctly I hit a number of problems, the first was a problem with ./lib/string.cpp due to issues with wcsnrtombs.
The wcsnrtombs was resolved by editing the string.cpp and replacing wcsnrtombs with std::wcsnrtombs (only two instances in file to change first on line 357 ).
The second problem was with a ./lib/tls_layer_impl.cpp which references functions in GnuTLS 3.6.X and not available in OpenIndiana's GnuTLS 2.5.16 package.
So in order to build libfilezilla 2.20 I needed to build a newer version of GnuTLS, initially tried 3.6.13 (which was a rabbit hole of problems due to a Guile issue) so reverted to GnuTLS 3.6.6 which fortunately works with the OpenIndana standard package of Guile 2.2.7.

The instructions below are those I used to build a Filezilla 3.47.2.1 executable but I get a run time library error for file that does exist

$ ldd /opt/gnu/bin/filezilla
libfilezilla.so.4 => /opt/gnu/lib/libfilezilla.so.4
libnettle.so.7 => /usr/lib/64/libnettle.so.7
libhogweed.so.5 => /usr/lib/64/libhogweed.so.5
libgnutls.so.30 => /opt/gnu/lib/libgnutls.so.30
libpthread.so.1 => /lib/64/libpthread.so.1
libdbus-1.so.3 => /usr/lib/64/libdbus-1.so.3
libwx_gtk3u_aui-3.0.so.0 => /opt/gnu/lib/libwx_gtk3u_aui-3.0.so.0
libwx_gtk3u_xrc-3.0.so.0 => /opt/gnu/lib/libwx_gtk3u_xrc-3.0.so.0
libwx_gtk3u_adv-3.0.so.0 => /opt/gnu/lib/libwx_gtk3u_adv-3.0.so.0
libwx_gtk3u_core-3.0.so.0 => /opt/gnu/lib/libwx_gtk3u_core-3.0.so.0
libwx_baseu_xml-3.0.so.0 => /opt/gnu/lib/libwx_baseu_xml-3.0.so.0
libwx_baseu-3.0.so.0 => /opt/gnu/lib/libwx_baseu-3.0.so.0
libidn.so.12 => /usr/lib/64/libidn.so.12
libsqlite3.so.0 => /usr/lib/64/libsqlite3.so.0
libgtk-3.so.0 => /usr/lib/64/libgtk-3.so.0
libgdk-3.so.0 => /usr/lib/64/libgdk-3.so.0
libpangocairo-1.0.so.0 => /usr/lib/64/libpangocairo-1.0.so.0
libpango-1.0.so.0 => /usr/lib/64/libpango-1.0.so.0
libatk-1.0.so.0 => /usr/lib/64/libatk-1.0.so.0
libcairo-gobject.so.2 => /usr/lib/64/libcairo-gobject.so.2
libcairo.so.2 => /usr/lib/64/libcairo.so.2
libgdk_pixbuf-2.0.so.0 => /usr/lib/64/libgdk_pixbuf-2.0.so.0
libgio-2.0.so.0 => /usr/lib/64/libgio-2.0.so.0
libgobject-2.0.so.0 => /usr/lib/64/libgobject-2.0.so.0
libglib-2.0.so.0 => /usr/lib/64/libglib-2.0.so.0
libsocket.so.1 => /lib/64/libsocket.so.1
libxnet.so.1 => /lib/64/libxnet.so.1
libstdc++.so.6 => /usr/gcc/8/lib/amd64/libstdc++.so.6
libm.so.2 => /lib/64/libm.so.2
librt.so.1 => /lib/64/librt.so.1
libgcc_s.so.1 => /usr/gcc/8/lib/amd64/libgcc_s.so.1
libc.so.1 => /lib/64/libc.so.1
libgnutls.so.30 => /usr/lib/64/libgnutls.so.30
libgmp.so.10 => /usr/lib/64/libgmp.so.10
libp11-kit.so.0 => /usr/lib/64/libp11-kit.so.0
libidn2.so.0 => /usr/lib/64/libidn2.so.0
libunistring.so.2 => /usr/lib/64/libunistring.so.2
libdl.so.1 => /lib/64/libdl.so.1
libtasn1.so.6 => /usr/lib/64/libtasn1.so.6
libintl.so.1 => /lib/64/libintl.so.1
libgen.so.1 => /lib/64/libgen.so.1
libnsl.so.1 => /lib/64/libnsl.so.1
libbsm.so.1 => /lib/64/libbsm.so.1
libgthread-2.0.so.0 => /usr/lib/64/libgthread-2.0.so.0
libX11.so.4 => /usr/lib/64/libX11.so.4
libXxf86vm.so.1 => /usr/lib/64/libXxf86vm.so.1
libSM.so.6 => /usr/lib/64/libSM.so.6
libnotify.so.4 => /usr/lib/64/libnotify.so.4
libpng16.so.16 => /usr/lib/64/libpng16.so.16
libz.so.1 => /usr/lib/64/libz.so.1
libjpeg.so.62 => /usr/lib/64/libjpeg.so.62
libtiff.so.5 => /usr/lib/64/libtiff.so.5
libwx_gtk3u_html-3.0.so.0 => (file not found)
libexpat.so.1 => /usr/lib/64/libexpat.so.1
libXinerama.so.1 => /usr/lib/64/libXinerama.so.1
libXrandr.so.2 => /usr/lib/64/libXrandr.so.2
libXcursor.so.1 => /usr/lib/64/libXcursor.so.1
libXext.so.0 => /usr/lib/64/libXext.so.0
libgmodule-2.0.so.0 => /usr/lib/64/libgmodule-2.0.so.0
libXi.so.5 => /usr/lib/64/libXi.so.5
libXcomposite.so.1 => /usr/lib/64/libXcomposite.so.1
libXdamage.so.1 => /usr/lib/64/libXdamage.so.1
libXfixes.so.1 => /usr/lib/64/libXfixes.so.1
libatk-bridge-2.0.so.0 => /usr/lib/64/libatk-bridge-2.0.so.0
libepoxy.so.0 => /usr/lib/64/libepoxy.so.0
libfribidi.so.0 => /usr/lib/64/libfribidi.so.0
libharfbuzz.so.0 => /usr/lib/64/libharfbuzz.so.0
libpangoft2-1.0.so.0 => /usr/lib/64/libpangoft2-1.0.so.0
libfontconfig.so.1 => /usr/lib/64/libfontconfig.so.1
libfreetype.so.6 => /usr/lib/64/libfreetype.so.6
libpixman-1.so.0 => /usr/lib/64/libpixman-1.so.0
libEGL.so.1 => /usr/lib/64/libEGL.so.1
libX11-xcb.so.1 => /usr/lib/64/libX11-xcb.so.1
libxcb.so.1 => /usr/lib/64/libxcb.so.1
libxcb-render.so.0 => /usr/lib/64/libxcb-render.so.0
libGL.so.1 => /usr/lib/64/libGL.so.1
libresolv.so.2 => /lib/64/libresolv.so.2
libffi.so.6 => /usr/lib/64/libffi.so.6
libpcre.so.0 => /usr/lib/64/libpcre.so.0
libmp.so.2 => /lib/64/libmp.so.2
libmd.so.1 => /lib/64/libmd.so.1
libsecdb.so.1 => /lib/64/libsecdb.so.1
libtsol.so.2 => /lib/64/libtsol.so.2
libinetutil.so.1 => /lib/64/libinetutil.so.1
libscf.so.1 => /lib/64/libscf.so.1
libICE.so.6 => /usr/lib/64/libICE.so.6
liblzma.so.5 => /usr/lib/64/liblzma.so.5
libjpeg.so.8 => /usr/lib/libjpeg8-turbo/lib/amd64/libjpeg.so.8
libXrender.so.1 => /usr/lib/64/libXrender.so.1
libatspi.so.0 => /usr/lib/64/libatspi.so.0
libgraphite2.so.3 => /usr/lib/64/libgraphite2.so.3
libuuid.so.1 => /lib/64/libuuid.so.1
libbz2.so.1 => /usr/lib/64/libbz2.so.1
libnvidia-glsi.so.1 => /usr/lib/64/libnvidia-glsi.so.1
libXau.so.6 => /usr/lib/64/libXau.so.6
libXdmcp.so.6 => /usr/lib/64/libXdmcp.so.6
libnvidia-tls.so.1 => /usr/lib/64/libnvidia-tls.so.1
libnvidia-glcore.so.1 => /usr/lib/64/libnvidia-glcore.so.1
libuutil.so.1 => /lib/64/libuutil.so.1
libnvpair.so.1 => /lib/64/libnvpair.so.1
libsmbios.so.1 => /usr/lib/64/libsmbios.so.1
libdlpi.so.1 => /lib/64/libdlpi.so.1
libdevinfo.so.1 => /lib/64/libdevinfo.so.1
libdladm.so.1 => /lib/64/libdladm.so.1
libsec.so.1 => /lib/64/libsec.so.1
librcm.so.1 => /lib/64/librcm.so.1
libexacct.so.1 => /usr/lib/64/libexacct.so.1
libkstat.so.1 => /lib/64/libkstat.so.1
libpool.so.1 => /usr/lib/64/libpool.so.1
libavl.so.1 => /lib/64/libavl.so.1
libidmap.so.1 => /usr/lib/64/libidmap.so.1
libxml2.so.2 => /usr/lib/64/libxml2.so.2
libXevie.so.1 => /usr/lib/64/libXevie.so.1
libXss.so.1 => /usr/lib/64/libXss.so.1
libofmt.so.1 => /lib/64/libofmt.so.1

$ filezilla
ld.so.1: filezilla: fatal: libwx_gtk3u_html-3.0.so.0: open failed: No such file or directory
Killed


Building Filezilla 3.47.2.1 on OpenIndiana Hipster 2019.10 30th March 2020 SunOS 5.11 illumos-c559157643 i86pc i386 i86pc

Prerequisite Packages to be installed or built for libfilezilla 20.2 and filezila 3.47.2.1

gnu idn (install pkg:/library/libidn@1.35-2018.0.0.0)

gnu idn2 (install pkg pkg:/library/libidn2@2.3.0-2019.0.0.0 )

gnu gettext ( install pkg pkg:/text/gnu-gettext@0.19.8.1-2018.0.0.0)

pugimxl (install pkg:/library/pugixml@1.9-2018.0.0.1 )

guile (install pkg:/library/guile@2.2.7-2020.0.1.0 )

gtk3 (install pkg://openindiana.org/library/desktop/gtk3@3.24.12-2019.0.0.0 )

gmp (install pkg:/library/gmp@6.1.2-2020.0.1.2 )


To Build wxWidgets 3.0.4 Stable release do not use Development Release

$ CC=/usr/gcc/8/bin/gcc CFLAGS=-m64 CXX=/usr/gcc/8/bin/g++ CXXFLAGS="-m64 -fpermissive" LDFLAGS=-m64 QT5_CUSTOM_DIR=/usr/lib/qt/5.8 ./configure --prefix=/opt/gnu --with-qt --with-gtk=3


To Build Nettle 3.5.1 and libhogweed library must be built

$ CC=gcc CFLAGS="-m64 -I/usr/include -I/opt/gnu/include/gmp" CXX=g++ CPPFLAGS="-m64 -I/usr/include -I/opt/gnu/include/" NETTLE_CFLAGS="-I/opt/gnu/include/nettle" NETTLE_LIBS="-L/opt/gnu/lib/64" HOGWEED_CFLAGS="-I/opt/gnu/include/nettle/" HOGWEED_LIBS="-L/opt/gnu/lib/64" ./configure --prefix=/opt/gnu --enable-shared=yes --disable-static --disable-assembler --build=x86_64-pc-solaris2
$ gmake
# gmake install

To Build GnuTLS 3.6.6

$ PATH=/opt/gcc/8/bin:/usr/bin/amd64:/usr/gnu/bin:$PATH
$ CC=gcc CXX=g++ CFLAGS="-m64 -I/usr/include/idn -I/usr/include/idn2 -I/usr/gnu/include" CXXFLAGS="-m64" NETTLE_CFLAGS="-I/opt/gnu/include/nettle" NETTLE_LIBS="-L/opt/gnu/lib/64" HOGWEED_CFLAGS="-I/opt/gnu/include/nettle/" HOGWEED_LIBS="-L/opt/gnu/lib/64" GUILE_CFLAGS=--no-auto-compile GUILE_LIBS=/opt/gnu/lib ./configure --prefix=/opt/gnu --enable-openssl-compatibility --disable-ssl2-support --disable-dependency-tracking --enable-shared --disable-static
$ gmake
# gmake install


To Build libfilezilla 2.20

PATH=/opt/gcc/8/bin:/usr/bin:$PATH

edit lib/string.cpp replace wcsnrtombs with std::wcsnrtombs

CXX=g++ CXXFLAGS="-m64 -I/usr/include/iso -I/opt/gnu/include -fpermissive" LDFLAGS="-L/usr/lib -L/opt/gnu/lib/64 -L/opt/gnu/lib" CPP=cpp CPPFLAGS="-I/opt/gnu/include -I/usr/include -I/opt/gnu/include" CC=gcc CFLAGS="-m64" PKG_CONFIG_PATH="/opt/gnu/lib/pkgconfig:/opt/gnu/lib/64/pkgconfig" ./configure --prefix=/opt/gnu --disable-static --enable-shared


To Build filezilla 3.47.2.1
PATH=/opt/gcc/8/bin:/usr/gnu/bin:$PATH

CXX=/usr/gcc/8/bin/g++ CXXFLAGS="-m64 -I/usr/include/idn -I/usr/include/idn2 -I/usr/include/pugixml-1.9 -I/opt/gnu/include -I/opt/gnu/include/libfilezilla -fpermissive" CPP=/usr/gcc/8/bin/cpp CC=/usr/gcc/8/bin/gcc CFLAGS="-m64 -I/usr/include/idn -I/usr/include/idn2 -I/usr/include/pugixml-1.9 -I/opt/gnu/include -I/opt/gnu/include/libfilezilla" PKG_CONFIG_PATH="/opt/gnu/lib/64/pkgconfig:/opt/gnu/lib/pkgconfig:$PKG_CONFIG_PATH" LDFLAGS="-m64 -L/usr/lib -L/usr/lib/pugixml-1.9 -L/opt/gnu/lib/64 -L/opt/gnu/lib" ./configure --prefix=/opt/gnu --enable-shared --disable-static --with-pugixml=builtin --disable-dependency-tracking

Any pointers to fix this

TIA

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: Building Filezilla 3.47.2.1 on OpenIndiana Hipster

#9 Post by botg » 2020-04-06 10:12

The wcsnrtombs was resolved by editing the string.cpp and replacing wcsnrtombs with std::wcsnrtombs (only two instances in file to change first on line 357 ).
That looks wrong. std::wcsnrtombs is not an official part of the standard library. Please try this change instead; add this to the top of string.cpp: #include <wchar.h>
The second problem was with a ./lib/tls_layer_impl.cpp which references functions in GnuTLS 3.6.X and not available in OpenIndiana's GnuTLS 2.5.16 package.
A fix for this had already been committed to the repository.
So in order to build libfilezilla 2.20 I needed to build a newer version of GnuTLS, initially tried 3.6.13 (which was a rabbit hole of problems due to a Guile issue) so reverted to GnuTLS 3.6.6 which fortunately works with the OpenIndana standard package of Guile 2.2.7.
You can configure GnuTLS with --disable-guile
ld.so.1: filezilla: fatal: libwx_gtk3u_html-3.0.so.0: open failed: No such file or directory
Did you include the directory containing the shared objects to your library search path, e.g. by means of the LD_LIBRARY_PATH environment variable?

tflower
504 Command not implemented
Posts: 10
Joined: 2020-04-02 14:51
First name: t
Last name: f

Re: Building Filezilla 3.47.2.1 on OpenIndiana Hipster

#10 Post by tflower » 2020-04-06 15:03

I found it was wxWidgets 3.0.4 build that was triggering the problem, in the process of rebuilding.
So will proceed to take your suggestions once wxWidgets no longer errors.

Thanks for the feedback

tflower
504 Command not implemented
Posts: 10
Joined: 2020-04-02 14:51
First name: t
Last name: f

Re: Building Filezilla 3.47.2.1 on OpenIndiana Hipster

#11 Post by tflower » 2020-04-06 20:20

Hi

Fixed the wxWidgets 3.0.4 build, then realised there was a problem with Nettle 3.5.1 so had to rebuild that which in turn required GnuTLS 3.6.6 to be rebuilt.

Then rebuilt libfilezilla 2.20 tried #include <wchar.h> in libfilezilla ./lib/string.cpp but this did not work, so reverted to changing wcsnrtombs with std::wcsnrtombs which does allow the build

After rebuilding Filezilla 3.47.2.1 I am now getting the following error

$ filezilla.0
Reading locale option from /home/tflower/.filezilla/filezilla.xml
Fatal Error: Mismatch between the program and library build versions detected.
The library used 3.0 (wchar_t,compiler with C++ ABI 1011,wx containers,compatible with 2.8 ),
and your program used 3.0 (wchar_t,compiler with C++ ABI 1013,wx containers,compatible with 2.8 ).
Edit 7th April 2020 It looks as if the build will require OpenIndiana to change its default gcc compilter version from gcc 7.5.0 to gcc 8.4.0 in order to address the library issue as the libfilezilla using libraries built with gcc 7.5.0. Unfortunately build requires gcc 8.4.0

The Build instructions to get this far are included below

Building Filezilla 3.47.2.1 on OpenIndiana Hipster 2019.10 30th March 2020 SunOS 5.11 illumos-c559157643 i86pc i386 i86pc

Prerequisite Packages to be installed or built for libfilezilla 20.2 and filezila 3.47.2.1


gnu idn (install pkg:/library/libidn@1.35-2018.0.0.0)

gnu idn2 (install pkg pkg:/library/libidn2@2.3.0-2019.0.0.0 )

gnu gettext ( install pkg pkg:/text/gnu-gettext@0.19.8.1-2018.0.0.0)

pugimxl (install pkg:/library/pugixml@1.9-2018.0.0.1 )

guile (install pkg:/library/guile@2.2.7-2020.0.1.0 )

gtk3 (install pkg://openindiana.org/library/desktop/gtk3@3.24.12-2019.0.0.0 )

gmp (install pkg:/library/gmp@6.1.2-2020.0.1.2 )


To Build wxWidgets 3.0.4 Stable release do not use Development Release

Requires LD_LIBRARY_PATH=/opt/gnu/lib:$LD_LIBRARY_PATH ; export LD_LIBRARY_PATH orherwise libraries in /opt/gnu/lib not found

$ CC=/usr/gcc/8/bin/gcc CFLAGS=-m64 CXX=/usr/gcc/8/bin/g++ CXXFLAGS="-m64 -fpermissive" LDFLAGS="-m64 -L/opt/gnu/lib" PKG_CONFIG_PATH="/usr/lib/pkgconfig:/opt/gnu/lib:$PKG_CONFIG_PATH" ./configure --prefix=/opt/gnu --with-gtk=2 --enable-ipv6


To Build Nettle 3.5.1 and libhogweed library must be built using OpenIndiana pkg libraries

$ CC=gcc CFLAGS="-m64 -I/usr/include -I/usr/include/gmp" CXX=g++ CPPFLAGS="-m64 -I/usr/include -I/usr/include/gmp" ./configure --prefix=/opt/gnu --enable-shared=yes --disable-static --disable-assembler --build=x86_64-pc-solaris2


To Build GnuTLS 3.6.6

$ PATH=/opt/gcc/8/bin:/usr/bin/amd64:/opt/gnu/bin:/usr/bin:$PATH

$ CC=gcc CXX=g++ CFLAGS="-m64 -I/usr/include/gmp -I/usr/include/idn2" CXXFLAGS="-m64 -I/usr/include/gmp -I/usr/include/idn2" PKG_CONFIG_PATH="/opt/gnu/lib/64/pkgconfig:/usr/lib/pkgconfig:/opt/gnu/lib/pkgconfig:$PKG_CONFIG_PATH" ./configure --prefix=/opt/gnu --enable-openssl-compatibility --disable-ssl2-support --disable-dependency-tracking --enable-shared --disable-static --disable-guile

gmake
$ gmake
# gmake install


To Build libfilezilla 2.20

PATH=/opt/gcc/8/bin:/opt/gnu/bin:/usr/gnu/bin:/usr/bin:$PATH

edit lib/string.cpp replace wcsnrtombs with std::wcsnrtombs

$ CXX=g++ CXXFLAGS="-m64 -I/usr/include/iso -I/usr/include/gmp -I/opt/gnu/include -fpermissive" LDFLAGS="-L/usr/lib -L/opt/gnu/lib/64 -L/opt/gnu/lib" CPP=cpp CPPFLAGS="-I/opt/gnu/include -I/usr/include -I/usr/include/gmp -I/opt/gnu/include" CC=gcc CFLAGS="-m64" PKG_CONFIG_PATH="/opt/gnu/lib/pkgconfig:/opt/gnu/lib/64/pkgconfig" ./configure --prefix=/opt/gnu --disable-static --enable-shared


To Build filezilla 3.47.2.1 (original)
PATH=/opt/gcc/8/bin:/usr/gnu/bin:$PATH

CXX=/usr/gcc/bin/g++ CXXFLAGS="-m64 -I/usr/include/idn -I/usr/include/idn2 -I/usr/include/pugixml-1.9 -I/opt/gnu/include -I/opt/gnu/include/libfilezilla -fpermissive" CPP=/usr/gcc/8/bin/cpp CC=/usr/gcc/8/bin/gcc CFLAGS="-m64 -I/usr/include/idn -I/usr/include/idn2 -I/usr/include/pugixml-1.9 -I/opt/gnu/include -I/opt/gnu/include/libfilezilla" PKG_CONFIG_PATH="/opt/gnu/lib/64/pkgconfig:/opt/gnu/lib/pkgconfig:/usr/lib/64/pkgconfig:$PKG_CONFIG_PATH" LDFLAGS="-m64 -L/usr/lib -L/usr/lib/pugixml-1.9 -L/opt/gnu/lib/64 -L/opt/gnu/lib" ./configure --prefix=/opt/gnu --enable-shared --disable-static --with-pugixml=builtin --disable-dependency-tracking
Last edited by tflower on 2020-04-07 08:16, edited 3 times in total.

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: Building Filezilla 3.47.2.1 on OpenIndiana Hipster

#12 Post by botg » 2020-04-07 08:12

tflower wrote:
2020-04-06 20:20
Fatal Error: Mismatch between the program and library build versions detected.
The library used 3.0 (wchar_t,compiler with C++ ABI 1011,wx containers,compatible with 2.8),
and your program used 3.0 (wchar_t,compiler with C++ ABI 1013,wx containers,compatible with 2.8).
wxWidgets is needlessly finicky here. Make sure wxWidgets and the programs using wxWidgets are built using the same compiler version.

tflower
504 Command not implemented
Posts: 10
Joined: 2020-04-02 14:51
First name: t
Last name: f

Re: Building Filezilla 3.47.2.1 on OpenIndiana Hipster

#13 Post by tflower » 2020-04-07 08:44

Hi

Thanks for the assistance, the OpenIndiana/Solaris developers at least know how to build Filezilla 3.47.2.1 and waht dependancies are required including compiler version.

Investigating the wcsnrtombs issue instead of using std::wcsnrtombs in ./lib/string.cpp to allow compilation. I have tried editting ./lib/string.cpp and adding #include <iso/wchar_iso.h> and #include <wchar_iso.h> but the problem persisted.

On OpenIndiana the /usr/include/iso/wchar_iso.h> or #include <iso/wchar_iso.h> does contain the following definition of wcsnrtombs

#if defined(_XPG7) || !defined(_STRICT_SYMBOLS)
extern size_t wcsnrtombs(char *_RESTRICT_KYWD, const wchar_t **_RESTRICT_KYWD,
size_t, size_t, mbstate_t *_RESTRICT_KYWD);
#endif

Does this help providing a solution?

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: Building Filezilla 3.47.2.1 on OpenIndiana Hipster

#14 Post by botg » 2020-04-07 10:13

According to this it should suffice to just include wchar.h: https://illumos.org/man/3C/wcsnrtombs

tflower
504 Command not implemented
Posts: 10
Joined: 2020-04-02 14:51
First name: t
Last name: f

Re: Building Filezilla 3.47.2.1 on OpenIndiana Hipster

#15 Post by tflower » 2020-04-07 10:25

HI

Checking my system OpenIndiana Hipster which is based on illumos

tflower:/usr/include$ ls -l /usr/include/wchar.h
-rw-r--r-- 1 root bin 5437 Apr 4 20:33 /usr/include/wchar.h

tflower:/usr/include$ grep wcsnrtombs /usr/include/wchar.h

tflower:/usr/include$ ls -l /usr/include/iso/wchar_iso.h
-rw-r--r-- 1 root bin 12451 May 25 2019 /usr/include/iso/wchar_iso.h

tflower:/usr/include$ grep wcsnrtombs /usr/include/iso/wchar_iso.h
extern size_t wcsnrtombs(char *_RESTRICT_KYWD, const wchar_t **_RESTRICT_KYWD,

Post Reply