Open apjanke opened 4 years ago
This needed the proj system package installed.
Once I did that, installing proj 6.3.0, I'm getting a different build failure:
>> pkg install -forge octproj
In file included from projwrap.c:19:
In file included from ./projwrap.h:26:
/usr/local/include/proj_api.h:37:2: error: 'To use the proj_api.h you must define the macro ACCEPT_USE_OF_DEPRECATED_PROJ_API_H'
#error 'To use the proj_api.h you must define the macro ACCEPT_USE_OF_DEPRECATED_PROJ_API_H'
^
1 error generated.
make: *** [compile] Error 1
mkoctfile -c projwrap.c -o projwrap.o
pkg: error running `make' for the octproj package.
error: called from
configure_make at line 99 column 9
install at line 184 column 7
pkg at line 437 column 9
>>
Known issue: octproj only supports Proj 5.x, and Homebrew is now shipping Proj 6.x. Already reported upstream: https://savannah.gnu.org/bugs/index.php?56039
I added a proj@5
formula, but that probably still needs some work, since it is keg-only, and octproj won't know how to find that. https://github.com/octave-app/homebrew-octave-app/commit/9585d018c601b7951dc09d349638dfbcef6baa5e
I dropped the proj@5 dependency in Octave.app, because it's just too big.
Or so I thought. I looked at it again today, and it's only 11 MB. So maybe it's fine to put it back in and try this after all.
[Cellar] $ pwd
/usr/local/Cellar
[Cellar] $ du -sh proj@5
11M proj@5
[Cellar] $
For the time being, users can install proj@5
into their regular Homebrew, and figure out how to get it on their path for pkg install octproj
to use.
UPDATE: This wasn't quite right. The unversioned proj
dependency was really big, but proj@5
is relatively small. I had changed the dependency to regular proj
, and then removed that because it was too big. So now Octave.app, since 8.x, are not shipping any proj package.
[Formula] $ pwd
/Users/janke/repos/homebrew-octave-app/Formula
[Formula] $ grep -rn proj@ *
octave-octapp@4.4.1.rb:71: depends_on "proj@5" # octproj package
octave-octapp@5.1.0.rb:75: depends_on "proj@5" # octproj package
octave-octapp@5.2.0.rb:75: depends_on "proj@5" # for octproj OF package
octave-octapp@6.1.0.rb:76: depends_on "proj@5" # for octproj OF package
octave-octapp@6.2.0.rb:77: depends_on "proj@5" # octproj OF package
octave-octapp@6.3.0.rb:77: depends_on "proj@5" # octproj OF package
octave-octapp@6.4.0.rb:75: depends_on "proj@5" # octproj OF package
proj@5.rb:6:# a proj@7 versioned formula, but no proj@5. But it also looks like octproj now works with
proj@5.rb:7:# the current proj versions, so this proj@5 formula is not used for Octave.app versions as
[Formula] $
Basic problem here is that it needs the proj 5.x library. That's not bundled in Octave.app, and we don't currently supply an easy standard way for pulling in the libraries from a "system" Homebrew or MacPorts installation.
References
Relates to the whole issue of how to make Homebrew tools and libraries readily available in Octave.app for use in building native extensions etc., as discussed in these issues.