build-aquamacs questions

29 views
Skip to first unread message

Robert Goldman

unread,
Mar 15, 2016, 12:14:22 PM3/15/16
to aquamacs-devel
Note that these are all for the 24 Jan version of aquamacs 3 that I'm using to try to locate the CPU usage issue.

1. I notice that the MACOS target output by build-aquamacs on my machine is 10.7.  But my mac is running 10.11.  Is this a problem?

2. For some reason Aquamacs is using the Mono framework, and not liking what it finds:

ld: warning: ignoring file /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/librsvg-2.dylib, file was built for i386 which is not the architecture being linked (x86_64): /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/librsvg-2.dylib

ld: warning: ignoring file /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/libgdk_pixbuf-2.0.dylib, file was built for i386 which is not the architecture being linked (x86_64): /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/libgdk_pixbuf-2.0.dylib

ld: warning: ignoring file /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/libgthread-2.0.dylib, file was built for i386 which is not the architecture being linked (x86_64): /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/libgthread-2.0.dylib

ld: warning: ignoring file /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/libgobject-2.0.dylib, file was built for i386 which is not the architecture being linked (x86_64): /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/libgobject-2.0.dylib

ld: warning: ignoring file /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/libgmodule-2.0.dylib, file was built for i386 which is not the architecture being linked (x86_64): /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/libgmodule-2.0.dylib

ld: warning: ignoring file /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/libglib-2.0.dylib, file was built for i386 which is not the architecture being linked (x86_64): /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/libglib-2.0.dylib

ld: warning: ignoring file /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/libintl.dylib, file was built for i386 which is not the architecture being linked (x86_64): /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/libintl.dylib

ld: warning: ignoring file /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/libpng12.dylib, file was built for i386 which is not the architecture being linked (x86_64): /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/libpng12.dylib

ld: warning: ignoring file /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/libcairo.dylib, file was built for i386 which is not the architecture being linked (x86_64): /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/libcairo.dylib


3.  Then I see:


Undefined symbols for architecture x86_64:

  "_g_clear_error", referenced from:

      _svg_load_image in image.o

  "_g_object_unref", referenced from:

      _svg_load_image in image.o

  "_g_type_init", referenced from:

      _svg_load_image in image.o

  "_gdk_pixbuf_get_height", referenced from:

      _svg_load_image in image.o

  "_gdk_pixbuf_get_pixels", referenced from:

      _svg_load_image in image.o

  "_gdk_pixbuf_get_rowstride", referenced from:

      _svg_load_image in image.o

  "_gdk_pixbuf_get_width", referenced from:

      _svg_load_image in image.o

  "_rsvg_handle_close", referenced from:

      _svg_load_image in image.o

  "_rsvg_handle_get_dimensions", referenced from:

      _svg_load_image in image.o

  "_rsvg_handle_get_pixbuf", referenced from:

      _svg_load_image in image.o

  "_rsvg_handle_new", referenced from:

      _svg_load_image in image.o

  "_rsvg_handle_set_base_uri", referenced from:

      _svg_load_image in image.o

  "_rsvg_handle_write", referenced from:

      _svg_load_image in image.o

ld: symbol(s) not found for architecture x86_64


Thanks,

r


David Reitter

unread,
Mar 15, 2016, 12:32:51 PM3/15/16
to aquamac...@googlegroups.com
On Mar 15, 2016, at 12:14 PM, Robert Goldman <rpgo...@gmail.com> wrote:
>
> Note that these are all for the 24 Jan version of aquamacs 3 that I'm using to try to locate the CPU usage issue.
>
> 1. I notice that the MACOS target output by build-aquamacs on my machine is 10.7. But my mac is running 10.11. Is this a problem?

The scripts are set up for backwards compatibility.

>
> 2. For some reason Aquamacs is using the Mono framework, and not liking what it finds:

> ld: warning: ignoring file /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/librsvg-2.dylib, file was built for i386 which is not the architecture being linked (x86_64): /Library/Frameworks/Mono.framework/Versions/2.10.8/lib/librsvg-2.dylib

Either reinstall/rebuild Mono, or prevent linking by using “configure”, “make install”, with the right parameter to “configure”.

The link errors may simply be a consequence of this.

- David

Robert P. Goldman

unread,
Mar 15, 2016, 12:42:36 PM3/15/16
to aquamac...@googlegroups.com
Sorry to be stupid, but how do I prevent linking by using configure?
There's no obvious "mono" option to configure.

$ ./configure --without-mono
configure: WARNING: unrecognized options: --without-mono

My guess is that it's not actually trying to link against mono, and that
instead it's stumbling on the graphics libraries that are in the mono
framework. How do I hide the mono framework from the aquamacs build?

When I simply do (instead of build-aquamacs):
./configure <no options>
and then
make install

I get the following error instead of the mono error, so maybe that did
it somehow:

make[1]: Circular bootstrap-emacs <- temacs dependency dropped.
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../lisp
update-subdirs
./temacs --batch --load loadup bootstrap
make[1]: ./temacs: No such file or directory
make[1]: *** [bootstrap-emacs] Error 1
make: *** [src] Error 2

Indeed, find shows that there is no file named temacs.

thanks,
r

David Reitter

unread,
Mar 15, 2016, 1:02:10 PM3/15/16
to aquamac...@googlegroups.com
On Mar 15, 2016, at 12:42 PM, Robert P. Goldman <rpgo...@sift.info> wrote:
>
> My guess is that it's not actually trying to link against mono, and that
> instead it's stumbling on the graphics libraries that are in the mono
> framework. How do I hide the mono framework from the aquamacs build?
>

Probably a good guess, given the later error messages.
Take a look at the build.sh build script, which sets PATH. This is done precisely to hide some things from the build.

'-nightly')
# do not use MacPorts / fink libraries for binary compatibility
PATH=$AUTOTOOLS:/bin:/sbin:/usr/bin:/usr/sbin
export GZIP_PROG=`which gzip`
echo "Building Aquamacs (nightly build).”


> I get the following error instead of the mono error, so maybe that did
> it somehow:
>
> make[1]: Circular bootstrap-emacs <- temacs dependency dropped.
> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../lisp
> update-subdirs
> ./temacs --batch --load loadup bootstrap
> make[1]: ./temacs: No such file or directory
> make[1]: *** [bootstrap-emacs] Error 1
> make: *** [src] Error 2
>
> Indeed, find shows that there is no file named teams.

Gee, I’m not sure. “make maintainer-clean” maybe.
Is this a good “make” to use?

All of this is due to the Emacs build system… I didn’t really change much.

Robert Goldman

unread,
Mar 15, 2016, 2:14:12 PM3/15/16
to aquamacs-devel
I did "make maintainer-clean" "./configure" and then "gmake install" and my mono framework woes came back again.

Looking further, I find these lines:

SVG_LIBS= -L/Library/Frameworks/Mono.framework/Versions/2.10.8/lib -lrsvg-2 -lm -lgdk_pixbuf-2.0 -lm -lgobject-2.0 -lgthread-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -lpng12 -lcairo 

RSVG_CFLAGS= -D_REENTRANT -I/Library/Frameworks/Mono.framework/Versions/2.10.8/include/librsvg-2 -I/Library/Frameworks/Mono.framework/Versions/2.10.8/include/gdk-pixbuf-2.0 -I/Library/Frameworks/Mono.framework/Versions/2.10.8/include/cairo -I/Library/Frameworks/Mono.framework/Versions/2.10.8/include/glib-2.0 -I/Library/Frameworks/Mono.framework/Versions/2.10.8/lib/glib-2.0/include -I/Library/Frameworks/Mono.framework/Versions/2.10.8/include -I/Library/Frameworks/Mono.framework/Versions/2.10.8/include/pixman-1 -I/Library/Frameworks/Mono.framework/Versions/2.10.8/include -I/Library/Frameworks/Mono.framework/Versions/2.10.8/include/freetype2 -I/Library/Frameworks/Mono.framework/Versions/2.10.8/include -I/Library/Frameworks/Mono.framework/Versions/2.10.8/include/libpng12 


in both lib/Makefile and src/Makefile


This looked connected to SVG support, so I redid


make maintainer-clean

./configure --without-svg

gmake install


and now the build runs to completion.


My *guess* is that something in configure looks for SVG support and stumbles on the Mono version.


I don't know if aquamacs is typically built with SVG support or without -- have I lost something by doing this --without-svg?


Would you mind posting what your Makefiles have for those SVG_LIBS variables, if anything?  That would let me begin to figure out how I might work around this issue, if SVG support should be there.


Thanks,

R

David Reitter

unread,
Mar 15, 2016, 3:15:38 PM3/15/16
to aquamac...@googlegroups.com
On Mar 15, 2016, at 2:14 PM, Robert Goldman <rpgo...@gmail.com> wrote:

> My *guess* is that something in configure looks for SVG support and stumbles on the Mono version.

Yes, I think that’s right.

> I don't know if aquamacs is typically built with SVG support or without -- have I lost something by doing this --without-svg?

Typically without. Don’t worry about it for your purposes.


> Would you mind posting what your Makefiles have for those SVG_LIBS variables, if anything? That would let me begin to figure out how I might work around this issue, if SVG support should be there.

Just don’t add it. I don’t have Mono installed locally, and like I said, the build environment for the nightly builds and the releases is tightly controlled, precisely because of the problems you’ve experienced.

- David


--
http://aquamacs.org -- Aquamacs: Emacs on Mac OS X
http://aquamacs.org/donate -- Could we help you? Return the favor and support the Aquamacs Project!
Reply all
Reply to author
Forward
0 new messages