Discussion:
[rt.cpan.org #111897] Re: PAR Question Solaris 10
(too old to reply)
Audrey Tang via RT
2016-02-09 13:45:41 UTC
Permalink
Tue Feb 09 08:45:40 2016: Request 111897 was acted upon.
Transaction: Ticket created by ***@audreyt.org
Queue: PAR
Subject: Re: PAR Question Solaris 10
Broken in: (no value)
Severity: (no value)
Owner: Nobody
Requestors: ***@audreyt.org
Status: new
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=111897 >


Hi, this sounds similar to https://rt.cpan.org/Public/Bug/Display.html?id=63083 <https://rt.cpan.org/Public/Bug/Display.html?id=63083> — sorry I do not have access to a Solaris machine to test fixes to find libperl in an extracted executable.

Solaris does not support static linking at all, so Marc’s excellent http://search.cpan.org/~mlehmann/App-Staticperl-1.44/staticperl.pod <http://search.cpan.org/~mlehmann/App-Staticperl-1.44/staticperl.pod> (which is guaranteed to produce a static application) may not work so well either, but it’s worth a try.

Cheers,
Audrey
Hello Audrey,
I installed PAR:Packer at differnt OS (Windows/AIX/solaris 10 ).
The idea is to copy the binary between different system without installing perl and perl modules.
With the Solaris Installation I have the problem that the binary is not a standalone binary.
There are libaries which solaris make dynamic and static.
libperl.so => /home/misnh5/lib/libperl.so
libdb-4.8.so => /home/misnh5/lib/libdb-4.8.so
The question is: How can I influence pp or the linker of solaris, so that this libary get linked static?
Thanks for your help!
PAR -- 1.010
PAR::Dist -- 0.49
PAR::Packer -- 1.029
Freundliche Grüße / Kind regards,
Walter GNADENBERGER
Software Development & Testing
Bitte denken Sie an die Umwelt, bevor Sie drucken. / Please consider the environment before printing.
This message and any attachment ("the Message") are confidential. If you have received the Message in error, please notify the sender immediately and delete the Message from your system, any use of the Message is forbidden.
Correspondence via e-mail is primarily for information purposes. RBI neither makes nor accepts legally binding statements via e-mail unless explicitly agreed otherwise.
Information pursuant to § 14 Austrian Companies Code: Raiffeisen Bank International AG; Registered Office: Am Stadtpark 9, A-1030 Vienna; Company Register Number: FN 122119m at the Commercial Court of Vienna (Handelsgericht Wien).
Roderich Schupp via RT
2016-02-09 15:05:25 UTC
Permalink
Tue Feb 09 10:05:19 2016: Request 111896 was acted upon.
Transaction: Correspondence added by RSCHUPP
Queue: PAR
Subject: PAR Question Solaris 10
Broken in: (no value)
Severity: (no value)
Owner: Nobody
Requestors: ***@rbinternational.com
Status: open
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=111896 >
I am using following perl
xsnoahd01:/home/misnh1>which perl
/opt/csw/bin/perl
xsnoahd01:/home/misnh1>/opt/csw/bin/perl --version
Please provide the output of (note the uppercase "V")

$ /opt/csw/bin/perl -V

The problem that libperl.so is missing from the packed executable
may perhaps be fixed - at least PAR::Packer has a provision to pack that,
though incorrect configuration information of your perl or a bug in PAR::Packer's build process may have prevented it. That's why I need
the above information and also the log of how you built PAR::Packer.


Cheers, Roderich
Roderich Schupp via RT
2016-02-09 16:28:23 UTC
Permalink
Tue Feb 09 11:28:22 2016: Request 111896 was acted upon.
Transaction: Correspondence added by RSCHUPP
Queue: PAR
Subject: PAR Question Solaris 10
Broken in: (no value)
Severity: (no value)
Owner: Nobody
Requestors: ***@rbinternational.com
Status: open
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=111896 >
xsnoahd01:/home/misnh1>/opt/csw/bin/perl -V
Thanks.

The only short-term workaround I see is to build PAR::Packer yourself
with some tweaks.
Are you up to that? I can provide instructions, but don't have access
to Solaris machines so can't try myself. Note that this will require
the SunPro compiler (/opt/SUNWspro/bin/cc) as your perl was compiled with it...

Cheers, Roderich
Roderich Schupp via RT
2016-02-10 10:27:22 UTC
Permalink
Wed Feb 10 05:27:21 2016: Request 111896 was acted upon.
Transaction: Correspondence added by RSCHUPP
Queue: PAR
Subject: PAR Question Solaris 10
Broken in: (no value)
Severity: (no value)
Owner: Nobody
Requestors: ***@audreyt.org, ***@rbinternational.com
Status: open
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=111896 >
Yes I already compiled modules for myself.
Will be fine if you can give me some advice/instruction, especially at the
compiler/link options.
Great! First the usual: unpack the PAR::Packer tarball, chdir into its
top level directory, run "perl Makefile.pl".
If you have previously built stuff there, remove myldr/boot_embedded_files.c.

Edit myldr/Makefile: locate the stanza for boot_embedded_files.c

boot_embedded_files.c: ./par
$(PERLRUN) ./file2c.pl -c 30000 "./par" ...stuff... > $@

and replace ...stuff... with

/opt/csw/lib/sparcv8/libperl.so /opt/csw/bdb48/lib/libdb-4.8.so

Run "make". If you want to try it out before "make install" use
"perl -Mblib blib/script/pp ..." instead of "pp ..." to pack.

Cheers, Roderich
Roderich Schupp via RT
2016-02-11 11:27:21 UTC
Permalink
Thu Feb 11 06:27:18 2016: Request 111896 was acted upon.
Transaction: Correspondence added by RSCHUPP
Queue: PAR
Subject: PAR Question Solaris 10
Broken in: (no value)
Severity: (no value)
Owner: Nobody
Requestors: ***@audreyt.org, ***@rbinternational.com
Status: open
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=111896 >
The libs libperl.so and libdb-4.8.so are shared again.
Yikes, that's another bug which has been there for almost 3 years
and nobody noticed.
Remove the file myldr/boot, once more edit myldr/Makefile and change

./boot: boot.o
$(LD) boot.o ...some stuff... -o ./boot

so that the second line just reads

$(LD) boot.o -o ./boot

(as boot - and hence any packed executable - has absolutely no business being
linked with anything but the standard C library). Then "make" and
test as before. If this got rid of the shared libraries, try to run the
packed executable on a machine that doesn't have perl installed
(that's what the first workaround actually was intended to solve).

Sorry for inconvenience, Roderich
Roderich Schupp via RT
2016-02-11 14:57:55 UTC
Permalink
Thu Feb 11 09:57:53 2016: Request 111896 was acted upon.
Transaction: Correspondence added by RSCHUPP
Queue: PAR
Subject: PAR Question Solaris 10
Broken in: (no value)
Severity: (no value)
Owner: Nobody
Requestors: ***@audreyt.org, ***@rbinternational.com
Status: open
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=111896 >
we did it! :-)
I recompiled and reinstalled it and it works fine yet.
Thanks for testing. This manual intervention will not be necessary with
the next release of PAR::Packer.

Cheers, Roderich

Loading...