[Solved] Building from Git on Linux: "was expanded before it was required"


#1

Greetings!

I’ve been attempting to build synfig from a clone of the Git repository master on Linux Mint 17 using the synfig build instructions wiki page, and I’ve run into the error message “AC_REQUIRE: `AC_HEADER_STDC’ was expanded before it was required.” while running autoreconf -i -f. I should point out that I had successfully installed the ETL module earlier this week. I returned to the ETL module after having zero luck installing the synfig-core module over the course of several days. My thought was that maybe I would have more luck if I started from the beginning, so I pulled fresh changes from the repository master and tried again. I was wrong.
I tried skipping over to build the synfig-core again to see if I could start from the later road block, but I got new errors messages that were different from my previous attempt. To make a long story short: I don’t know what I’m doing. :cry:

I appreciate any and all help.

Here’s the terminal output:

[code]~/synfig/ETL $ autoreconf --install --force

configure.ac:64: warning: AC_REQUIRE: `AC_HEADER_STDC’ was expanded before it was required
configure.ac:64: http://www.gnu.org/software/autoconf/manual/autoconf.html#Expanded-Before-Required
…/…/lib/autoconf/headers.m4:297: _AC_INCLUDES_DEFAULT_REQUIREMENTS is expanded from…
…/…/lib/autoconf/headers.m4:353: AC_INCLUDES_DEFAULT is expanded from…
…/…/lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from…
…/…/lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from…
…/…/lib/m4sugar/m4sh.m4:607: AS_FOR is expanded from…
…/…/lib/autoconf/headers.m4:249: AC_CHECK_HEADERS is expanded from…
m4/ETL.m4:8: ETL_DEPS is expanded from…
configure.ac:64: the top level
Makefile.am:71: warning: shell find $(top_srcdir: non-POSIX variable name
Makefile.am:71: (probably a GNU make extension)
Makefile.am:73: warning: shell find $(top_srcdir: non-POSIX variable name
Makefile.am:73: (probably a GNU make extension)
Makefile.am:83: warning: shell find $(top_srcdir: non-POSIX variable name
Makefile.am:83: (probably a GNU make extension)
Makefile.am:90: warning: shell find $(top_srcdir: non-POSIX variable name
Makefile.am:90: (probably a GNU make extension)[/code]


#2

I remember to face this problem before when trying to build using build instructions.
Short answer: use the build script under /autobuild
It would take time for the first time but once build first, successive builds can be invoked within synfig-core or synfig-studio folders to just compile and install what has changed.
-G


#3

OK, so I ran the autobuild script using ./autobuild, and for the first time since I started with the git repository, I have a functioning gui! That’s a pretty impressive build script, but things aren’t all fine and dandy quite yet. None of the icons for synfig-studio display in the gui. They are all functional as far as I can find, but all the icons are red X’s. The icon images are there in the source folders though, so the issue must be elsewhere.

I noticed some error messages in the prompt as the autobuild output scrolled up the command line. There was the same “non-POSIX variable” warnings from the ETL configure phase early on in the build process, and there were some files that the make process couldn’t find when making synfig-studio. Despite this, the script finished running and built the application mostly.

...
/home/gerg/synfig/bin/synfig: warning: Unable to find module "mod_magickpp" (file not found)
/home/gerg/synfig/bin/synfig: warning: Unable to find module "mod_openexr" (file not found)
/home/gerg/synfig/bin/synfig: warning: Unable to find module "mod_libavcodec" (file not found)
...

Prior to running /autobuild I found that I was able to continue building the ETL module despite the error messages. I did run into errors later on however. One attempt ended at $synfig/synfig-studio sudo make install where it terminated because $/synfig/synfig-studio/images/128x128/synfig_icon.png was missing, and another ended at $synfig/synfig-core make because Mlt.h was missing. The runnung theme seems to be missing or misplaced files. Is there something I can do to address this kind of error in the future?

Thanks


#4

Did you cleaned any vestige of the previous installation attempt (the one from the wiki instructions)?
Script it very picky in that matter. I recommend to surely clean up any vestige from Synfig code and installation and start it over from scratch. It would take time again but would help to identify the reason of the missing icons.
Each new Linux distribution makes the script add more exceptions for the needed libraries because some of them aren’t standard packages.
If it doesn’t work, please open a issue on the bug tracker adding the details of the error there.
Thanks
-G


#5

Hello GregorysonofCarl and welcome here,

sound’s like this bug report…


#6

I ran sudo make clean inside the ETL, synfig-core, and synfig-studio directories, and I reran the /autobuild script, but the results are unchanged.

That’s exactly it. After reading through the comments on that bug report, I tried to see if opening the application from the terminal would output the same /opt/synfig//share/ file path error. I navigated to the /usr/bin and input ./synfigstudio to execute it. It gave a version mismatch error before terminating. I feel like I did something wrong, but I brought it up just in case it might be relevant.

By the way, thanks for the welcome d.j.a.y! I’m really exited about the Synfig Studio project; enough so that it has inspired me to start learning git, bash, and C++ for the first time. I hope I can eventually become fluent enough to start contributing code to this project. In the meantime, I will be studying shell script to try and better understand what the build script is actually doing.

thanks all


#7

I learned how to run Synfig Studio from the terminal (type syfigstudio into the prompt. who knew ._., ). What it told me was that, for whatever reason, the build process didn’t copy the icon image file directories to the directory where the startup process was looking. A quick sudo cp -R synfig/share/pixmaps /usr/local/share/ and my gui has icons now! Boo Ya! I’m not really sure why the build script didn’t copy the files. Was I supposed to run the autobuild script with sudo invoked?

The gui looks and runs great now! I love the new transform features in the group layer, and I think it was a good choice to nix the extra timeline at the bottom of the renderer panel.

I got two scary sounding error messages on startup, but they don’t seem to have an adverse affect on normal usage. Here are the details:

[code] synfig studio – starting up application…

(synfigstudio:6765): Gtk-CRITICAL **: _gtk_accel_group_attach: assertion ‘g_slist_find (accel_group->priv->acceleratables, object) == NULL’ failed

(synfigstudio:6765): gtkmm-WARNING **: gtkmm: Attempt to call Gtk::manage() on a Gtk::Window, but a Gtk::Window has no parent container to manage its lifetime.[/code] Does this have something to do with the 4 seemingly useless buttons that are on the top right corner of every panel in the gui? Either way, it doesn’t keep me from using the program, so I think I might be ready to check this off as solved.

Thanks for all the guidance guys!


#8

is the wiki.synfig.org/wiki/Placement_Widget


#9

Thanks for clarifying how the placement widget works. I didn’t mean any disrespect by that comment. I should have phrased it better…