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

Build totally broken on my new Linux system #47

Open
sobjornstad opened this issue Feb 18, 2018 · 0 comments
Open

Build totally broken on my new Linux system #47

sobjornstad opened this issue Feb 18, 2018 · 0 comments
Assignees
Labels

Comments

@sobjornstad
Copy link

sobjornstad commented Feb 18, 2018

First off, thanks for vitunes! I'm still using it daily and it's great. I notice the configure script is still missing from the tarball on the website even though there has been development since I submitted that bug report in 2015, but I guess it's not the end of the world when I can download the source from github.

However, the build didn't work at all out of the box this time. I'm not sure if the issue is my configuration in my clean install or the code, but there were two issues which to my recollection didn't happen last time I installed:

  • In src/compat/compat.c, there are several #includes behind #ifdefs that contain compat/whateverfile.c, but the compat/ shouldn't be there, as this file is already in the compat/ directory. I assume the structure was changed around a little bit and this was overlooked because those conditional branches were never hit on the development systems.
  • In src/Makefile, the vitunes target is incorrect. It reads $(CC) -o $@ $(LDFLAGS) $(LIBS) $(OBJS) $(ODEPS), but it needs to be $(CC) -o $@ $(LDFLAGS) $(OBJS) $(ODEPS) $(LIBS) (with $(LIBS) at the end). If you try to link ncurses before the objects that use ncurses are specified, the compiler doesn't see any ncurses functions that actually need to be accessible, so it doesn't link in the code and the build fails (see here). I'm using the standard gcc in Linux Mint 18.3:
$ cc --version
cc (Ubuntu 5.4.0-6ubuntu1~16.04.6) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Once I made these edits, the build completed normally and vitunes runs fine.

In case you need it to figure out the conditions under which these issues occurred, here's my config.mk:

# This file was generated by the 'configure.sh' script on 2018-02-17 at 19:57:03.
# Its contents should probably not be modified directly (if they should,
# please contact the vitunes developers and let them know why).
#
# Generated on: 2018-02-17 at 19:57:03
# Run on OS: Linux Emily 4.10.0-38-generic #42~16.04.1-Ubuntu SMP Tue Oct 10 16:32:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

# Install Locations
PREFIX?=/usr
BINDIR?=/usr/bin
MANDIR?=/usr/man/man1

# TagLib - These MUST be filled in for vitunes to compile!

# taglib-config found.  Using to determine CFLAGS and LDFLAGS
TAGLIB_CFLAGS=`taglib-config --cflags`
TAGLIB_LIBS=`taglib-config --libs` -ltag_c


# gstreamer - Fill these in only if you want gstreamer support


# configure.sh output ending
@ryanflannery ryanflannery self-assigned this Feb 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants