prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.74k stars 1.93k forks source link

boost::filesystem::canonical: No such file or directory #4973

Closed pmjdebruijn closed 3 years ago

pmjdebruijn commented 4 years ago

Version

2.3.0~alpha0+1188~g12b1de53d built with -DSLIC3R_FHS=1

Operating system type + version

xubuntu 20.04 LTS

Behavior

When I start prusa-slicer, it wants the directory prusa-slicer to exist in the current working directory, as I'm getting this error (CURRENT_WORKING_DIR is whatever the current working directory is):

PrusaSlicer GUI initialization failed: boost::filesystem::canonical: No such file or directory: "CURRENT_WORKING_DIR/prusa-slicer"

If I create an empty directory it starts just fine.

Regression introduced in 7531da603bb2d8a29be92695df26625c023927f3 as everything works fine again when this commit is locally reverted.

bubnikv commented 4 years ago

Would you please retest with the current master? We hope the issue is solved by creating the missing datadir early.

ne 25. 10. 2020 v 17:52 odesílatel Pascal de Bruijn < notifications@github.com> napsal:

Version

2.3.0~alpha0+1188~g12b1de53d built with -DSLIC3R_FHS=1 Operating system type + version

xubuntu 20.04 LTS Behavior

When I start prusa-slicer, it wants the directory prusa-slicer to exist in the current working directory, as I'm getting this error:

PrusaSlicer GUI initialization failed: boost::filesystem::canonical: No such file or directory: "CURRENT_WORKING_DIR/prusa-slicer"

If I create an empty directory it starts just fine.

Regression introduced in 7531da6 https://github.com/prusa3d/PrusaSlicer/commit/7531da603bb2d8a29be92695df26625c023927f3 as everything works fine again when this commit is locally reverted.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/prusa3d/PrusaSlicer/issues/4973, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABMPSI3SSRZWDVBQCNFFCPTSMRJVJANCNFSM4S6OK4OQ .

pmjdebruijn commented 4 years ago

The problem still exists in current master (2.3.0~alpha2+37~g0798fa818)

Keep in mind it wants a prusa-slicer directory in my current working directory, not my home directory.

So it's different depending on where the prusa-slicer binary is started.

JacekJagosz commented 4 years ago

I can confirm the same thing happening on Solus, also starts working only if you create an empty directory.

lukasmatena commented 4 years ago

@JacekJagosz Does it also happen with our AppImage or have you built it yourself too?

JacekJagosz commented 4 years ago

I build it myself, I'm maintainer for Solus. Only clue I see for this problem is it might be connected to wxwidgets, as I build it with WX_STABLE=1, but otherwise I don't see how I could be the problem.

PrusaSlicer GUI initialization failed: boost::filesystem::canonical: No such file or directory: "/home/jacek/prusa-slicer"

(process:171438): GLib-GObject-WARNING **: 09:12:54.377: invalid (NULL) pointer instance

(process:171438): GLib-GObject-CRITICAL **: 09:12:54.378: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(process:171438): Gtk-CRITICAL **: 09:12:54.380: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:171438): GLib-GObject-CRITICAL **: 09:12:54.380: g_object_get: assertion 'G_IS_OBJECT (object)' failed

(process:171438): GLib-GObject-WARNING **: 09:12:54.380: value "TRUE" of type 'gboolean' is invalid or out of range for property 'visible' of type 'gboolean'

(process:171438): Gtk-CRITICAL **: 09:12:54.380: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:171438): GLib-GObject-CRITICAL **: 09:12:54.380: g_object_get: assertion 'G_IS_OBJECT (object)' failed

(process:171438): Gdk-CRITICAL **: 09:12:54.380: IA__gdk_screen_get_display: assertion 'GDK_IS_SCREEN (screen)' failed

(process:171438): Gdk-CRITICAL **: 09:12:54.380: IA__gdk_display_pointer_ungrab: assertion 'GDK_IS_DISPLAY (display)' failed

(process:171438): Gtk-WARNING **: 09:12:54.380: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window

(process:171438): Gdk-CRITICAL **: 09:12:54.380: IA__gdk_pango_context_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:171438): Pango-CRITICAL **: 09:12:54.380: pango_context_set_font_description: assertion 'context != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.381: pango_context_set_base_dir: assertion 'context != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.381: pango_context_set_language: assertion 'context != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.381: pango_layout_new: assertion 'context != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.381: pango_layout_set_text: assertion 'layout != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.381: pango_layout_set_attributes: assertion 'layout != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.381: pango_layout_set_alignment: assertion 'layout != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.381: pango_layout_set_ellipsize: assertion 'PANGO_IS_LAYOUT (layout)' failed

(process:171438): Pango-CRITICAL **: 09:12:54.381: pango_layout_set_single_paragraph_mode: assertion 'PANGO_IS_LAYOUT (layout)' failed

(process:171438): Pango-CRITICAL **: 09:12:54.381: pango_layout_set_width: assertion 'layout != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.381: pango_layout_get_extents: assertion 'layout != NULL' failed

(process:171438): Gtk-CRITICAL **: 09:12:54.381: IA__gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:171438): Gtk-CRITICAL **: 09:12:54.381: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:171438): Gtk-CRITICAL **: 09:12:54.381: IA__gtk_icon_size_lookup_for_settings: assertion 'GTK_IS_SETTINGS (settings)' failed

(process:171438): Gtk-WARNING **: 09:12:54.381: Invalid icon size 6

(process:171438): Gtk-CRITICAL **: 09:12:54.381: IA__gtk_icon_theme_load_icon: assertion 'GTK_IS_ICON_THEME (icon_theme)' failed

(process:171438): Gtk-WARNING **: 09:12:54.381: Error loading theme icon 'dialog-error' for stock: 

(process:171438): Gtk-CRITICAL **: 09:12:54.382: IA__gtk_icon_size_lookup_for_settings: assertion 'GTK_IS_SETTINGS (settings)' failed

(process:171438): Gtk-WARNING **: 09:12:54.382: gtkstyle.c:2358: invalid icon size '6'

(process:171438): Gtk-CRITICAL **: 09:12:54.382: IA__gtk_style_render_icon: assertion 'pixbuf != NULL' failed

(process:171438): GLib-GObject-CRITICAL **: 09:12:54.382: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(process:171438): Gdk-CRITICAL **: 09:12:54.382: IA__gdk_pango_context_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:171438): Pango-CRITICAL **: 09:12:54.382: pango_context_set_font_description: assertion 'context != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.382: pango_context_set_base_dir: assertion 'context != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.382: pango_context_set_language: assertion 'context != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.382: pango_layout_new: assertion 'context != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.382: pango_layout_set_text: assertion 'layout != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.382: pango_layout_set_alignment: assertion 'layout != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.382: pango_layout_set_ellipsize: assertion 'PANGO_IS_LAYOUT (layout)' failed

(process:171438): Pango-CRITICAL **: 09:12:54.383: pango_layout_set_single_paragraph_mode: assertion 'PANGO_IS_LAYOUT (layout)' failed

(process:171438): Pango-CRITICAL **: 09:12:54.383: pango_layout_set_wrap: assertion 'PANGO_IS_LAYOUT (layout)' failed

(process:171438): Pango-CRITICAL **: 09:12:54.383: pango_layout_set_width: assertion 'layout != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.383: pango_layout_get_extents: assertion 'layout != NULL' failed

(process:171438): Gdk-CRITICAL **: 09:12:54.383: IA__gdk_pango_context_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:171438): Pango-CRITICAL **: 09:12:54.383: pango_context_set_font_description: assertion 'context != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.383: pango_context_set_base_dir: assertion 'context != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.383: pango_context_set_language: assertion 'context != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.383: pango_layout_new: assertion 'context != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.383: pango_layout_set_text: assertion 'layout != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.383: pango_layout_get_extents: assertion 'layout != NULL' failed

(process:171438): GLib-GObject-CRITICAL **: 09:12:54.383: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(process:171438): Gdk-CRITICAL **: 09:12:54.383: IA__gdk_screen_get_width: assertion 'GDK_IS_SCREEN (screen)' failed

(process:171438): Gdk-CRITICAL **: 09:12:54.383: IA__gdk_screen_get_width: assertion 'GDK_IS_SCREEN (screen)' failed

(process:171438): Pango-CRITICAL **: 09:12:54.383: pango_layout_set_width: assertion 'layout != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.383: pango_layout_get_extents: assertion 'layout != NULL' failed

(process:171438): Pango-CRITICAL **: 09:12:54.383: pango_layout_get_line_count: assertion 'layout != NULL' failed
fish: 'prusa-slicer' zakończony sygnałem SIGFPE (Floating point exception)
pmjdebruijn commented 4 years ago

I have it with WX 3.1.4 as well, and the commit (7531da6) that introduced this issue, didn't change anything with regard to WX...

kocikdav commented 3 years ago

Hello, would you please try current master. Hopefully the boost::filesystem:canonical function will not crash anymore.

l29ah commented 3 years ago

On Tue, Nov 17, 2020 at 08:00:19AM -0800, kocikdav wrote:

Hello, would you please try current master. Hopefully the boost::filesystem:canonical function will not crash anymore.

Now it works, thank you.

-- () ascii ribbon campaign - against html mail /\ http://arc.pasp.de/ - against proprietary attachments

bubnikv commented 3 years ago

Fixed in PrusaSlicer 2.3.0-alpha4. Closing.