Opened 15 years ago
Closed 14 years ago
#20373 closed defect (fixed)
subversion perl bindings fails to build on 10.6
Reported by: | epic@… | Owned by: | danielluke (Daniel J. Luke) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.8.0 |
Keywords: | snowleopard | Cc: | epic@…, mike@…, nitayj@…, lloyd@…, lstoll@…, tomvons@…, bjorn@…, roddi@…, skymoo (Adam Mercer), alancse@…, flaviocruz@… |
Port: | subversion-perlbindings |
Description
---> Configuring p5-svn-simple Error: Target org.macports.configure returned: configure failure: shell command " cd "/opt/local/var/macports/build/_Users_epic_Documents_svn_mports_dports_perl_p5-svn-simple/work/SVN-Simple-0.27" && /opt/local/bin/perl Makefile.PL INSTALLDIRS=vendor " returned error 2 Command output: ===> Warning: SVN::Core missing or outdated. Please manually install SVN::Core by compiling Subversion (version 0.31.0 or above) with SWIG/Perl bindings, and try this installation process again. Writing Makefile for SVN::Simple::Edit Error: The following dependencies failed to build: p5-svn-simple p5-term-readkey Error: Status 1 encountered during processing.
After digging around a bit i tried a simple printout using the perl bindings:
perl -e 'use SVN::Core; print "$SVN::Core::VER_MAJOR.$SVN::Core::VER_MINOR.$SVN::Core::VER_MICRO"'
which results in the following:
Can't load '/opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle' for module SVN::_Core: dlopen(/opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle, 1): Symbol not found: _svn_swig_pl_thunk_config_enumerator Referenced from: /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle Expected in: dynamic lookup at /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/SVN/Base.pm line 59 BEGIN failed--compilation aborted at /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/SVN/Core.pm line 5. Compilation failed in require at -e line 1. BEGIN failed--compilation aborted at -e line 1.
You will get simliar results by running perl with a simple
perl -e "use SVN::*"
for any of the valid submodules..
Attachments (5)
Change History (48)
comment:1 Changed 15 years ago by epic@…
comment:3 Changed 15 years ago by danielluke (Daniel J. Luke)
Owner: | changed from macports-tickets@… to dluke@… |
---|---|
Status: | new → assigned |
Version: | 1.7.1 → 1.8.0 |
Have you tried removing and rebuilding subversion-perlbindings?
sudo port -f uninstall subversion-perlbindings && sudo port clean --all subversion-perlbindings && sudo port -dv install subversion-perlbindings
please attach the output of the above if it still isn't working.
Changed 15 years ago by epic@…
Attachment: | installoutput.txt added |
---|
Verbose output of subversion-perlbindings installation
comment:4 Changed 15 years ago by epichub (Bjørn Magnus Mathisen)
Don't know if you caught it, but i ran the line you gave me and attached the results.
comment:5 Changed 15 years ago by danielluke (Daniel J. Luke)
Summary: | subversion perl bindings fails to build correctly → subversion perl bindings fails to build on 10.6 |
---|
I don't see anything obvious in the build. You appear to be on 10.6, though, and I don't have access to it to investigate further, so I'll have to rely on someone with access generating and testing a patch (or will have to wait until 10.6 is released).
comment:6 Changed 15 years ago by epichub (Bjørn Magnus Mathisen)
I'll try some more, and report back if i get it to build.
comment:10 Changed 15 years ago by lloyd@…
I have a fix. Core issue is I believe this warning:
In file included from /opt/local/lib/perl5/5.8.9/darwin-2level/CORE/perl.h:2275,
from subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c:24:
/opt/local/lib/perl5/5.8.9/darwin-2level/CORE/handy.h:85:1: warning: "bool" redefined In file included from /usr/include/mach-o/dyld.h:29,
from /opt/local/include/apr-1/apr_portable.h:166, from subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c:21:
/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/stdbool.h:36:1: warning: this is the location of the previous definition
system bool is being picked up by apr include, changing signature of the function in question: svn_swig_pl_thunk_config_enumerator
fix is simply swapping include order in swiguti_pl.c attaching a patch shortly, but here's where I'm at now:
[lth@lappro subversion-perlbindings] $ perl -e 'use SVN::Core; print "$SVN::Core::VER_MAJOR.$SVN::Core::VER_MINOR.$SVN::Core::VER_MICRO"' 1.6.3
Changed 15 years ago by lloyd@…
Attachment: | subversion-perlbinding.patch added |
---|
patch to swigutil_pl.c to fix warning and subsequent bind error (symbol is _svn_swig_pl_thunk_config_enumerator)
comment:11 Changed 15 years ago by danielluke (Daniel J. Luke)
Can you confirm that the perlbindings pass their tests with your patch?
comment:12 Changed 15 years ago by lloyd@…
I can confirm that git clone from svn now works :D. let me figure out how to run that test...
comment:13 Changed 15 years ago by lloyd@…
Tests run fine. Here's terse output:
[lth@lappro subversion-perlbindings] $ sudo port test ---> Computing dependencies for subversion-perlbindings ---> Testing subversion-perlbindings
Find full output attached to bug (testy.txt)
comment:14 Changed 15 years ago by danielluke (Daniel J. Luke)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
r55146 (added darwin 10 variant with this patch).
This is something that should get fixed upstream as well (but I don't have access, and the NDA probably keeps most people with access from reporting it there).
comment:15 Changed 15 years ago by mike@…
This doesn't seem to be fixing the problem for me... I installed macports from svn using the instructions at http://guide.macports.org/#installing.macports.subversion and configured it to use portfiles from svn. I then tried to install git-core+svn and got the following error when building p5-svn-simple:
---> Configuring p5-svn-simple Error: Target org.macports.configure returned: configure failure: shell command " cd "/opt/local/var/macports/build/_opt_mports_trunk_dports_perl_p5-svn-simple/work/SVN-Simple-0.27" && /opt/local/bin/perl Makefile.PL INSTALLDIRS=vendor " returned error 2 Command output: Checking if your kit is complete... Looks good ===> Warning: SVN::Core missing or outdated. Please manually install SVN::Core by compiling Subversion (version 0.31.0 or above) with SWIG/Perl bindings, and try this installation process again. Writing Makefile for SVN::Simple::Edit
I double checked, and the darwin_10 variant of subversion-perlbindings was installed.
If I run perl command from comment #10, I get the following output:
acheron:dports mike$ perl -e 'use SVN::Core; print "$SVN::Core::VER_MAJOR.$SVN::Core::VER_MINOR.$SVN::Core::VER_MICRO"' Can't load '/opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle' for module SVN::_Core: dlopen(/opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle, 1): Symbol not found: _svn_swig_pl_thunk_config_enumerator Referenced from: /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle Expected in: dynamic lookup at /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/SVN/Base.pm line 59 BEGIN failed--compilation aborted at /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/SVN/Core.pm line 5. Compilation failed in require at -e line 1. BEGIN failed--compilation aborted at -e line 1.
comment:16 Changed 15 years ago by danielluke (Daniel J. Luke)
Resolution: | fixed |
---|---|
Status: | closed → reopened |
You shouldn't need to use portfiles from svn (just would have needed to do 'port sync'
Can you attach the output of
sudo port clean --all subversion-perlbindings && sudo port -dv install subversion-perlbindings ?
Changed 15 years ago by mike@…
Attachment: | clean-install.txt added |
---|
output of sudo port clean --all subversion-perlbindings && sudo port -dv install subversion-perlbindings on 10.6 system
comment:17 follow-up: 18 Changed 15 years ago by mike@…
Attachment created with output of sudo port clean --all subversion-perlbindings && sudo port -dv install subversion-perlbindings on 10.6 system
comment:18 Changed 15 years ago by danielluke (Daniel J. Luke)
Replying to mike@…:
Attachment created with output of sudo port clean --all subversion-perlbindings && sudo port -dv install subversion-perlbindings on 10.6 system
Looks like you already had a (broken) version installed, so it didn't output anything useful.
Can you re-attach with:
sudo port -f uninstall subversion-perlbindings && sudo port clean --all subversion-perlbindings && sudo port -dv install subversion-perlbindings
[Alternatively, if someone else knows what is going on and has a tested patch that fixes it, I'd be happy to apply it - again I don't have access to 10.6]
comment:19 Changed 15 years ago by lloyd@…
Yikes, sorry for the confusion. I guess I should have initially submitted a complete portfile.
I don't know what is really going on here, but these steps are very interesting to me.
(uninstall previous port)
- sudo port uninstall subversion-perlbindings
(install port)
- sudo port install subversion-perlbindings
(now we're going to build it a second time while its installed)
- sudo port build subversion-perlbindings
(now let's test it)
- perl -e 'use SVN::Core; print "$SVN::Core::VER_MAJOR.$SVN::Core::VER_MINOR.$SVN::Core::VER_MICRO"'
(notice error!)
- sudo cp $(find ~/.macports/opt/local/var/macports/build/_opt_mports_trunk_dports_devel_subversion-perlbindings/work/subversion-1.6.4 -name _Core.bundle) /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle
- perl -e 'use SVN::Core; print "$SVN::Core::VER_MAJOR.$SVN::Core::VER_MINOR.$SVN::Core::VER_MICRO"'
at this point the port is installed and works fabulously!
can anyone confirm this works? can anyone explain why this works? (and this calls the necessity of my initial patch into question...)
comment:20 Changed 15 years ago by lloyd@…
here's those steps properly formatted:
1. sudo port uninstall subversion-perlbindings 2. sudo port install subversion-perlbindings 3. sudo port build subversion-perlbindings 4. perl -e 'use SVN::Core; print "$SVN::Core::VER_MAJOR.$SVN::Core::VER_MINOR.$SVN::Core::VER_MICRO"' 5. sudo cp $(find ~/.macports/opt/local/var/macports/build/_opt_mports_trunk_dports_devel_subversion-perlbindings/work/subversion-1.6.4 -name _Core.bundle) /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle 6. perl -e 'use SVN::Core; print "$SVN::Core::VER_MAJOR.$SVN::Core::VER_MINOR.$SVN::Core::VER_MICRO"'
comment:21 Changed 15 years ago by danielluke (Daniel J. Luke)
Is there perhaps an apple-provided version of a header that is conflicting (and that aren't getting seen when there's already a 'broken' version of this port installed?)
Changed 15 years ago by mike@…
Attachment: | uninstall-clean-install.txt added |
---|
output of sudo port -f uninstall subversion-perlbindings && sudo port clean --all subversion-perlbindings && sudo port -dv install subversion-perlbindings
comment:22 Changed 15 years ago by mike@…
dluke, I've attached the output of a uninstal,clean,install of subversoin-perlbindings for you.
llyod, i tried your steps, but step 5 failed, I don't have a ~/.macports/opt/local/var/macports/build/_opt_mports_trunk_dports_devel_subversion-perlbindings/work/subversion-1.6.4 directory
comment:23 Changed 15 years ago by lloyd@…
ah, you're not on svn ports -- try this:
- sudo cp $(find ~/.macports/opt/local/var/macports/build/ -name _Core.bundle) /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle
comment:24 Changed 15 years ago by mike@…
Had to tweak that command a little to:
sudo cp $(find /opt/local/var/macports/build/ -name _Core.bundle) /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle
but it now works, the perl -e command tells me i have 1.6.4 of SVN::CORE installed.
I have no idea why :D
Going to try installing git-core+svn to see if that works
comment:26 Changed 15 years ago by wakko@…
I got this error aswell, I'm using the svn version of macports, but I had to do: bash-3.2# sudo cp $(find /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_subversion-perlbindings/work/subversion-1.6.4 -name _Core.bundle) /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle
comment:30 Changed 15 years ago by bjorn@…
Regarding the bool redefinition.
The Apple distribution of Perl have a patched version of "handy.h".
$ # Perl version found at http://opensource.apple.com/release/mac-os-x-1058/ $ cat ./perl-51.1.4/fix/handy.h.ed /^#ifdef __GNUG__/c #if 1 /* always on Mac OS X */ # include <stdbool.h> . w
On Darwin 10, the result can be viewed in:
/System/Library/Perl/5.10.0/darwin-thread-multi-2level/CORE/handy.h /System/Library/Perl/5.8.9/darwin-thread-multi-2level/CORE/handy.h
This is missing in the MacPorts versions of Perl (5.8 and 5.10). Could this be causing the "bool" warnings?
(I still get "Symbol not found: _svn_swig_pl_thunk_config_enumerator" after the applied subversion-perlbindings patch.)
comment:32 Changed 15 years ago by mf2k (Frank Schima)
Keywords: | snowleopard added |
---|---|
Port: | p5-svn-simple added |
comment:33 Changed 15 years ago by danielluke (Daniel J. Luke)
Port: | subversion-perlbindings added; p5-svn-simple removed |
---|
comment:34 Changed 15 years ago by bjorn@…
Revision r56384 (disabling parallel builds) of subversion-perlbindings fixed this issue for me!
$ uname -rs Darwin 10.0.0 $ perl -e 'use SVN::Core; print "$SVN::Core::VER_MAJOR.$SVN::Core::VER_MINOR.$SVN::Core::VER_MICRO\n"' 1.6.5 $ git --version git version 1.6.4.1
comment:35 follow-up: 38 Changed 15 years ago by danielluke (Daniel J. Luke)
I have a feeling that the darwin 10 patch might not be necessary then.
Can someone with 10.6 please try building/testing the port without the darwin 10 platform variant (you can just remove that line from the portfile and then try).
Thanks!
(Otherwise I will test it out once my copy of 10.6 arrives).
comment:38 Changed 15 years ago by skymoo (Adam Mercer)
Replying to dluke@…:
Can someone with 10.6 please try building/testing the port without the darwin 10 platform variant (you can just remove that line from the portfile and then try).
Removed that darwin 10 variant and rebuilt, then p5-svn-simple installs without issue. Also git-core with the svn variant functions as expected.
comment:39 Changed 15 years ago by danielluke (Daniel J. Luke)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Patch removed and rev-bumped in r57637
comment:41 follow-up: 42 Changed 14 years ago by flaviocruz@…
Resolution: | fixed |
---|---|
Status: | closed → reopened |
I have a similar problem building p5-simple-svn due to subversion-perl-bindings. I'm using OS X 10.6.
---> Configuring subversion-perlbindings ---> Building subversion-perlbindings ---> Staging subversion-perlbindings into destroot ---> Installing subversion-perlbindings @1.6.12_0 ---> Activating subversion-perlbindings @1.6.12_0 ---> Cleaning subversion-perlbindings ---> Configuring p5-svn-simple Error: Target org.macports.configure returned: configure failure: shell command failed Log for p5-svn-simple is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_perl_p5-svn-simple/main.log Error: The following dependencies failed to build: p5-svn-simple p5-term-readkey python26 Error: Status 1 encountered during processing. To report a bug, see <http://guide.macports.org/#project.tickets> phoenix:/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_releas
On the file I have this:
:info:configure ===> Warning: SVN::Core missing or outdated. :info:configure Please manually install SVN::Core by compiling Subversion :info:configure (version 0.31.0 or above) with SWIG/Perl bindings, :info:configure and try this installation process again. :info:configure Writing Makefile for SVN::Simple::Edit :info:configure shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_perl_p5-svn-simple/work/SVN-Simple-0.28" && /opt/local/bin/perl Makefile.PL INSTALLDIRS=vendor " returned error 2
Trying to use SVN::Core I get:
# perl -e 'use SVN::Core; print "$SVN::Core::VER_MAJOR.$SVN::Core::VER_MINOR.$SVN::Core::VER_MICRO"' Can't find 'boot_SVN___Core' symbol in /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle at /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/SVN/Base.pm line 59 BEGIN failed--compilation aborted at /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/SVN/Core.pm line 5. Compilation failed in require at -e line 1. BEGIN failed--compilation aborted at -e line 1.
comment:42 Changed 14 years ago by danielluke (Daniel J. Luke)
Replying to flaviocruz@…:
I have a similar problem building p5-simple-svn due to subversion-perl-bindings.
you should open a new ticket with the complete build log of subversion-perlbindings and p5-svn-simple
(this bug was from before 10.6 was released).
comment:43 Changed 14 years ago by danielluke (Daniel J. Luke)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Oops it is _not_ 1.7.1 it is trunk and output was from rev 54083. I cannot change the ticket version it seems, hope someone can assist me.