Opened 14 years ago

Closed 14 years ago

#22810 closed defect (fixed)

git-core depends on perl to build, not just run

Reported by: him@… Owned by: bryan@…
Priority: Normal Milestone:
Component: ports Version: 1.8.1
Keywords: Cc: maccheck@…, ryandesign (Ryan Carsten Schmidt)
Port: git-core

Description

git-core depends upon the perl port to be installed at build-time or the build fails.

Change History (5)

comment:1 Changed 14 years ago by mf2k (Frank Schima)

Cc: maccheck@… added
Owner: changed from macports-tickets@… to bryan@…
Port: git-core added

comment:2 Changed 14 years ago by maccheck@…

I cannot reproduce this failing build with a freshly installed MacPorts 1.8.1 and sudo port install git-core. Perl 5.8 is even built during that build phase.

comment:3 Changed 14 years ago by maccheck@…

I'm referring to git-core version 1.6.6

comment:4 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added

The error is quite easy to reproduce:

$ sudo port deactivate perl5.8
--->  Deactivating perl5.8
$ sudo port build git-core build.jobs=1
--->  Computing dependencies for git-core
--->  Fetching git-core
--->  Verifying checksum(s) for git-core
--->  Extracting git-core
--->  Applying patches to git-core
--->  Configuring git-core
--->  Building git-core
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_git-core/work/git-1.7.1" && /usr/bin/nice -n 10 /usr/bin/make -j1 all CFLAGS="-Wall -O2 -I/opt/local/include -arch x86_64" LDFLAGS="-L/opt/local/lib" CC=/usr/bin/gcc-4.2 prefix=/opt/local CURLDIR=/opt/local OPENSSLDIR=/opt/local ICONVDIR=/opt/local PERL_PATH="/opt/local/bin/perl" NO_FINK=1 NO_DARWIN_PORTS=1 NO_R_TO_GCC_LINKER=1 " returned error 2
Command output:     CC daemon.o
    LINK git-daemon
    CC remote-curl.o
    LINK git-remote-http
    LN/CP git-remote-https
    LN/CP git-remote-ftp
    LN/CP git-remote-ftps
    GEN git-am
    GEN git-bisect
    GEN git-difftool--helper
    GEN git-filter-branch
    GEN git-lost-found
    GEN git-merge-octopus
    GEN git-merge-one-file
    GEN git-merge-resolve
    GEN git-mergetool
    GEN git-pull
    GEN git-quiltimport
    GEN git-rebase--interactive
    GEN git-rebase
    GEN git-repack
    GEN git-request-pull
    GEN git-stash
    GEN git-submodule
    GEN git-web--browse
    SUBDIR perl
/opt/local/bin/perl Makefile.PL PREFIX='/opt/local'
make[1]: /opt/local/bin/perl: No such file or directory
make[1]: *** [perl.mak] Error 1
make: *** [perl/perl.mak] Error 2

Error: Status 1 encountered during processing.

As you can see, git-core uses MacPorts perl at build time. But it only declares a runtime dependency (and not a build-time dependency) on perl. I will change it to a library dependency. (Library dependency = runtime dependency + build-time dependency.)

comment:5 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed

Fixed in r67259.

Note: See TracTickets for help on using tickets.