Opened 5 years ago

Closed 5 years ago

#48152 closed defect (invalid)

wxMaxima will not launch unless explicitly called with "open" command

Reported by: m74z00219@… Owned by: mkae (Marko Käning)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: ryandesign (Ryan Schmidt), mojca (Mojca Miklavec), larryv (Lawrence Velázquez)
Port: wxMaxima

Description

I was asked to open a new ticket after today posting to ticket #47755.

Here's what I said:

I would like to report that I can no longer launch wxmaxima directly. It'll launch if I use "open /path/to/wxmaxima.app," though not just by inputting "wxmaxima" as with other ports. Inputting "maxima" works just fine. Why might this be? I figure it has something to do with the removal of the above symlink and I know for a fact that "/Applications/MacPorts/" was never part of my PATH variable. Even so, I did try, in succession, adding "/Applications/MacPorts/" and "/Applications/MacPorts/wxMaxima.app" to my PATH and still it would not launch with "wxmaxima."

Here's some other stuff I tried. I "sudo port selfupdate" and "sudo port upgrade outdated". I did it once more just to be sure. Unfortunately, the problem persists.

Initially, I also had a problem with wxmaxima not being able to connect to maxima. This was resolved by making sure that wxMaxima was listening to the default port of xmaxima. Or, at least I think that's what did it. Actually, I just played around with the port option and apparently it still works, so...mystery. It connects so whatever.

I thought briefly about nuking my Macports installation, but that seems like overkill as it seems that the problem is just with maxima. Honestly, I'm so confused. There's also xmaxima -- where does that fit it in??

To sum up, what might explain the inability to launch wxmaxima from command line?

Here's my PATH:

PATH=/opt/local/bin:/opt/local/sbin:/opt/local/etc/php56:/opt/local/apache2/bin:/opt/local/lib/mysql56/bin:~/bin:~/.composer/vendor/bin:${PATH}

Thanks!

Change History (18)

comment:1 Changed 5 years ago by larryv (Lawrence Velázquez)

Owner: changed from macports-tickets@… to mk@…
Port: wxMaxima added; wxmaxima removed

In future tickets, please Cc the port maintainer also, if any (port info --maintainers wxMaxima).

comment:2 Changed 5 years ago by mkae (Marko Käning)

Version: 2.3.3

@Mojca: Hi, do you have a clue what's going on here?

comment:3 in reply to:  1 Changed 5 years ago by m74z00219@…

Replying to larryv@…:

In future tickets, please Cc the port maintainer also, if any (port info --maintainers wxMaxima).

So, that's how you do it from command line! I think I might have mixed up "owner" and "maintainer," though I suppose they could be one and the same.

comment:4 Changed 5 years ago by mojca (Mojca Miklavec)

I'm currently traveling and have some "issues" with internet connectivity (but mostly issues with lack of time). I will try to look into it (when I first wanted to check I no longer had wxMaxima installed and with the internet connection at that time there was no way for me to install it either).

comment:5 Changed 5 years ago by mkae (Marko Käning)

Thanks, Mojca!

comment:6 in reply to:  description ; Changed 5 years ago by ryandesign (Ryan Schmidt)

Replying to m74z00219@…:

I would like to report that I can no longer launch wxmaxima directly. It'll launch if I use "open /path/to/wxmaxima.app," though not just by inputting "wxmaxima" as with other ports.

Could you be more specific? What happens, exactly?

comment:7 in reply to:  description ; Changed 5 years ago by ryandesign (Ryan Schmidt)

Replying to m74z00219@…:

I did try, in succession, adding "/Applications/MacPorts/" and "/Applications/MacPorts/wxMaxima.app" to my PATH and still it would not launch with "wxmaxima."

Those would not be appropriate paths to add to your PATH variable, because those are not directories that contain UNIX executable files.

comment:8 Changed 5 years ago by mojca (Mojca Miklavec)

I'm mostly curious what you meant with "wxmaxima no longer works". When did it last work for you under Mac?

I tried launching

/Applications/MacPorts/wxMaxima.app/Contents/MacOS/wxmaxima

but it throws errors and crashes because it cannot find the necessary resources (which are there if you run "open -a wxMaxima"). Fixing those errors would require intervention of the upstream maintainer if you really insisted in having a command-line version of that software.

But when did you last use the command line to launch it?

comment:9 in reply to:  8 Changed 5 years ago by ryandesign (Ryan Schmidt)

Replying to mojca@…:

I tried launching

/Applications/MacPorts/wxMaxima.app/Contents/MacOS/wxmaxima

but it throws errors and crashes because it cannot find the necessary resources (which are there if you run "open -a wxMaxima").

Right, you're not usually supposed to launch OS X applications by running their executable directly; you're supposed to let the OS launch them, e.g. by double-clicking them in the Finder, single-clicking them in the Dock or Launchpad, or by using the open command. I didn't know if wxmaxima might be an exception to that, or if perhaps there was a command line wxmaxima that was supposed to be installed somewhere. It would help to know exactly what problem the reporter is seeing.

comment:10 Changed 5 years ago by mojca (Mojca Miklavec)

It would help to get his feedback, but my feeling is that he simply wants wxmaxima to launch the application.

This is not impossible per se (most apps have the reverse problem: that they work from command line, but developers didn't bother writing special case in their makefiles to make sure that an app is produced on Mac OS X).

It is just not clear not me how long has passed since running the command wxmaxima from terminal worked (if ever).

comment:11 in reply to:  10 ; Changed 5 years ago by ryandesign (Ryan Schmidt)

Replying to mojca@…:

my feeling is that he simply wants wxmaxima to launch the application.

If so, that's easily accomplished by defining an alias:

alias wxmaxima='open -a wxMaxima.app'

I have tons of aliases like that in my shell startup file.

comment:12 in reply to:  6 Changed 5 years ago by m74z00219@…

Replying to ryandesign@…:

Replying to m74z00219@…:

I would like to report that I can no longer launch wxmaxima directly. It'll launch if I use "open /path/to/wxmaxima.app," though not just by inputting "wxmaxima" as with other ports.

Could you be more specific? What happens, exactly?

It simply doesn't execute; the output is "-bash: wxmaxima: command not found".

comment:13 in reply to:  7 Changed 5 years ago by m74z00219@…

Replying to ryandesign@…:

Replying to m74z00219@…:

I did try, in succession, adding "/Applications/MacPorts/" and "/Applications/MacPorts/wxMaxima.app" to my PATH and still it would not launch with "wxmaxima."

Those would not be appropriate paths to add to your PATH variable, because those are not directories that contain UNIX executable files.

I figured as much, though I thought I'd share everything I tried just so it could be ruled out early.

comment:14 in reply to:  8 Changed 5 years ago by m74z00219@…

Replying to mojca@…:

I'm mostly curious what you meant with "wxmaxima no longer works". When did it last work for you under Mac?

I tried launching

/Applications/MacPorts/wxMaxima.app/Contents/MacOS/wxmaxima

but it throws errors and crashes because it cannot find the necessary resources (which are there if you run "open -a wxMaxima"). Fixing those errors would require intervention of the upstream maintainer if you really insisted in having a command-line version of that software.

But when did you last use the command line to launch it?

IIRC, it last worked before following the advice to delete this* symlink /opt/local/share/aclocal/wxwin.m4 (#48152). Actually, this symlink seems to have returned.

Trying "port provides /opt/local/share/aclocal/wxwin.m4" returns "/opt/local/share/aclocal/wxwin.m4 is not provided by a MacPorts port."

comment:15 in reply to:  11 ; Changed 5 years ago by m74z00219@…

Replying to ryandesign@…:

Replying to mojca@…:

my feeling is that he simply wants wxmaxima to launch the application.

If so, that's easily accomplished by defining an alias:

alias wxmaxima='open -a wxMaxima.app'

I have tons of aliases like that in my shell startup file.

Yes, that would work; but something must have gone wrong with my macports installation since wxmaxima used to launch when invoking it simply with "wxmaxima."

Last edited 5 years ago by m74z00219@… (previous) (diff)

comment:16 in reply to:  15 ; Changed 5 years ago by ryandesign (Ryan Schmidt)

Replying to m74z00219@…:

It simply doesn't execute; the output is "-bash: wxmaxima: command not found".

Does /opt/local/bin/wxmaxima exist? I presume it doesn't. I downloaded the most recent pre-compiled binary of wxMaxima from our packages server and verified it does not contain such a file. Also, wxMaxima was last updated one year ago; it hasn't changed since then.

Replying to m74z00219@…:

IIRC, it last worked before following the advice to delete this* symlink /opt/local/share/aclocal/wxwin.m4 (#48152). Actually, this symlink seems to have returned.

m4 files are used for building software; they are not related to running software.

Trying "port provides /opt/local/share/aclocal/wxwin.m4" returns "/opt/local/share/aclocal/wxwin.m4 is not provided by a MacPorts port."

The message is correct; that file would not be provided by installing a MacPorts port; rather, it would be provided by running "sudo port select wxwidgets"

Replying to m74z00219@…:

Yes, that would work; but something must have gone wrong with my macports installation since wxmaxima used to launch when invoking it simply with "wxmaxima."

Does running

/Applications/MacPorts/wxMaxima.app/Contents/MacOS/wxmaxima

work for you? Mojca said it didn't work for her, but if it works for you, perhaps you formerly had /Applications/MacPorts/wxMaxima.app/Contents/MacOS in your PATH. However, as we said above, that's not the normal way to run an OS X application. Use open -a.

comment:17 in reply to:  16 Changed 5 years ago by m74z00219@…

Replying to ryandesign@…:

Replying to m74z00219@…:

It simply doesn't execute; the output is "-bash: wxmaxima: command not found".

Does /opt/local/bin/wxmaxima exist? I presume it doesn't. I downloaded the most recent pre-compiled binary of wxMaxima from our packages server and verified it does not contain such a file. Also, wxMaxima was last updated one year ago; it hasn't changed since then.

Replying to m74z00219@…:

IIRC, it last worked before following the advice to delete this* symlink /opt/local/share/aclocal/wxwin.m4 (#48152). Actually, this symlink seems to have returned.

m4 files are used for building software; they are not related to running software.

Trying "port provides /opt/local/share/aclocal/wxwin.m4" returns "/opt/local/share/aclocal/wxwin.m4 is not provided by a MacPorts port."

The message is correct; that file would not be provided by installing a MacPorts port; rather, it would be provided by running "sudo port select wxwidgets"

Replying to m74z00219@…:

Yes, that would work; but something must have gone wrong with my macports installation since wxmaxima used to launch when invoking it simply with "wxmaxima."

Does running

/Applications/MacPorts/wxMaxima.app/Contents/MacOS/wxmaxima

work for you? Mojca said it didn't work for her, but if it works for you, perhaps you formerly had /Applications/MacPorts/wxMaxima.app/Contents/MacOS in your PATH. However, as we said above, that's not the normal way to run an OS X application. Use open -a.

Queer, "/opt/local/bin/wxmaxima" does not exist! This, I presume, is the source of my trouble. What could I do about this?

I tried running "/Applications/MacPorts/wxMaxima.app/Contents/MacOS/wxmaxima" and I got this:

../src/osx/core/bitmap.cpp(1295): assert "image.IsOk()" failed in wxBitmap(): invalid image
Collecting stack trace information, please wait...An admin user name and password is required to enter Developer Mode.
Admin user name (cdr35):

I entered my credentials and it gave me this:

atos[72079]: [fatal]  child process status could not be determined; exit code unavailable.

Then, wxmaxima did launch, but gave me an ugly message box.

wxWidgets Debug Alert

../src/osx/core/bitmap.cpp(1295): assert "image.IsOk()" failed in wxBitmap(): invalid image

Call stack:
[00] wxMaximaFrame::SetupToolBar()           
[01] wxMaximaFrame::wxMaximaFrame(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long) 
[02] wxMaxima::wxMaxima(wxWindow*, int, wxString, wxPoint, wxSize) 
[03] MyApp::NewWindow(wxString)              
[04] MyApp::OnInit()                         
[05] wxApp::CallOnInit()                     
[06] wxEntry(int&, wchar_t**)                
[07] main                                    
[08] start                                   

Do you want to stop the program?
You can also choose [Cancel] to suppress further warnings.

Next, I chose "cancel" and then "Segmentation fault: 11" was spit out to the terminal after wxmaxima crashed.

Last, I repeated the process, this time selecting "no." It gave me a couple more error boxes to go through before finally crashing.

Thoughts?

EDIT: No, I hadn't had "/Applications/MacPorts/wxMaxima.app/Contents/MacOS" in my PATH until I tried it the other day out of curiosity. It's since been corrected.

Last edited 5 years ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:18 Changed 5 years ago by ryandesign (Ryan Schmidt)

Resolution: invalid
Status: newclosed

I think we've confirmed that wxmaxima is not meant to be launched from the command line, other than by using open -a, so please do that, or make an alias to do so.

I cannot explain why you were able to launch wxmaxima from the command line before, but it looks like that was never meant to work.

Note: See TracTickets for help on using tickets.