[p4perl] Unable to install p4perl on linux amd64

Ankur Gupta ankur2080 at gmail.com
Tue Oct 17 05:12:15 PDT 2006


On 10/17/06, Tony Smith <tony at smee.org> wrote:

[...]

> That doesn't seem right. The issue is that the compile command should
> have -Dconst_char='const char', not -Dconst_char='char'. Trouble is, I can't
> see why it's being defined incorrectly.
>
> Could you:
>
> (a) send me the output of this perl command:
>
>         perl -e 'use Config; print $Config{myarchname}, "\n";'

x86_64-linux

> (b) grab the latest current build (3.5704) from the P4Perl page and try again.
> I just submitted a change this morning which might help.

It helped :-). I was able to install it this time. This time it used
the correct one. -Dconst_char='const char'

o/p of make command.

cp P4.pm blib/lib/P4.pm
AutoSplitting blib/lib/P4.pm (blib/lib/auto/P4)
cp example.pl blib/lib/example.pl
cd lib && make
make[1]: Entering directory `/remote/vtghome6/ankurg/P4-3.5704/lib'
c++ -c  -I/remote/vtghome6/ankurg/P4-3.5692/api/r06.1 -Ilib
-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2   -DVERSION=\"\"
-DXS_VERSION=\"\" -fpic
"-I/depot/perl-5.8.3/lib/5.8.3/x86_64-linux/CORE"  -DOS_LINUX
-D_BSD_SOURCE -D_SVID_SOURCE -DP4API_VERSION=513537
-Dconst_char="const char" p4result.cc
c++ -c  -I/remote/vtghome6/ankurg/P4-3.5692/api/r06.1 -Ilib
-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2   -DVERSION=\"\"
-DXS_VERSION=\"\" -fpic
"-I/depot/perl-5.8.3/lib/5.8.3/x86_64-linux/CORE"  -DOS_LINUX
-D_BSD_SOURCE -D_SVID_SOURCE -DP4API_VERSION=513537
-Dconst_char="const char" perlclientapi.cc
c++ -c  -I/remote/vtghome6/ankurg/P4-3.5692/api/r06.1 -Ilib
-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2   -DVERSION=\"\"
-DXS_VERSION=\"\" -fpic
"-I/depot/perl-5.8.3/lib/5.8.3/x86_64-linux/CORE"  -DOS_LINUX
-D_BSD_SOURCE -D_SVID_SOURCE -DP4API_VERSION=513537
-Dconst_char="const char" perlclientuser.cc
ar cr libp4.a p4result.o perlclientapi.o perlclientuser.o
make[1]: Leaving directory `/remote/vtghome6/ankurg/P4-3.5704/lib'
make[1]: Entering directory `/remote/vtghome6/ankurg/P4-3.5704/lib'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/remote/vtghome6/ankurg/P4-3.5704/lib'
/linux/depot/perl-5.8.3/bin/perl
/depot/perl-5.8.3/lib/5.8.3/ExtUtils/xsubpp  -C++ -prototypes -typemap
/depot/perl-5.8.3/lib/5.8.3/ExtUtils/typemap  P4.xs > P4.xsc && mv
P4.xsc P4.c
c++ -c  -I/remote/vtghome6/ankurg/P4-3.5692/api/r06.1 -Ilib
-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2   -DVERSION=\"3.5704\"
-DXS_VERSION=\"3.5704\" -fpic
"-I/depot/perl-5.8.3/lib/5.8.3/x86_64-linux/CORE"  -DOS_LINUX
-D_BSD_SOURCE -D_SVID_SOURCE -DP4API_VERSION=513537
-Dconst_char="const char" P4.c
Running Mkbootstrap for P4 ()
chmod 644 P4.bs
rm -f blib/arch/auto/P4/P4.so
c++  -shared -L/usr/local/lib P4.o  -o blib/arch/auto/P4/P4.so
lib/libp4.a      \
  -L/remote/vtghome6/ankurg/P4-3.5692/api/r06.1 -lclient -lrpc -lsupp
        \

chmod 755 blib/arch/auto/P4/P4.so
cp P4.bs blib/arch/auto/P4/P4.bs
chmod 644 blib/arch/auto/P4/P4.bs
Manifying blib/man3/P4.3

I was also able to install linux emt machines with the same api and
build where the platform specific directory was
x86_64-linux-thread-multi/auto/P4/P4.so.

Now I will try my luck on solaris AMD64, hp and aix. They are not
important but if  I get it through it will be a bonus.

--Ankur



More information about the p4perl mailing list