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

<=optim-1.2.2 fails to build because of missing limits.h/climit header #6

Open
diotteo opened this issue Oct 6, 2015 · 2 comments
Open

Comments

@diotteo
Copy link

diotteo commented Oct 6, 2015

__bfgsmin.cc: In function ‘octave_value_list F__bfgsmin(const octave_value_list&, int)’:
__bfgsmin.cc:259:35: error: ‘INT_MAX’ was not declared in this scope
  if (max_iters == -1) max_iters = INT_MAX;
                                   ^
Makefile:33: recipe for target '__bfgsmin.oct' failed

optim-1.0.6 and 1.2.2 fail to build with this error. optim-1.3.0 and above (from SourceForge) build though (the devs added the climit line).

I also can't sync with use_scm = true:

# g-octave --sync --force-all
!!! Repository 'g-octave' is missing masters attribute in '/var/lib/g-octave/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility
 * "--sync" not available, please install g-octave-9999 if you want this.

No version 9999 is in Portage though:

# equery list -p 'g-octave'
 * Searching for g-octave ...
[IP-] [  ] app-portage/g-octave-0.4.1-r4:0

Also, http://docs.g-octave.org/en/latest/userguide/#configuring-g-octave is down :( .

@diotteo
Copy link
Author

diotteo commented Oct 7, 2015

I was able to kludge things by copying arcusfelis's optim-1.3.0.DESCRIPTION file (here: https://github.com/arcusfelis/g-octave-db/blob/d7af0faf8911008db340aaa4ca82397cf9a6e72f/octave-forge/main/optim/optim-1.3.0.DESCRIPTION) into /var/cache/g-octave/octave-forge/main/optim/ .

Unfortunately, parallel-2.0.5 fails to build too. I had to copy https://github.com/arcusfelis/g-octave-db/blob/d7af0faf8911008db340aaa4ca82397cf9a6e72f/octave-forge/main/parallel/parallel-2.2.0.DESCRIPTION into /var/cache/g-octave/octave-forge/main/parallel/ then install 2.2.0 explicitly (since optim would otherwise install 2.0.5 anyway).

I still haven't figured why "db_mirror = github://arcusfelis/g-octave-db" in the config file didn't work by itself, but oh well, whatever works.

@albel727
Copy link
Contributor

albel727 commented Dec 8, 2015

@diotteo

didn't work by itself

It's because

  1. Database is updated by calling g-octave --sync, which you tried unsuccessfully, because...
  2. Non-live version of g-octave ebuild specifically forbids --sync (it makes has_fetch = False in g-octave script prior to installing). So...
  3. You need to either manually fix it to True in /usr/lib/python-exec/python2.7/g-octave script, or make the ebuild to not change it in the first place, or find a g-octave-9999 ebuild.
  4. Even after installing the latest live g-octave, it errors out on sync attempt, if you don't remove prior contents of /var/cache/g-octave/.

Here, have the live ebuild. I hope you know how to put it into your own overlay, etc.
https://gist.github.com/albel727/b8d9ef205672eee7a18b

Or you could just keep updating /var/cache/g-octave/ manually.

PS. It's been 1.5 years since the arcusfelis's repo update. There's optim-0.4.1 already. Also the scripts to keep the package database updated are right there in /usr/share/g-octave/contrib/. They need minor fixes to even work though.

Here's an updated database, no guarantees that any of it even compiles though, and some new packages also might require octave-4.0.0, which is currently masked in portage tree. https://github.com/albel727/g-octave-db

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

2 participants