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

2.0 fails to build on NetBSD #37

Closed
0323pin opened this issue Oct 18, 2021 · 14 comments
Closed

2.0 fails to build on NetBSD #37

0323pin opened this issue Oct 18, 2021 · 14 comments

Comments

@0323pin
Copy link

0323pin commented Oct 18, 2021

Hi,

We are currently building tiramisu from the latest alpha-release.
Today, I've tried to update to the 2.0-release but it now fails to build with the following error,

=> Bootstrap dependency digest>=20010302: found digest-20211005
=> Checksum RMD160 OK for tiramisu-2.0.tar.gz
=> Checksum SHA512 OK for tiramisu-2.0.tar.gz
===> Installing dependencies for tiramisu-2.0
=> Tool dependency glib2-tools-[0-9]*: found glib2-tools-2.68.4
=> Tool dependency bsdtar-[0-9]*: found bsdtar-3.4.3
=> Tool dependency gmake>=3.81: found gmake-4.3nb2
=> Tool dependency pkgconf-[0-9]*: found pkgconf-1.8.0
=> Build dependency x11-links>=1.34: found x11-links-1.34
=> Build dependency vala>=0.54: found vala-0.54.0
=> Build dependency cwrappers>=20150314: found cwrappers-20180325
=> Full dependency glib2>=2.64.0nb1: found glib2-2.68.4nb1
===> Skipping vulnerability checks.
WARNING: No /usr/pkg/pkgdb/pkg-vulnerabilities file found.
WARNING: To fix run: `/usr/pkg/sbin/pkg_admin -K /usr/pkg/pkgdb fetch-pkg-vulnerabilities'.
===> Overriding tools for tiramisu-2.0
===> Extracting for tiramisu-2.0
===> Patching for tiramisu-2.0
===> Creating toolchain wrappers for tiramisu-2.0
===> Configuring for tiramisu-2.0
=> Generating pkg-config file for builtin expat package.
===> Building for tiramisu-2.0
valac --pkg gio-2.0 src/notification.vala src/dbus.vala src/tiramisu.vala -d ./build -o tiramisu
Unknown option -I/usr/pkg/include
Run 'valac --help' to see a full list of available command line options.
error: cc exited with status 256
Compilation failed: 1 error(s), 0 warning(s)
gmake: *** [Makefile:16: tiramisu] Error 1
*** Error code 2

Stop.
bmake[1]: stopped in /usr/pkgsrc/wip/tiramisu
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/wip/tiramisu

Yes, I've vala installed and listed as a dependency.

Any pointers?

Thanks

@Sweets
Copy link
Owner

Sweets commented Oct 19, 2021

valac is throwing the unknown option error. Since it's not actually a flag provided by the Makefile, I'm inclined to believe that it's something that Vala implies when it compiles its own source.

That being said, I think it could be an issue with whatever your C compiler is. Or more specifically, maybe it's with the fact that a specific compiler is being provided at all.

If you build from source, or if you unset CC before installing it using your package manager, does it succeed in building?

@0323pin
Copy link
Author

0323pin commented Oct 19, 2021

Thanks!

valac is throwing the unknown option error. Since it's not actually a flag provided by the Makefile,

Well actually this comes from pkgconf, if I remove it I get another error, as follows:

=> Bootstrap dependency digest>=20010302: found digest-20211005
=> Checksum RMD160 OK for tiramisu-2.0.tar.gz
=> Checksum SHA512 OK for tiramisu-2.0.tar.gz
===> Installing dependencies for tiramisu-2.0
=> Tool dependency glib2-tools-[0-9]*: found glib2-tools-2.68.4
=> Tool dependency bsdtar-[0-9]*: found bsdtar-3.4.3
=> Tool dependency gmake>=3.81: found gmake-4.3nb2
=> Build dependency x11-links>=1.34: found x11-links-1.34
=> Build dependency vala>=0.54: found vala-0.54.0
=> Build dependency cwrappers>=20150314: found cwrappers-20180325
=> Full dependency glib2>=2.64.0nb1: found glib2-2.68.4nb1
=> Full dependency dbus>=0.91: found dbus-1.12.20nb1
===> Skipping vulnerability checks.
WARNING: No /usr/pkg/pkgdb/pkg-vulnerabilities file found.
WARNING: To fix run: `/usr/pkg/sbin/pkg_admin -K /usr/pkg/pkgdb fetch-pkg-vulnerabilities'.
===> Overriding tools for tiramisu-2.0
===> Extracting for tiramisu-2.0
===> Patching for tiramisu-2.0
===> Creating toolchain wrappers for tiramisu-2.0
===> Configuring for tiramisu-2.0
===> Building for tiramisu-2.0
valac --pkg gio-2.0 src/notification.vala src/dbus.vala src/tiramisu.vala -d ./build -o tiramisu
error: Failed to execute child process “--exists” (No such file or directory)
error: Failed to execute child process “--exists” (No such file or directory)
error: Failed to execute child process “--exists” (No such file or directory)
error: Failed to execute child process “--cflags” (No such file or directory)
Compilation failed: 4 error(s), 0 warning(s)
gmake: *** [Makefile:16: tiramisu] Error 1
*** Error code 2

Stop.
bmake[1]: stopped in /usr/pkgsrc/wip/tiramisu
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/wip/tiramisu
error: External command failed

If you build from source, or if you unset CC before installing it using your package manager, does it succeed in building?

/home/pin/Downloads/tiramisu-2.0()
2021-10-19 11:09 > bmake
valac --pkg gio-2.0 src/notification.vala src/dbus.vala src/tiramisu.vala -d ./build -o tiramisu
/home/pin/Downloads/tiramisu-2.0/build/src/notification.vala.c: In function ‘__lambda4_’:
/home/pin/Downloads/tiramisu-2.0/build/src/notification.vala.c:459:11: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  459 |   _tmp38_ = g_bytes_get_data (_tmp36_, &_tmp37_);
      |           ^
/home/pin/Downloads/tiramisu-2.0/build/src/notification.vala.c: In function ‘notification_create_csv_hint_string’:
/home/pin/Downloads/tiramisu-2.0/build/src/notification.vala.c:596:31: warning: passing argument 2 of ‘g_hash_table_foreach’ from incompatible pointer type [-Wincompatible-pointer-types]
  596 |  g_hash_table_foreach (hints, ___lambda4__gh_func, _data1_);
      |                               ^~~~~~~~~~~~~~~~~~~
      |                               |
      |                               void (*)(const void *, const void *, void *)
In file included from /usr/pkg/include/glib-2.0/glib.h:50,
                 from /home/pin/Downloads/tiramisu-2.0/build/src/notification.vala.c:6:
/usr/pkg/include/glib-2.0/glib/ghash.h:105:61: note: expected ‘GHFunc’ {aka ‘void (*)(void *, void *, void *)’} but argument is of type ‘void (*)(const void *, const void *, void *)’
  105 |                                             GHFunc          func,
      |                                             ~~~~~~~~~~~~~~~~^~~~
/home/pin/Downloads/tiramisu-2.0()

@0323pin
Copy link
Author

0323pin commented Oct 19, 2021

@Sweets, @Vapourium Building from git-HEAD (40612c9) solves the issue.

@0323pin 0323pin closed this as completed Oct 19, 2021
@Vapourium
Copy link

The void maintainers advise that I use a release as opposed to a specific commit or HEAD, so I'm going to use the patch method mentioned by @yemouu.

@0323pin
Copy link
Author

0323pin commented Oct 19, 2021

@Vapourium I know that, I use Void on another machine :)
But, I think the opposite is less troublesome. Building on BSD already requires enough patching, so I prefer to pull from a specific commit rather than maintain yet another patch on the source tree.
But thanks and good luck.

@yemouu
Copy link
Contributor

yemouu commented Oct 19, 2021

The patches come directly from the latest commits so when there is another release you won't need the patches anymore.

@Vapourium
Copy link

Vapourium commented Oct 19, 2021

I know. I was actually going to ask Sweets to bump the current tag, but I felt that it would've been too much.

@0323pin
Copy link
Author

0323pin commented Oct 19, 2021

@yemouu yes, I'm aware of this and, thanks for your and @jbeich fix.

@Sweets
Copy link
Owner

Sweets commented Oct 19, 2021

I know. I was actually going to ask Sweets to bump the current tag, but I felt that it would've too much.

I’ll to bump the version with the next commit

@Sweets
Copy link
Owner

Sweets commented Oct 20, 2021

Changed the versioning system to be a little more flexible. 2.0-20211019 is the bumped tag and release. I'll start making releases more frequent for packagers.

@0323pin
Copy link
Author

0323pin commented Oct 20, 2021

@Sweets this is great, thanks! Really appreciated.
Just a thought, why not 2.0.1, 2.0.2 and so on?
Anyway, I'll merge it today.

@Sweets
Copy link
Owner

Sweets commented Oct 20, 2021

@Sweets this is great, thanks! Really appreciated. Just a thought, why not 2.0.1, 2.0.2 and so on? Anyway, I'll merge it today.

I don't really like the semantic versioning spec,not for the applications of projects like this anyways. Tiramisu-- and all of the other projects on my github for the matter--is just something I work on when I feel like it really.

That being said though, it's always evolving or changing. Sometimes in the form of complete rewrites of the whole project, other times in the form of rewriting functions just because I don't like how they were previously implemented (c103aa3). In the case of the former, I might reversion the project to a 1.0, 2.0, 3.0, so on. In the case of the latter though, I'm adding no additional functionality, but also not really fixing any bugs or anything. I just didn't like it so I rewrote it.

Anyways, I adopted part of the semantic versioning, with 2.0 in it being a major dot minor kind of thing, and just appended on the date of when I last updated the release. Kind of two fold because as a user you can see the last time there was anything really meaningful done. Anything in HEAD past the most recent isn't something I deem worth creating a release for, since I only make the releases when I really feel necessary.

TL;DR Semantic versioning works, but I don't feel that it is completely applicable to my projects.

@0323pin
Copy link
Author

0323pin commented Oct 20, 2021

Fair enough, thanks for the explanation.

@DaBabyXD
Copy link

DaBabyXD commented Oct 20, 2021

Wouldn't it make more sense to use 2021.10.19 as opposed to 2.0-2021019? I heard Void Linux has problems with dashes in the package names.

Edit: The Void pull request has the following in the template:

pkgname=tiramisu
version=20211019
wrksrc=${pkgname}-2.0-${version}
distfiles="https://github.com/Sweets/tiramisu/archive/refs/tags/2.0-${version}.tar.gz"

So I think it's fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants