Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building on 17.10 hangs #414

Closed
haideralipunjabi opened this issue Dec 11, 2017 · 13 comments

Comments

Projects
None yet
2 participants
@haideralipunjabi
Copy link

commented Dec 11, 2017

I was trying to build it on Ubuntu 17.10, and during the make commmand, it hangs and I need to interrupt the command.

Hangs at:
Making all in src make[4]: Entering directory '/home/haideralipunjabi/Github/tizonia-openmax-il/player/src' g++ -DHAVE_CONFIG_H -I. -I.. -pthread -I/usr/include -I../../include/tizonia -I../../libtizplatform/tizonia -I../dbus -I../src -I../src/services -I../src/services/googlemusic -I../src/services/dirble -I../src/services/soundcloud -I../src/services/youtube -I/usr/include/taglib -DUNICODE -I/usr/include/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/x86_64-linux-gnu -I../../3rdparty/dbus-cplusplus/include -D__STDC_CONSTANT_MACROS -g -O2 -MT services/youtube/tizonia-tizyoutubegraph.o -MD -MP -MF services/youtube/.deps/tizonia-tizyoutubegraph.Tpo -c -o services/youtube/tizonia-tizyoutubegraph.o test -f 'services/youtube/tizyoutubegraph.cpp' || echo './'services/youtube/tizyoutubegraph.cpp

After interrupting:
Makefile:1798: recipe for target 'services/youtube/tizonia-tizyoutubegraph.o' failed make[4]: *** [services/youtube/tizonia-tizyoutubegraph.o] Interrupt Makefile:445: recipe for target 'all-recursive' failed make[3]: *** [all-recursive] Interrupt Makefile:377: recipe for target 'all' failed make[2]: *** [all] Interrupt Makefile:387: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Interrupt Makefile:328: recipe for target 'all' failed make: *** [all] Interrupt

@juanrubio

This comment has been minimized.

Copy link
Collaborator

commented Dec 11, 2017

Hi!

What you are noticing is simply the compiler fighting hard to build this file

'services/youtube/tizyoutubegraph.cpp'

It is a pretty large state machine, so it simply needs time. Just leave it until it finishes. If you have the sufficient RAM in your system, it will eventually finish.

See BUILDING.md for more information (see the 'Known Issues' section).

@haideralipunjabi

This comment has been minimized.

Copy link
Author

commented Dec 11, 2017

I read the BUILDING.md and used $ tools/tizonia-dev-build --release --install to install. It also fails with this error:
Making install in libtizrmproxy Making install in src /bin/mkdir -p '/opt/lib' /bin/mkdir -p '/opt/include/tizonia' /bin/bash ../libtool --mode=install /usr/bin/install -c libtizrmproxy.la '/opt/lib' /usr/bin/install -c -m 644 tizrmproxytypes.h tizrmproxy_c.h tizrmproxy.hh '/opt/include/tizonia' libtool: error: error: cannot install 'libtizrmproxy.la' to a directory not ending in /usr/lib/x86_64-linux-gnu Makefile:422: recipe for target 'install-libLTLIBRARIES' failed make[5]: *** [install-libLTLIBRARIES] Error 1 Makefile:625: recipe for target 'install-am' failed make[4]: *** [install-am] Error 2 Makefile:495: recipe for target 'install-recursive' failed make[3]: *** [install-recursive] Error 1 Makefile:792: recipe for target 'install' failed make[2]: *** [install] Error 2 Makefile:336: recipe for target 'install-recursive' failed make[1]: *** [install-recursive] Error 1 Makefile:387: recipe for target 'install-recursive' failed make: *** [install-recursive] Error 1 raise error *** make install failed ***

@juanrubio

This comment has been minimized.

Copy link
Collaborator

commented Dec 11, 2017

Have you set these values?

$ export TIZONIA_REPO_DIR=/path/to/tizonia/repo # (e.g. /home/user/tizonia-openmax-il)
$ export TIZONIA_INSTALL_DIR=/path/to/install/dir # (e.g. /usr or /home/user/temp)
$ export PATH=$TIZONIA_REPO_DIR/tools:$PATH

When building locally, I usually do these two things:

  • purge all Tizonia debian binaries from the system (to make sure the headers etc installed in the system folders are not picked up by the build system)
  • install to a folder under $HOME (e.g. $HOME/temp)

With these two, a local build completes without any problems.

@haideralipunjabi

This comment has been minimized.

Copy link
Author

commented Dec 11, 2017

still same error

@juanrubio

This comment has been minimized.

Copy link
Collaborator

commented Dec 11, 2017

By the way, if you are not interested in building tizonia for development purposes, and only want to try it out on 17.10, then I would suggest you use this other method:

$ tizonia-dev-build --debian

This will build tizonia (release mode), create a debian package and install it on your system.

This can be later uninstalled using

$ sudo dpkg -r tizonia-all-testing
@juanrubio

This comment has been minimized.

Copy link
Collaborator

commented Dec 11, 2017

I've just tried both methods on my 17.10 VM and they work for me.

@haideralipunjabi

This comment has been minimized.

Copy link
Author

commented Dec 11, 2017

`$ tizonia-dev-build --debian`
This gives this error:
`Making all in src
make[4]: Entering directory '/home/haideralipunjabi/Github/tizonia-openmax-il/player/src'
  CXX      services/youtube/tizonia-tizyoutubegraph.o
  CXX      services/youtube/tizonia-tizyoutubegraphfsm.o
  CXX      services/youtube/tizonia-tizyoutubegraphops.o
  CXX      services/youtube/tizonia-tizyoutubemgr.o
  CXX      services/chromecast/tizonia-tizchromecastgraph.o
  CXX      services/chromecast/tizonia-tizchromecastgraphfsm.o
  CXX      services/chromecast/tizonia-tizchromecastgraphops.o
  CXX      services/chromecast/tizonia-tizchromecastmgr.o
  CXX      tizonia-tizplaybackevents.o
  CXX      mpris/tizonia-tizmprismgr.o
  CXX      mpris/tizonia-tizmprisprops.o
  CXX      mpris/tizonia-tizmprisif.o
  CXXLD    tizonia
services/tizonia-tizservicegraph.o: file not recognized: File truncated
collect2: error: ld returned 1 exit status
Makefile:945: recipe for target 'tizonia' failed
make[4]: *** [tizonia] Error 1
make[4]: Leaving directory '/home/haideralipunjabi/Github/tizonia-openmax-il/player/src'
Makefile:445: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/home/haideralipunjabi/Github/tizonia-openmax-il/player'
Makefile:377: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/haideralipunjabi/Github/tizonia-openmax-il/player'
Makefile:387: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/haideralipunjabi/Github/tizonia-openmax-il'
Makefile:328: recipe for target 'all' failed
make: *** [all] Error 2
Build failure.
@juanrubio

This comment has been minimized.

Copy link
Collaborator

commented Dec 11, 2017

Sounds like you have some leftovers from a previously interrupted/cancelled compilation.

make sure you have a perfectly clean checkout

$ git clean -f -X && git clean -f -d -x

and if you have ccache installed, make sure you clean your cache too:

$ ccache -Cz
@juanrubio

This comment has been minimized.

Copy link
Collaborator

commented Dec 11, 2017

And just as a reminder, you should not have anything from tizonia installed on your system folders (e.g. under /opt)

@haideralipunjabi

This comment has been minimized.

Copy link
Author

commented Dec 12, 2017

Tried it, still failing:

`/usr/include/boost/mpl/aux_/has_tag.hpp:20:1: internal compiler error: Segmentation fault
 BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_tag, tag, false)
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
Makefile:1899: recipe for target 'services/chromecast/tizonia-tizchromecastmgr.o' failed
make[4]: *** [services/chromecast/tizonia-tizchromecastmgr.o] Error 1
make[4]: Leaving directory '/home/haideralipunjabi/Github/tizonia-openmax-il/player/src'
Makefile:447: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/home/haideralipunjabi/Github/tizonia-openmax-il/player'
Makefile:379: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/haideralipunjabi/Github/tizonia-openmax-il/player'
Makefile:387: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/haideralipunjabi/Github/tizonia-openmax-il'
Makefile:328: recipe for target 'all' failed
make: *** [all] Error 2
Build failure.
@juanrubio

This comment has been minimized.

Copy link
Collaborator

commented Dec 12, 2017

gcc crashed:

internal compiler error: Segmentation fault

This usually happens when the host machine/vm does not have enough RAM. My Ubuntu 17.10 VM has 6GB.

Here is the deb package created with the above method. Just unzip it and install with

$ sudo dpkg -i tizonia-all-testing_0.10.0d-1_amd64.deb

tizonia-all-testing_0.10.0d-1_amd64.deb.zip

NOTE: This is built at the current HEAD of the master branch; which means it contains some work in progress, it is not and official release.

@haideralipunjabi

This comment has been minimized.

Copy link
Author

commented Dec 12, 2017

My Ubuntu 17.10 has 8GB ram 🤣
Thanks for the deb, it worked

@juanrubio

This comment has been minimized.

Copy link
Collaborator

commented Dec 12, 2017

Great!, I'm glad it worked for you.

I'm closing this issue for now. Thanks!

@juanrubio juanrubio closed this Dec 12, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.