blessed way of doing this:
cc -o interp interp.c `perl -MExtUtils::Embed -e ccopts -e ldopts`
In order for this to work, ldopts should contain -lcrypt.
PR: 21804
Reviewed by: markm
$ PERL_DL_NONLAZY=1 perl -MPOSIX -e ''
Can't load '/usr/libdata/perl/5.6.0/mach/auto/POSIX/POSIX.so' for module
POSIX: /usr/libdata/perl/5.6.0/mach/auto/POSIX/POSIX.so: Undefined
symbol "sv_setptrobj" at /usr/libdata/perl/5.6.0/XSLoader.pm line 73.
at /usr/libdata/perl/5.6.0/mach/POSIX.pm line 24
Compilation failed in require.
BEGIN failed--compilation aborted.
This problem only exists in -CURRENT. Most often it is reproduced when
compiling some perl extension manually. Make test uses PERL_DL_NONLAZY,
and if a tested module uses POSIX, boom!
Luckily, we don't see it very often, mostly because the vast majority of
p5 ports do not perform the `make test' step.
Submitted by: Anton Berezin <tobez@tobez.org>
Needs to be a committer already: Anton Berezin <tobez@tobez.org>
produced by miniperl during buildworld phase.
- While at it, do loading of SelfLoader only when it is needed, and in
place where it is needed.
Submitted by: tobez@tobez.org (who is doing way too much good work
and is in need of the Commit Bit punishment)
for a module overridden by BSDPAN instead of the original module.
* Fix wrong manual section numbers in SEE ALSO.
* Add `Revision 42' to the beer-ware license. The BSDPAN author did not
originally get the reference and removed the revision from original
phk's version.
Submitted by: Anton Berezin <tobez@tobez.org>
* Fix a bug which prevented the second invocation of overloaded
subs governed by SelfLoader from functioning.
* Fix a bug with XS modules. MakeMaker determines where the xsubpp
preprocessor is located by adding "ExtUtils" string to the Perl's
system path. At the same time, BSDPAN has to fool MakeMaker into
thinking that the Perl's system path is elsewhere. Now we
`reverse-adjust' the notion of the Perl's system path for a
moment, so xsubpp utility is found.
This should fix the breakage with some p5- ports.
Reported by: vanilla
Submitted by: Anton Berezin <tobez@tobez.org>
BSDPAN is the collection of modules that provides tighter than ever
integration of Perl into BSD Unix.
Currently, BSDPAN does the following:
o makes p5- FreeBSD ports PREFIX-clean;
o registers Perl modules in the FreeBSD package database with a
package name derived from the module name.
The name is of the form: bsdpan-ModuleName-V.VV.
Anyone interested in where BSDPAN is developing should read Anton's
message to the ports mailling list:
Message-ID: <20010105040828.A26011@heechee.tobez.org>
Submitted by: Anton Berezin <tobez@tobez.org>
change out that made libperl.so dynamically depend on libutil.so to pick
up setproctitle() in its old location. This breaks changes involving
incomptabable libc's because ld looks for the dynamic dependency
(which it has no business doing anyway) in the wrong place - /usr/lib!
o Move building libperl and miniperl from build-tools to
cross-tools. libperl uses MACHINE_ARCH to determine the
right configuration, which doesn't match the build
machine when cross-building if they are built as build-
tools.
o Since miniperl needs to be built as a cross-tool, it
needs to be installed under /usr/obj so that it can be
used (cross-tools have a special object directory to
avoid build conflicts. As a downside, you can't easily
run cross-tools from their object directory). Remove
the install and distribute override targets. To avoid
having miniperl installed by installworld, remove it
from SUBDIR.
o We can't pickup miniperl from the object directory but
since it's installed, depend on PATH. This is save,
because the makefiles are run with a known path.
o Build libperl again as part of the library target. A
_libperl variable existed, but it was never defined.
o Add chmod to the list of saved tools, because perl
conditionally uses it during install.
The bootstrap-tools and cross-tools targets are modified to
avoid building profiled and shared libraries. While here,
have these targets build static binaries instead of shared
binaries.
Approved by: markm
ENABLE_SUIDPERL is set to true. When perl is updated to remove the
fork mail code, additional warnings will enable the users to know what
is gonig on and how to correct it. Markm will make those commits as
part of his perl patch integration. suidperl is installed with
execute permissions so that markm's added error messages wil be seen
by the user.
1) (Biggest) I tried long-and-hard to keep the version number (5.006)
backwards compatible with FreeBSD; I have lost this battle, and
must defer to the Perl convention (5.6.0). Victims include suidperl.
this means that dirs with a name of 5.006 will be replaced with
dirs named 5.6.0 in both /usr/libdata/perl and /usr/local/lib/perl.
2) Errno module is added.
3) Alpha bits extensively tweeked after a Beast-build.
Other commits to follow.
Fixed wrong path to libperl in LDADD in some funky objdir setups.
Use ${dir}/libfoo.a instead of -L${dir} -lfoo for local static libraries
in LDADD so that `make checkdpadd' doesn't report non-errors.
Fixed misformatting of $FreeBSD$.
fixes the way that third-party apps like apache link in perl .so's
(and previously did not get libperl linked in.)
NOTE - you neeed to recompile all your perl stuff - all the p5-*
por4ts with C code, and things like mod_perl.
happened as it was working around problems elsewhere (ie: binutils/ld
not doing the right thing according to the ELF design). libcrypt has
been adjusted to not need the runtime -lmd. It's still not quite right
(ld is supposed to work damnit) but at least it doesn't impact all the
users of libcrypt in Marcel's cross-build model.
(ie Makefile.PL) from creating makefiles that explicitly use the perl
from the object tree. It breaks cross-building. While I'm here, create
a variable that holds common MakeMaker arguments used by all targets,
and by doing so automaticly fixed a bug.
Approved by: markm
pod files to be converted to and installed as manual pages.
These were probably overlooked in the last minor version number upgrade
to perl5. This change was approved by the perl5 maintainer.
PR: 14649
Submitted by: Andy Farkas <andyf@speednet.com.au>