#16027 closed defect (fixed)
mapm3: readline build errors
Reported by: | pst@… | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.6.0 |
Keywords: | mapm | Cc: | ryandesign (Ryan Carsten Schmidt) |
Port: |
Description
Installed latest version of macports on an iMac (10.5.4). Got the following:
[pst@USDA-3402-GenoMac, 05:08 PM ~/] sudo port install mapm3 Password: ---> Fetching mapm3 ---> Attempting to fetch mapm3-source.tar.Z from http://www-genome.wi.mit.edu/ftp/distribution/software/mapmaker3/ ---> Verifying checksum(s) for mapm3 ---> Extracting mapm3 ---> Applying patches to mapm3 ---> Configuring mapm3 ---> Building mapm3 with target all Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_science_mapm3/work/mapm3-source" && make all " returned error 2 Command output: readline.c: In function 'rl_generic_bind': readline.c:5203: warning: incompatible implicit declaration of built-in function 'strlen' readline.c: In function 'parser_if': readline.c:5430: warning: incompatible implicit declaration of built-in function 'strcpy' readline.c:5430: warning: incompatible implicit declaration of built-in function 'strlen' readline.c: In function 'rl_parse_and_bind': readline.c:5528: error: invalid storage class for function 'substring_member_of_array' readline.c:5617: warning: incompatible implicit declaration of built-in function 'strlen' readline.c:5665: warning: incompatible implicit declaration of built-in function 'strlen' readline.c: At top level: readline.c:5765: error: static declaration of 'substring_member_of_array' follows non-static declaration readline.c:5655: error: previous implicit declaration of 'substring_member_of_array' was here readline.c: In function 'substring_member_of_array': readline.c:5767: error: invalid storage class for function 'strindex' readline.c: At top level: readline.c:5820: error: conflicting types for 'strindex' readline.c:5771: error: previous implicit declaration of 'strindex' was here readline.c: In function 'strindex': readline.c:5822: warning: incompatible implicit declaration of built-in function 'strlen' readline.c: In function 'xmalloc': readline.c:5873: warning: incompatible implicit declaration of built-in function 'malloc' readline.c: In function 'memory_error_and_abort': readline.c:5896: warning: incompatible implicit declaration of built-in function 'abort' readline.c: In function 'gnu_edit_this': readline.c:5965: error: invalid storage class for function 'rl_prep_terminal' readline.c:5965: error: invalid storage class for function 'rl_deprep_terminal' readline.c:5971: warning: incompatible implicit declaration of built-in function 'strcpy' readline.c:5972: warning: incompatible implicit declaration of built-in function 'strlen' make[1]: * [readline.o] Error 1 make: * [readline/libreadline.a] Error 2
Error: Status 1 encountered during processing. [pst@USDA-3402-GenoMac, 05:08 PM ~/]
Change History (10)
comment:1 Changed 16 years ago by jmroot (Joshua Root)
Milestone: | MacPorts 1.6.1 → Port Bugs |
---|
comment:2 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added |
---|
comment:3 Changed 16 years ago by pst@…
Can someone at macports simply REMOVE the readline code so that mapm3 will compile? I think it will work fine without readline.
comment:4 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)
If you can figure out how to do so, and attach a patch here, I'll be happy to test it and commit it to the repository.
comment:5 Changed 16 years ago by pst@…
I have no idea how to do so, but I think that is what they did over at Fink. Maybe the build files that they have will be of use to you. I am not a programmer, that is why MacPorts is useful to me!!
comment:6 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | changed from macports-tickets@… to ryandesign@… |
---|---|
Status: | new → assigned |
Summary: | mapm3 build errors → mapm3: readline build errors |
comment:7 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Thanks for your help and for your tip to look at how Fink does it. I disabled readline support in r38628. Please wait 30 minutes, then "sudo port sync
" and you should then be able to install mapm3.
comment:8 Changed 16 years ago by pst@…
Thanks Ryan!
I did a "port clean mapm3" then "port sync" and "port install mapm3". It is working!! I have not done extensive testing yet though. Is this the "Large Dataset" port? If not, I could really use that option!!
Paul
comment:9 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)
I only fixed the readline issue. The Fink version does have more patches than the MacPorts version. Not sure if we need to bring any more of them over. But it looks like large dataset support is available in the mapm3 port's "large_datasets" variant. See port variants mapm3
. Install it using sudo port install mapm3 +large_datasets
. Not sure why this isn't the default. Do you know if there is any detriment to enabling large dataset support always? FreeBSD seems to do so. If there's anything else we need to do for the mapm3 port, please open a new ticket.
mapmaker3 is from February 1993. This software is ancient.
It looks like it's having trouble compiling the readline library included with the mapm3 sources. One could try to modify the mapm3 sources to use the version of readline provided by the existing readline port instead, but I don't know whether the readline interface has changed in the past 15 years. mapm3 may be incompatible with the newest readline. If that's the case, then there are older readline ports (readline-5 and readline-4) which one could try. I can't figure out which version of readline is included with mapm3, though if one were to look at the release history of readline one might be able to figure it out.