Opened 13 years ago

Closed 13 years ago

#27938 closed defect (fixed)

gnucash 2.4.0 fails to build +no_x11; missing gnucash-setup-env.in

Reported by: chocodup@… Owned by: drkp (Dan Ports)
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc: luis.miranda@…, olaf@…, bugztrac@…
Port: gnucash

Description (last modified by drkp (Dan Ports))

On Intel Leopard, with no_X11 variant, gnucash 2.4.0 fails to build.

The error is the following :

:info:build make[4]: *** No rule to make target `gnucash-setup-env-osx.in', needed by `gnucash-setup-env'.  Stop.

It seems that gnucash-setup-env-osx.in is needed, but not included in the source package.

Change History (9)

comment:1 Changed 13 years ago by drkp (Dan Ports)

Description: modified (diff)
Keywords: gnucash no_X11 gnucash-setup-env-osx removed
Owner: changed from macports-tickets@… to dports@…
Port: gnucash added
Status: newassigned
Summary: gnucash 2.4.0 fails to buildgnucash 2.4.0 fails to build +no_x11

comment:2 Changed 13 years ago by luis.miranda@…

Cc: luis.miranda@… added

Cc Me!

comment:3 Changed 13 years ago by drkp (Dan Ports)

Summary: gnucash 2.4.0 fails to build +no_x11gnucash 2.4.0 fails to build +no_x11; missing gnucash-setup-env.in

Yes, seems the file is missing.

The file is in the svn repository at http://svn.gnucash.org/repo/gnucash/tags/2.4.0/src/bin/gnucash-setup-env-osx.in but seems to have been left out of the dist tarball.

Now that I've finally got gtk +quartz and the other no_x11 dependencies built on my test system, let's see if this works.

comment:4 Changed 13 years ago by drkp (Dan Ports)

Hmm. With the file added, it successfully builds, so that's definitely an improvement.

Unfortunately gnucash does not start up correctly. It looks like it isn't setting up the environment correctly to find its modules. Previously gnucash was a wrapper script that loaded gnucash-setup-env and executed gnucash-bin; now it's just the binary which is supposed to set up the environment itself, but apparently isn't doing that right. Appears to work if I source /opt/local/bin/gnucash-setup-env and then run gnucash.

Also, gnucash-setup-env-osx tries to use dbus-launch, which isn't necessary with our launchd-enabled dbus port, so we should patch that out.

comment:5 in reply to:  4 ; Changed 13 years ago by chocodup@…

Replying to dports@…:

Hmm. With the file added, it successfully builds, so that's definitely an improvement.

Unfortunately gnucash does not start up correctly. It looks like it isn't setting up the environment correctly to find its modules. Previously gnucash was a wrapper script that loaded gnucash-setup-env and executed gnucash-bin; now it's just the binary which is supposed to set up the environment itself, but apparently isn't doing that right. Appears to work if I source /opt/local/bin/gnucash-setup-env and then run gnucash.

Also, gnucash-setup-env-osx tries to use dbus-launch, which isn't necessary with our launchd-enabled dbus port, so we should patch that out.

I tried the the same things.

After I used the file from gnucash svn, gnucash succeeded to build, but it failed to start (with no specific error message).

Then, I sourced /opt/local/bin/gnucash-setup-env before running gnucash : it failed to start with the following error message

dyld: Symbol not found: _gll_noop
  Referenced from: /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
  Expected in: /opt/local/lib/libGL.dylib

To make gnucash run successfully, I needed to deactivate mesa first :

sudo port deactivate mesa

Thanks for your help.

I agree with you : some patching is needed to build and run gnucash flawlessly.

comment:6 Changed 13 years ago by olaf@…

Cc: olaf@… added

Cc Me!

comment:7 in reply to:  5 Changed 13 years ago by drkp (Dan Ports)

Replying to chocodup@…:

To make gnucash run successfully, I needed to deactivate mesa first :

Yes, I hit that too. It's mucking with DYLD_LIBRARY_PATH, which it almost certainly shouldn't be doing.

comment:8 Changed 13 years ago by bugztrac@…

Cc: bugztrac@… added

Cc Me!

comment:9 Changed 13 years ago by drkp (Dan Ports)

Resolution: fixed
Status: assignedclosed

Actually, I think it's better if we don't use any of the OS X/Quartz-specific environment setup stuff because we don't need it. We don't need to call dbus-launch, and we don't appear to need to set any DYLD variables other than what gnucash's regular code sets for loading its libraries. And we don't have to mess with a separate script.

I made this change in r75076. Looks like it's working for me, but please be sure to report if anything isn't working as expected with the quartz version, as I normally use the x11 version myself.

Note: See TracTickets for help on using tickets.