Opened 4 years ago
Closed 11 months ago
#60506 closed defect (fixed)
Can't install grass7
Reported by: | dershow | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | Veence (Vincent), nilason (Nicklas Larsson), Dave-Allured (Dave Allured), cooljeanius (Eric Gallager) | |
Port: | grass7 |
Description
I just migrated to 10.15 and I can't get grass7 7.8.3_1 to install.
$ sudo port install grass7 +gui ---> Computing dependencies for grass7 ---> Fetching archive for grass7 ---> Attempting to fetch grass7-7.8.3_1+gui+postgresql12+proj6+python38.darwin_19.x86_64.tbz2 from https://packages.macports.org/grass7 ---> Attempting to fetch grass7-7.8.3_1+gui+postgresql12+proj6+python38.darwin_19.x86_64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/grass7 ---> Attempting to fetch grass7-7.8.3_1+gui+postgresql12+proj6+python38.darwin_19.x86_64.tbz2 from http://aus.us.packages.macports.org/macports/packages/grass7 ---> Fetching distfiles for grass7 ---> Verifying checksums for grass7 ---> Extracting grass7 ---> Applying patches to grass7 ---> Configuring grass7 ---> Building grass7 Error: Failed to build grass7: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/main.log for details. Error: Follow https://guide.macports.org/#project.tickets to report a bug. Error: Processing of port grass7 failed
Attachments (2)
Change History (46)
Changed 4 years ago by dershow
comment:1 Changed 4 years ago by mf2k (Frank Schima)
Port: | grass7 added |
---|
comment:2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
comment:3 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | Veence added |
---|
Vincent, though you're not the maintainer of grass7, you've done many commits in the port so maybe you want to have a look at this.
comment:4 Changed 4 years ago by nilason (Nicklas Larsson)
This is strange. What could possibly be the reason this doesn't work on 10.15? At present I have no 10.15 machine available to test on, but comparing log files with successful build on 10.14 I can see no difference. DYLD_LIBRARY_PATH is the same.
By the way, is this a general problem for 10.15? Anyone succeeded installing grass7 on 10.15?
@dershow Just to be sure it doesn't relate to python (although log file doesn't imply so, see comments on commit:6c65924), what do port select --list python3
tell you?
$ ls -l /opt/local/share/grass78/lib/ ls: /opt/local/share/grass78/lib/: No such file or directory $ sudo port -k install grass7 +gui ... ---> Activating grass7 @7.8.3_1+gui+postgresql12+proj6+python38 ---> Scanning binaries for linking errors ---> No broken files found. ---> No broken ports found. $ otool -L /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin18.7.0/bin/g.gisenv /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin18.7.0/bin/g.gisenv: /opt/local/share/grass78/lib/libgrass_gis.7.8.dylib (compatibility version 7.8.0, current version 7.8.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.250.1) $ ls -l /opt/local/share/grass78/lib/libgrass_gis.7.8.dylib -rwxr-xr-x 1 macports wheel 278576 May 23 18:10 /opt/local/share/grass78/lib/libgrass_gis.7.8.dylib $ otool -L /opt/local/share/grass78/bin/g.gisenv /opt/local/share/grass78/bin/g.gisenv: /opt/local/share/grass78/lib/libgrass_gis.7.8.dylib (compatibility version 7.8.0, current version 7.8.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.250.1)
Successful build on 10.14:
DYLD_LIBRARY_PATH=" /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin18.7.0/bin /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin18.7.0/bin /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin18.7.0/scripts /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin18.7.0/lib /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin18.7.0/lib "
Failed 10.15 build:
DYLD_LIBRARY_PATH=" /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin19.4.0/bin /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin19.4.0/bin /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin19.4.0/scripts /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin19.4.0/lib /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin19.4.0/lib "
Changed 4 years ago by nilason (Nicklas Larsson)
Attachment: | 10.14.main.log.zip added |
---|
Log of successful 10.14 build, for comparison.
comment:5 Changed 4 years ago by nilason (Nicklas Larsson)
Cc: | nilason added |
---|
comment:6 Changed 4 years ago by dershow
$ port select --list python3 Available versions for python3: none (active) python36 python37 python38
comment:7 Changed 4 years ago by nilason (Nicklas Larsson)
@dershow And if you do sudo port select --set python3 python38
, will it work?
comment:8 Changed 4 years ago by dershow
I just tried and it still failed to build. I had thought that "select" wouldn't matter, as the build system should use the correct version of things. So, I really don't know what is different about this between 10.14 and 10.15. I also had it working with 10.14. I then moved did the full migration (so cleared out all the ports) and most of my ports have built and installed fine, but grass7 won't. And gqis3 and saga depend on it, so they won't build either.
comment:9 Changed 4 years ago by nilason (Nicklas Larsson)
The python part is a really new portfile thing introduced with previously mentioned commit. But your log file didn’t indicate that was the problem. Just to be sure, please check port select --list python
as well.
comment:10 follow-up: 12 Changed 4 years ago by Veence (Vincent)
The problem is this: g.gisenv (and other utilities) are called by the build system. It depends on the libgrass_gis library.
But when the lib grass_gis library is built, the linking process records the installation path (/opt/local/share/grass78/…) of the library within its header. Then g.gisenv is compiled and linked against it, and the linking process does not reference the real location of the libraries an executable is built against, but the location as specified in the library header (in this case, the installation path).
So when g.gisenv is called within the build process, it looks for /opt/local/share/grass78/libgrass_gis.dylib, rather than using the temporary place the library is stored in until the build finishes.
comment:11 Changed 4 years ago by Veence (Vincent)
Could you please type "man ld" and tell me what's explained under the "DYLD_LIBRARY_PATH" paragraph? Maybe this has changed between 10.14 and 10.15. Thanks!
comment:12 Changed 4 years ago by nilason (Nicklas Larsson)
Replying to Veence:
The problem is this: g.gisenv (and other utilities) are called by the build system. It depends on the libgrass_gis library.
But when the lib grass_gis library is built, the linking process records the installation path (/opt/local/share/grass78/…) of the library within its header. Then g.gisenv is compiled and linked against it, and the linking process does not reference the real location of the libraries an executable is built against, but the location as specified in the library header (in this case, the installation path).
So when g.gisenv is called within the build process, it looks for /opt/local/share/grass78/libgrass_gis.dylib, rather than using the temporary place the library is stored in until the build finishes.
Yes, I realised that while comparing the log files. The strange thing seems to be that it worked this far -- even for 10.15!! See e.g. https://build.macports.org/builders/ports-10.15_x86_64-builder/builds/29988.
comment:13 Changed 4 years ago by nilason (Nicklas Larsson)
The reason I still believe it might be related to the python is that the executables in build are all (I think) python files starting with #!/usr/bin/env python3
. E.g. tools/thumbnails.py
calls g.remove
in library.
comment:14 Changed 4 years ago by Veence (Vincent)
Sure, but the problem is with g.remove
, not with thumbnails.py
!
comment:15 Changed 4 years ago by dershow
$ port select --list python Available versions for python: none python27 (active) python27-apple python36 python37 python38
I don't see an explicit "DYLD_LIBRARY_PATH" paragraph from man ld. Although dyld appears a bunch.
comment:16 follow-up: 19 Changed 4 years ago by nilason (Nicklas Larsson)
Will sudo port select --set python python38
make any difference?
comment:18 Changed 4 years ago by dershow
$man dyld ... DYLD_LIBRARY_PATH This is a colon separated list of directories that contain libraries. The dynamic linker searches these directories before it searches the default locations for libraries. It allows you to test new versions of existing libraries. For each dylib that a program uses, the dynamic linker looks for its leaf name in each directory in DYLD_LIBRARY_PATH. Use the -L option to otool(1) to discover the frameworks and shared libraries that the executable is linked against. ...
comment:19 Changed 4 years ago by dershow
Replying to nilason:
Will
sudo port select --set python python38
make any difference?
I just tried and it didn't seem to make a difference.
comment:21 follow-up: 23 Changed 4 years ago by Veence (Vincent)
Ok, so DYLD_LIBRARY_PATH seems to work the same way. Next thing, check the paths to see if they jibe.
comment:22 follow-up: 24 Changed 4 years ago by Veence (Vincent)
When the builds stops, could you give us the contents of the /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin19.4.0/lib
directory with a ls -l
?
comment:23 Changed 4 years ago by dershow
Replying to Veence:
Ok, so DYLD_LIBRARY_PATH seems to work the same way. Next thing, check the paths to see if they jibe.
I'm not sure which paths you mean. Just environment?
$ printenv TERM_PROGRAM=Apple_Terminal TERM=xterm-256color SHELL=/bin/bash TMPDIR=/var/folders/s4/0j3cshj161126ygbpbzsdkmd4h24dl/T/ FDSNETWORK= TERM_PROGRAM_VERSION=433 TERM_SESSION_ID=66AA6C5E-757B-43DA-BDD3-F28039BC750D MPIDIST_ETH= MPIDIST_FDS=/Applications/FDS/FDS6/bin/openmpi_64 USER=xxxx SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.SmK9Dr2GLL/Listeners PATH=/Applications/FDS/FDS6/bin/bin:/Applications/FDS/FDS6/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin:/opt/X11/bin:/Library/Apple/usr/bin LaunchInstanceID=68CE0C75-AB9B-409D-A62F-B878E49549E0 PWD=/Users/xxxx/Documents/Fink Ports etc LANG=en_US.UTF-8 XPC_FLAGS=0x0 MPIDIST_IB= XPC_SERVICE_NAME=0 FDSBINDIR=/Applications/FDS/FDS6/bin HOME=/Users/xxxx SHLVL=1 LOGNAME=xxxx OMP_NUM_THREADS=4 DISPLAY=/private/tmp/com.apple.launchd.EFbaTjaIor/org.macosforge.xquartz:0 MPIDIST=/Applications/FDS/FDS6/bin SECURITYSESSIONID=186a8 _=/usr/bin/printenv
(note that I took out some name ID info above)
comment:24 Changed 4 years ago by dershow
Replying to Veence:
When the builds stops, could you give us the contents of the
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin19.4.0/lib
directory with als -l
?
$ ls -l /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin19.4.0/ total 344 -rw-r--r-- 1 macports wheel 16316 May 17 11:42 AUTHORS -rw-r--r-- 1 macports wheel 1301 May 17 11:42 CHANGES -rw-r--r-- 1 macports wheel 1645 May 17 11:42 CITING -rw-r--r-- 1 macports wheel 1410 May 17 11:42 COPYING -rw-r--r-- 1 macports wheel 17987 May 17 11:42 GPL.TXT -rw-r--r-- 1 macports wheel 9385 May 17 11:42 INSTALL -rw-r--r-- 1 macports wheel 9247 May 17 11:42 REQUIREMENTS.html drwxr-xr-x 390 macports wheel 12480 May 17 11:42 bin -rw-r--r-- 1 macports wheel 3918 May 17 11:42 contributors.csv -rw-r--r-- 1 macports wheel 2753 May 17 11:42 contributors_extra.csv drwxr-xr-x 4 macports wheel 128 May 17 11:40 demolocation drwxr-xr-x 4 macports wheel 128 May 17 11:40 docs drwxr-xr-x 3 macports wheel 96 May 17 11:40 driver drwxr-xr-x 29 macports wheel 928 May 17 11:41 etc drwxr-xr-x 25 macports wheel 800 May 17 11:40 fonts -rw-r--r-- 1 macports wheel 85672 May 17 11:40 grass78.tmp drwxr-xr-x 7 macports wheel 224 May 17 11:41 gui drwxr-xr-x 4 macports wheel 128 May 17 11:40 include drwxr-xr-x 107 macports wheel 3424 May 17 11:41 lib drwxr-xr-x 142 macports wheel 4544 May 17 11:42 scripts drwxr-xr-x 5 macports wheel 160 May 17 11:41 share drwxr-xr-x 8 macports wheel 256 May 17 11:40 tools -rw-r--r-- 1 macports wheel 4341 May 17 11:42 translators.csv
comment:26 Changed 4 years ago by dershow
oops:
ls -l /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin19.4.0/lib total 6696 -rwxr-xr-x 1 macports wheel 21588 May 17 11:40 libgrass_arraystats.7.8.dylib lrwxr-xr-x 1 macports wheel 29 May 17 11:40 libgrass_arraystats.dylib -> libgrass_arraystats.7.8.dylib -rwxr-xr-x 1 macports wheel 18092 May 17 11:40 libgrass_bitmap.7.8.dylib lrwxr-xr-x 1 macports wheel 25 May 17 11:40 libgrass_bitmap.dylib -> libgrass_bitmap.7.8.dylib -rwxr-xr-x 1 macports wheel 16972 May 17 11:40 libgrass_btree.7.8.dylib lrwxr-xr-x 1 macports wheel 24 May 17 11:40 libgrass_btree.dylib -> libgrass_btree.7.8.dylib -rwxr-xr-x 1 macports wheel 31224 May 17 11:40 libgrass_btree2.7.8.dylib lrwxr-xr-x 1 macports wheel 25 May 17 11:40 libgrass_btree2.dylib -> libgrass_btree2.7.8.dylib -rwxr-xr-x 1 macports wheel 51488 May 17 11:40 libgrass_cairodriver.7.8.dylib lrwxr-xr-x 1 macports wheel 30 May 17 11:40 libgrass_cairodriver.dylib -> libgrass_cairodriver.7.8.dylib -rwxr-xr-x 1 macports wheel 45988 May 17 11:40 libgrass_calc.7.8.dylib lrwxr-xr-x 1 macports wheel 23 May 17 11:40 libgrass_calc.dylib -> libgrass_calc.7.8.dylib -rwxr-xr-x 1 macports wheel 52292 May 17 11:40 libgrass_ccmath.7.8.dylib lrwxr-xr-x 1 macports wheel 25 May 17 11:40 libgrass_ccmath.dylib -> libgrass_ccmath.7.8.dylib -rwxr-xr-x 1 macports wheel 49460 May 17 11:40 libgrass_cdhc.7.8.dylib lrwxr-xr-x 1 macports wheel 23 May 17 11:40 libgrass_cdhc.dylib -> libgrass_cdhc.7.8.dylib -rwxr-xr-x 1 macports wheel 26476 May 17 11:40 libgrass_cluster.7.8.dylib lrwxr-xr-x 1 macports wheel 26 May 17 11:40 libgrass_cluster.dylib -> libgrass_cluster.7.8.dylib -rwxr-xr-x 1 macports wheel 33472 May 17 11:40 libgrass_datetime.7.8.dylib lrwxr-xr-x 1 macports wheel 27 May 17 11:40 libgrass_datetime.dylib -> libgrass_datetime.7.8.dylib -rwxr-xr-x 1 macports wheel 61980 May 17 11:40 libgrass_dbmibase.7.8.dylib lrwxr-xr-x 1 macports wheel 27 May 17 11:40 libgrass_dbmibase.dylib -> libgrass_dbmibase.7.8.dylib -rwxr-xr-x 1 macports wheel 45424 May 17 11:40 libgrass_dbmiclient.7.8.dylib lrwxr-xr-x 1 macports wheel 29 May 17 11:40 libgrass_dbmiclient.dylib -> libgrass_dbmiclient.7.8.dylib -rwxr-xr-x 1 macports wheel 37752 May 17 11:40 libgrass_dbmidriver.7.8.dylib lrwxr-xr-x 1 macports wheel 29 May 17 11:40 libgrass_dbmidriver.dylib -> libgrass_dbmidriver.7.8.dylib -rwxr-xr-x 1 macports wheel 18580 May 17 11:40 libgrass_dbstubs.7.8.dylib lrwxr-xr-x 1 macports wheel 26 May 17 11:40 libgrass_dbstubs.dylib -> libgrass_dbstubs.7.8.dylib -rwxr-xr-x 1 macports wheel 81904 May 17 11:40 libgrass_dgl.7.8.dylib lrwxr-xr-x 1 macports wheel 22 May 17 11:40 libgrass_dgl.dylib -> libgrass_dgl.7.8.dylib -rwxr-xr-x 1 macports wheel 88884 May 17 11:40 libgrass_dig2.7.8.dylib lrwxr-xr-x 1 macports wheel 23 May 17 11:40 libgrass_dig2.dylib -> libgrass_dig2.7.8.dylib -rwxr-xr-x 1 macports wheel 49876 May 17 11:40 libgrass_display.7.8.dylib lrwxr-xr-x 1 macports wheel 26 May 17 11:40 libgrass_display.dylib -> libgrass_display.7.8.dylib -rwxr-xr-x 1 macports wheel 31224 May 17 11:40 libgrass_driver.7.8.dylib lrwxr-xr-x 1 macports wheel 25 May 17 11:40 libgrass_driver.dylib -> libgrass_driver.7.8.dylib -rwxr-xr-x 1 macports wheel 75156 May 17 11:40 libgrass_dspf.7.8.dylib lrwxr-xr-x 1 macports wheel 23 May 17 11:40 libgrass_dspf.dylib -> libgrass_dspf.7.8.dylib -rwxr-xr-x 1 macports wheel 119104 May 17 11:40 libgrass_g3d.7.8.dylib lrwxr-xr-x 1 macports wheel 22 May 17 11:40 libgrass_g3d.dylib -> libgrass_g3d.7.8.dylib -rwxr-xr-x 1 macports wheel 282856 May 17 11:40 libgrass_gis.7.8.dylib lrwxr-xr-x 1 macports wheel 22 May 17 11:40 libgrass_gis.dylib -> libgrass_gis.7.8.dylib -rwxr-xr-x 1 macports wheel 49860 May 17 11:40 libgrass_gmath.7.8.dylib lrwxr-xr-x 1 macports wheel 24 May 17 11:40 libgrass_gmath.dylib -> libgrass_gmath.7.8.dylib -rwxr-xr-x 1 macports wheel 91808 May 17 11:40 libgrass_gpde.7.8.dylib lrwxr-xr-x 1 macports wheel 23 May 17 11:40 libgrass_gpde.dylib -> libgrass_gpde.7.8.dylib -rwxr-xr-x 1 macports wheel 57524 May 17 11:40 libgrass_gproj.7.8.dylib lrwxr-xr-x 1 macports wheel 24 May 17 11:40 libgrass_gproj.dylib -> libgrass_gproj.7.8.dylib -rwxr-xr-x 1 macports wheel 22564 May 17 11:40 libgrass_htmldriver.7.8.dylib lrwxr-xr-x 1 macports wheel 29 May 17 11:40 libgrass_htmldriver.dylib -> libgrass_htmldriver.7.8.dylib -rwxr-xr-x 1 macports wheel 71568 May 17 11:40 libgrass_imagery.7.8.dylib lrwxr-xr-x 1 macports wheel 26 May 17 11:40 libgrass_imagery.dylib -> libgrass_imagery.7.8.dylib -rwxr-xr-x 1 macports wheel 17152 May 17 11:40 libgrass_interpdata.7.8.dylib lrwxr-xr-x 1 macports wheel 29 May 17 11:40 libgrass_interpdata.dylib -> libgrass_interpdata.7.8.dylib -rwxr-xr-x 1 macports wheel 70796 May 17 11:40 libgrass_interpfl.7.8.dylib lrwxr-xr-x 1 macports wheel 27 May 17 11:40 libgrass_interpfl.dylib -> libgrass_interpfl.7.8.dylib -rwxr-xr-x 1 macports wheel 42324 May 17 11:41 libgrass_iortho.7.8.dylib lrwxr-xr-x 1 macports wheel 25 May 17 11:41 libgrass_iortho.dylib -> libgrass_iortho.7.8.dylib -rw-r--r-- 1 macports wheel 31240 May 17 11:40 libgrass_iostream.7.8.a -rwxr-xr-x 1 macports wheel 42608 May 17 11:40 libgrass_lidar.7.8.dylib lrwxr-xr-x 1 macports wheel 24 May 17 11:40 libgrass_lidar.dylib -> libgrass_lidar.7.8.dylib -rwxr-xr-x 1 macports wheel 17296 May 17 11:40 libgrass_linkm.7.8.dylib lrwxr-xr-x 1 macports wheel 24 May 17 11:40 libgrass_linkm.dylib -> libgrass_linkm.7.8.dylib -rwxr-xr-x 1 macports wheel 26272 May 17 11:41 libgrass_lrs.7.8.dylib lrwxr-xr-x 1 macports wheel 22 May 17 11:41 libgrass_lrs.dylib -> libgrass_lrs.7.8.dylib -rwxr-xr-x 1 macports wheel 28500 May 17 11:40 libgrass_manage.7.8.dylib lrwxr-xr-x 1 macports wheel 25 May 17 11:40 libgrass_manage.dylib -> libgrass_manage.7.8.dylib -rwxr-xr-x 1 macports wheel 48352 May 17 11:40 libgrass_neta.7.8.dylib lrwxr-xr-x 1 macports wheel 23 May 17 11:40 libgrass_neta.dylib -> libgrass_neta.7.8.dylib -rwxr-xr-x 1 macports wheel 46704 May 17 11:40 libgrass_nviz.7.8.dylib lrwxr-xr-x 1 macports wheel 23 May 17 11:40 libgrass_nviz.dylib -> libgrass_nviz.7.8.dylib -rwxr-xr-x 1 macports wheel 375628 May 17 11:40 libgrass_ogsf.7.8.dylib lrwxr-xr-x 1 macports wheel 23 May 17 11:40 libgrass_ogsf.dylib -> libgrass_ogsf.7.8.dylib -rwxr-xr-x 1 macports wheel 39272 May 17 11:40 libgrass_pngdriver.7.8.dylib lrwxr-xr-x 1 macports wheel 28 May 17 11:40 libgrass_pngdriver.dylib -> libgrass_pngdriver.7.8.dylib -rwxr-xr-x 1 macports wheel 23256 May 17 11:40 libgrass_psdriver.7.8.dylib lrwxr-xr-x 1 macports wheel 27 May 17 11:40 libgrass_psdriver.dylib -> libgrass_psdriver.7.8.dylib -rwxr-xr-x 1 macports wheel 16976 May 17 11:40 libgrass_qtree.7.8.dylib lrwxr-xr-x 1 macports wheel 24 May 17 11:40 libgrass_qtree.dylib -> libgrass_qtree.7.8.dylib -rwxr-xr-x 1 macports wheel 149296 May 17 11:40 libgrass_raster.7.8.dylib lrwxr-xr-x 1 macports wheel 25 May 17 11:40 libgrass_raster.dylib -> libgrass_raster.7.8.dylib -rwxr-xr-x 1 macports wheel 34444 May 17 11:40 libgrass_rli.7.8.dylib lrwxr-xr-x 1 macports wheel 22 May 17 11:40 libgrass_rli.dylib -> libgrass_rli.7.8.dylib -rwxr-xr-x 1 macports wheel 17060 May 17 11:40 libgrass_rowio.7.8.dylib lrwxr-xr-x 1 macports wheel 24 May 17 11:40 libgrass_rowio.dylib -> libgrass_rowio.7.8.dylib -rwxr-xr-x 1 macports wheel 43708 May 17 11:40 libgrass_rtree.7.8.dylib lrwxr-xr-x 1 macports wheel 24 May 17 11:40 libgrass_rtree.dylib -> libgrass_rtree.7.8.dylib -rwxr-xr-x 1 macports wheel 27040 May 17 11:40 libgrass_segment.7.8.dylib lrwxr-xr-x 1 macports wheel 26 May 17 11:40 libgrass_segment.dylib -> libgrass_segment.7.8.dylib -rwxr-xr-x 1 macports wheel 46852 May 17 11:40 libgrass_shape.7.8.dylib lrwxr-xr-x 1 macports wheel 24 May 17 11:40 libgrass_shape.dylib -> libgrass_shape.7.8.dylib -rwxr-xr-x 1 macports wheel 54828 May 17 11:41 libgrass_sim.7.8.dylib lrwxr-xr-x 1 macports wheel 22 May 17 11:41 libgrass_sim.dylib -> libgrass_sim.7.8.dylib -rwxr-xr-x 1 macports wheel 38308 May 17 11:40 libgrass_sqlp.7.8.dylib lrwxr-xr-x 1 macports wheel 23 May 17 11:40 libgrass_sqlp.dylib -> libgrass_sqlp.7.8.dylib -rwxr-xr-x 1 macports wheel 22844 May 17 11:40 libgrass_stats.7.8.dylib lrwxr-xr-x 1 macports wheel 24 May 17 11:40 libgrass_stats.dylib -> libgrass_stats.7.8.dylib -rwxr-xr-x 1 macports wheel 22528 May 17 11:40 libgrass_symb.7.8.dylib lrwxr-xr-x 1 macports wheel 23 May 17 11:40 libgrass_symb.dylib -> libgrass_symb.7.8.dylib -rwxr-xr-x 1 macports wheel 22808 May 17 11:40 libgrass_temporal.7.8.dylib lrwxr-xr-x 1 macports wheel 27 May 17 11:40 libgrass_temporal.dylib -> libgrass_temporal.7.8.dylib -rwxr-xr-x 1 macports wheel 416352 May 17 11:40 libgrass_vector.7.8.dylib lrwxr-xr-x 1 macports wheel 25 May 17 11:40 libgrass_vector.dylib -> libgrass_vector.7.8.dylib -rwxr-xr-x 1 macports wheel 47808 May 17 11:40 libgrass_vedit.7.8.dylib lrwxr-xr-x 1 macports wheel 24 May 17 11:40 libgrass_vedit.dylib -> libgrass_vedit.7.8.dylib
comment:27 Changed 4 years ago by Veence (Vincent)
Thanks. So the library is in the right place. This is really darn peculiar. Let me think further.
comment:28 Changed 4 years ago by Veence (Vincent)
Try out this kludge:
Copy the contents of /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass7/grass7/work/grass-7.8.3/dist.x86_64-apple-darwin19.4.0/lib
into /opt/local/share/grass78/lib
Build grass7. DON’T INSTALL IT. BUILD ONLY.
If the build works, then remove every file from /opt/local/share/grass78/lib
.
Then install the port.
comment:29 follow-up: 31 Changed 4 years ago by dershow
I needed a few minor changes from what you suggested. First, I had to create /opt/local/share/grass78 and /opt/local/share/grass78/lib as they didn't exist. The path to copy from was dist.x86_64-apple-darwin19.5.0 ( not 19.4....I assume because I'm on 10.15). Is this hardcoded somewhere and the cause of the problem?!?
I then was able to build, remove the share directory and install successfully!
comment:30 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Maybe Apple has introduced additional restrictions on the use of DYLD_ environment variables in 10.15. It had already introduced some restrictions on them in 10.11.
I don't know if this is relevant, but 10.15 introduced the hardened runtime, and it sounds like apps that use the hardened runtime have to request the com.apple.security.cs.allow-dyld-environment-variables entitlement if they want DYLD_ environment variables to be able to affect them. Of course we're not talking about an app here; we're talking about a command line program being run as part of a build process. It seems unlikely that Apple would have altered how that works, since that would break tons of build systems. I don't know whether the hardened runtime could possibly be being used in this instance or what the criteria are for when it is used.
comment:31 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to dershow:
The path to copy from was dist.x86_64-apple-darwin19.5.0 ( not 19.4....I assume because I'm on 10.15).
darwin19.4.0 is macOS 10.15.4. darwin19.5.0 is macOS 10.15.5.
Is this hardcoded somewhere and the cause of the problem?!?
The build process undoubtedly determines your OS version and uses it in the directory paths.
comment:32 Changed 4 years ago by Veence (Vincent)
Happy it worked with this kludge.
@Ryan: yeah, that sounds like it. While I agree security is important, I think Apple had gone a bit overboard lately, and the extra protection measures wrapped around the newest MacOS versions are more a hassle than a benefit. To be honest, that’s one of the reasons I didn't upgrade to 10.15 (besides it lacking any fundamental new functionality I might desire or need). I also have disabled CSR on my system: while I don’t recommend it to the layman, at least I’m free to wipe out some files or default Applications I don’t want (e.g.: Stocks) and I can install Dtrace probes about anywhere to monitor what's going on (as well as writing kexts). The default MacOS config really cripples the control users have on their machines.
Maybe disabling CSR would solve this problem. If your hypothesis is correct, Ryan, and MacOS begins to diverge from widely accepted UNIX conventions because of foisted restrictive "security" features on its users, then we shouldn't wonder seeing more and more mainstream Open Source developers drifting away from Apple.
comment:33 Changed 4 years ago by nilason (Nicklas Larsson)
This is indeed strange. Yet I'm not all convinced it is caused by OS changes alone though. Note, it did build on on macOS 10.15.4 or darwin/19.4.0 (the same as for the initial log file by dershow). Even if I have also been thinking of apple security measurements being the cause...
comment:35 Changed 4 years ago by nilason (Nicklas Larsson)
Other case than the buildbot build I mentioned above, I don't know (at least not macports build of GRASS). Of course that can be behind a VM and perhaps work differently in this regard even if I doubt that would be the case (i.e. work differently).
Sidenote: presently the buildbots fail because of fail on dependency install of "spatialite +proj6" (anonymous login required). Any way to circumvent that?
comment:36 follow-up: 37 Changed 4 years ago by Veence (Vincent)
I’m not sure the VMs work the same way. CSR is somehow enforced at the firmware level, so unless I’m mistaken it would probably have to be disabled on the physical machine running the VMs in order to allow the installation of the hypervisor. I might be wrong, though.
As for spatialite, unfortunately there is no way to fetch the latest CVS/SVN/whatever revision automatically. The last “automatically downloadable” version is the beta which I had packaged before, but that one is over one year old and does not have provisions for Proj6 API. Proj6 = latest CVS = manual fetch, there’s no real escape from this.
If there is a way to upload the tarball somewhere into the macports.org server and have the port use it instead of the original location, that might work. Maybe Ryan knows how to do that?
comment:37 follow-up: 38 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to Veence:
I’m not sure the VMs work the same way. CSR is somehow enforced at the firmware level, so unless I’m mistaken it would probably have to be disabled on the physical machine running the VMs in order to allow the installation of the hypervisor. I might be wrong, though.
No, SIP was not disabled on the buildbot VM host machines. As far as I know, the buildbot guest machines perceive SIP as being enabled.
As for spatialite, unfortunately there is no way to fetch the latest CVS/SVN/whatever revision automatically. The last “automatically downloadable” version is the beta which I had packaged before, but that one is over one year old and does not have provisions for Proj6 API. Proj6 = latest CVS = manual fetch, there’s no real escape from this.
If there is a way to upload the tarball somewhere into the macports.org server and have the port use it instead of the original location, that might work. Maybe Ryan knows how to do that?
comment:38 Changed 4 years ago by nilason (Nicklas Larsson)
Replying to ryandesign:
If there is a way to upload the tarball somewhere into the macports.org server and have the port use it instead of the original location, that might work. Maybe Ryan knows how to do that?
Thanks @ryandesign, something like that is what I hoped for!
comment:39 Changed 4 years ago by nilason (Nicklas Larsson)
Now I tested on a fresh macOS 10.15.5 install (not upgrade) with newly installed MacPorts and I couldn't reproduce this issue. Installation of grass7 went without complication.
comment:40 Changed 4 years ago by Dave-Allured (Dave Allured)
Cc: | Dave-Allured added |
---|
comment:41 Changed 3 years ago by cooljeanius (Eric Gallager)
Cc: | cooljeanius added |
---|
comment:42 follow-up: 43 Changed 13 months ago by nilason (Nicklas Larsson)
Is this issue still a problem, is it at all reproducible?!
I suggest this ticket may be closed.
comment:43 Changed 13 months ago by chrstphrchvz (Christopher Chavez)
Replying to nilason:
Is this issue still a problem, is it at all reproducible?!
I suggest this ticket may be closed.
The reporter replied via email: https://lists.macports.org/pipermail/macports-dev/2023-October/045224.html
I haven’t tried to install it in a long time. That ticket points to an old version of GRASS7 (which itself is considered legacy). The current version is 8.3 and there is a separate port for that. The GRASS web site includes a binary downloader (which I’ve used), but also points users to Macports, so it’s likely that a bunch of users are able to successfully build now.
https://grass.osgeo.org/download/mac/
So, I would agree with closing the ticket.
comment:44 Changed 11 months ago by Schamschula (Marius Schamschula)
Resolution: | → fixed |
---|---|
Status: | new → closed |
I see a lot of this sort of thing in the log:
This suggests that the build system is not properly setting
DYLD_LIBRARY_PATH
to the path where the just-built-but-not-yet-intsalled libraries like libgrass_gis.7.8.dylib and libgrass_manage.7.8.dylib are located.