List Info

Thread: Unable to install p4perl on linux amd64




Unable to install p4perl on linux amd64
user name
2006-10-11 15:31:23
Hi,

I am *able* to install P4 on linux x86 and solaris sparc
machines .

But I need to install the same on other platforms such as
linux
amd64/em64t and solaris amd machines(maybe more).

I am unsuccessful so far to get it working on linux amd64.

Following is the uname -a o/p of a linux amd64 machine.
Linux vgamd126 2.4.21-32.ELsmp #1 SMP Fri Apr 15 21:03:28
EDT 2005
x86_64 x86_64 x86_64 GNU/Linux

I tried r05.2/bin.linux26amd64, r04.2/bin.linux26amd64 and
r03.2/bin.linux26amd64..
All gave the following error....
(I don't understand what the error means, can someone give
me some
pointers on how to correct them.. am I using the correct
api... Please
let me know if you need more information)

Writing Makefile for P4::lib
Writing Makefile for P4
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 && /usr/bin/make
make[1]: Entering directory
`/remote/vtghome6/ankurg/.cpan/build/P4-3.5313/lib'
c++ -c  -I/remote/vtghome6/ankurg/P4-3.5692/api/05.2 -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.0/lib/5.8.4/x86_64-linux/CORE" 
-DOS_LINUX
-Dconst_char='char' -D_BSD_SOURCE -D_SVID_SOU
RCE -DP4API_VERSION=513282 p4result.cc
c++ -c  -I/remote/vtghome6/ankurg/P4-3.5692/api/05.2 -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.0/lib/5.8.4/x86_64-linux/CORE" 
-DOS_LINUX
-Dconst_char='char' -D_BSD_SOURCE -D_SVID_SOU
RCE -DP4API_VERSION=513282 perlclientapi.cc
c++ -c  -I/remote/vtghome6/ankurg/P4-3.5692/api/05.2 -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.0/lib/5.8.4/x86_64-linux/CORE" 
-DOS_LINUX
-Dconst_char='char' -D_BSD_SOURCE -D_SVID_SOU
RCE -DP4API_VERSION=513282 perlclientuser.cc
ar cr libp4.a p4result.o perlclientapi.o perlclientuser.o
make[1]: Leaving directory
`/remote/vtghome6/ankurg/.cpan/build/P4-3.5313/lib'
make[1]: Entering directory
`/remote/vtghome6/ankurg/.cpan/build/P4-3.5313/lib'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory
`/remote/vtghome6/ankurg/.cpan/build/P4-3.5313/lib'
/linux/depot/perl-5.8.0/bin/perl
/depot/perl-5.8.0/lib/5.8.4/ExtUtils/xsubpp  -C++
-prototypes -typemap
/depot/perl-5.8.0/lib/5.8.4/ExtUtils/typemap  P4.xs >
P4.xsc && mv P4.xsc P4.c
c++ -c  -I/remote/vtghome6/ankurg/P4-3.5692/api/05.2 -Ilib
-fno-strict-aliasing -I/usr/local/include
-D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include
/gdbm -O2   -DVERSION="3.5313"
-DXS_VERSION="3.5313" -fpic
"-I/depot/perl-5.8.0/lib/5.8.4/x86_64-linux/CORE" 
-DOS_LINUX
-Dconst_char='char' -D_BSD_SOURCE
 -D_SVID_SOURCE -DP4API_VERSION=513282 P4.c
P4.xs: In function `void XS_P4_new(CV*)':
P4.xs:121: warning: cast from pointer to integer of
different size
Running Mkbootstrap for P4 ()
chmod 644 P4.bs
rm -f blib/arch/auto/P4/P4.so
LD_RUN_PATH="" 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/05.2 -lclient -lrpc
-lsupp
/usr/bin/ld:
/remote/vtghome6/ankurg/P4-3.5692/api/05.2/libclient.a(clien
tapi.o):
relocation R_X86_64_32S can not be used when making a shared
object;
recompi
le with -fPIC
/remote/vtghome6/ankurg/P4-3.5692/api/05.2/libclient.a:
could not read
symbols: Bad value
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/P4/P4.so] Error 1
  /usr/bin/make  -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible

Following is the perl -V o/p
Summary of my perl5 (revision 5 version 8 subversion 4)
configuration:
  Platform:
    osname=linux, osvers=2.4.21-4.el, archname=x86_64-linux
    uname='linux littleboy2.synopsys.com 2.4.21-4.el #1 fri
oct 3
17:39:19 edt 2003 x86_64 x86_64 x86_64 gnulinux '
    config_args='-Dprefix=/depot/perl-5.8.0
-Dscriptdir=/depot/perl-5.8.0/scripts -Dextras=Mail::Mailer
Tk -des'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
    useperlio=define d_sfio=undef uselargefiles=define
usesocks=undef
    use64bitint=define use64bitall=define
uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-fno-strict-aliasing
-I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/usr/include/gdbm',
    optimize='-O2',
    cppflags='-fno-strict-aliasing -I/usr/local/include
-I/usr/include/gdbm'
    ccversion='', gccversion='3.2.3 20030502 (Red Hat Linux
3.2.3-20)', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8,
byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define,
longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8,
Off_t='off_t',
lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -ldl -lm -lcrypt -lutil -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
    libc=/lib/libc-2.3.2.so, so=so, useshrplib=false,
libperl=libperl.a
    gnulibc_version='2.3.2'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef,
ccdlflags='-Wl,-E'
    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl):
  Compile-time options: USE_64_BIT_INT USE_64_BIT_ALL
USE_LARGE_FILES
  Built under linux
  Compiled at May  6 2004 17:36:04
  INC:
    /depot/perl-5.8.0/lib/5.8.4/x86_64-linux
    /depot/perl-5.8.0/lib/5.8.4
    /depot/perl-5.8.0/lib/site_perl/5.8.4/x86_64-linux
    /depot/perl-5.8.0/lib/site_perl/5.8.4
    /depot/perl-5.8.0/lib/site_perl
   .

Thanks for your help 

--Ankur
_______________________________________________
p4perl mailing list
p4perlperforce.com

http://maillist.perforce.com/mailman/listinfo/p4perl
Unable to install p4perl on linux amd64
user name
2006-10-16 11:55:20
Hi Ankur,

> I am *able* to install P4 on linux x86 and solaris
sparc machines .
>
> But I need to install the same on other platforms such
as linux
> amd64/em64t and solaris amd machines(maybe more).
>
> I am unsuccessful so far to get it working on linux
amd64.
>

> I tried r05.2/bin.linux26amd64, r04.2/bin.linux26amd64
and
> r03.2/bin.linux26amd64..

You need a PIC build of the API for that platform:

ftp://ftp.perforce.com/perforce/r06.1/bin.linux26x86_64/pic/
p4api.tar

That should do the trick.

Tony
-- 
Tony Smith
European Technical Services Manager
Perforce Software UK
_______________________________________________
p4perl mailing list
p4perlperforce.com

http://maillist.perforce.com/mailman/listinfo/p4perl
Unable to install p4perl on linux amd64
user name
2006-10-16 18:25:41
On 10/16/06, Tony Smith <tonyperforce.com> wrote:
> Hi Ankur,

Hi Tony,

Thanks for the reply.

> > I am *able* to install P4 on linux x86 and solaris
sparc machines .
> >
> > But I need to install the same on other platforms
such as linux
> > amd64/em64t and solaris amd machines(maybe more).
> >
> > I am unsuccessful so far to get it working on
linux amd64.
> >
>
> > I tried r05.2/bin.linux26amd64,
r04.2/bin.linux26amd64 and
> > r03.2/bin.linux26amd64..
>
> You need a PIC build of the API for that platform:
>
>
ftp://ftp.perforce.com/perforce/r06.1/bin.linux26x86_64/pic/
p4api.tar
>
> That should do the trick.

I tried this api but I am getting a different error now.

Writing Makefile for P4::lib
Writing Makefile for P4
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 && /usr/bin/make
make[1]: Entering directory
`/remote/vtghome6/ankurg/.cpan/build/P4-3.5313/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
-Dconst_char='char' -D_BSD_SOURCE -D_SVID_SOURCE
-DP4API_VERSION=513537 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
-Dconst_char='char' -D_BSD_SOURCE -D_SVID_SOURCE
-DP4API_VERSION=513537 perlclientapi.cc
In file included from perlclientapi.cc:56:
perlclientuser.h:50: conflicting return type specified for
`virtual void
   PerlClientUser::OutputText(char*, int)'
/remote/vtghome6/ankurg/P4-3.5692/api/r06.1/clientuser.h:160
:   overriding `
   virtual int ClientUser::OutputText(char*, int)'
perlclientuser.h:51: conflicting return type specified for
`virtual void
   PerlClientUser::OutputInfo(char, char*)'
/remote/vtghome6/ankurg/P4-3.5692/api/r06.1/clientuser.h:156
:   overriding `
   virtual int ClientUser::OutputInfo(char, char*)'
perlclientuser.h:53: conflicting return type specified for
`virtual void
   PerlClientUser::OutputBinary(char*, int)'
/remote/vtghome6/ankurg/P4-3.5692/api/r06.1/clientuser.h:158
:   overriding `
   virtual int ClientUser::OutputBinary(char*, int)'
make[1]: *** [perlclientapi.o] Error 1
make[1]: Leaving directory
`/remote/vtghome6/ankurg/.cpan/build/P4-3.5313/lib'
make: *** [lib/libp4.a] Error 2
  /usr/bin/make  -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible
Failed during this command:
  SMEE/P4-3.5313.tar.gz                        : make NO

--Ankur
_______________________________________________
p4perl mailing list
p4perlperforce.com

http://maillist.perforce.com/mailman/listinfo/p4perl
Unable to install p4perl on linux amd64
user name
2006-10-17 11:43:53
Hi Ankur,

> Thanks for the reply.

No problem.

> I tried this api but I am getting a different error
now.
>
> Writing Makefile for P4::lib
> Writing Makefile for P4
> 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 && /usr/bin/make
> make[1]: Entering directory
> `/remote/vtghome6/ankurg/.cpan/build/P4-3.5313/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
> -Dconst_char='char' -D_BSD_SOURCE -D_SVID_SOURCE
> -DP4API_VERSION=513537 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
> -Dconst_char='char' -D_BSD_SOURCE -D_SVID_SOURCE
> -DP4API_VERSION=513537 perlclientapi.cc
> In file included from perlclientapi.cc:56:
> perlclientuser.h:50: conflicting return type specified
for `virtual void
>    PerlClientUser::OutputText(char*, int)'
>
/remote/vtghome6/ankurg/P4-3.5692/api/r06.1/clientuser.h:160
:   overriding
> ` virtual int ClientUser::OutputText(char*, int)'
> perlclientuser.h:51: conflicting return type specified
for `virtual void
>    PerlClientUser::OutputInfo(char, char*)'
>
/remote/vtghome6/ankurg/P4-3.5692/api/r06.1/clientuser.h:156
:   overriding
> ` virtual int ClientUser::OutputInfo(char, char*)'
> perlclientuser.h:53: conflicting return type specified
for `virtual void
>    PerlClientUser::OutputBinary(char*, int)'
>
/remote/vtghome6/ankurg/P4-3.5692/api/r06.1/clientuser.h:158
:   overriding
> ` virtual int ClientUser::OutputBinary(char*, int)'
> make[1]: *** [perlclientapi.o] Error 1
> make[1]: Leaving directory
> `/remote/vtghome6/ankurg/.cpan/build/P4-3.5313/lib'
make: *** [lib/libp4.a]

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,
"n";'

(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.

Thanks,

Tony
_______________________________________________
p4perl mailing list
p4perlperforce.com

http://maillist.perforce.com/mailman/listinfo/p4perl
Unable to install p4perl on linux amd64
user name
2006-10-17 12:12:15
On 10/17/06, Tony Smith <tonysmee.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,
"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
_______________________________________________
p4perl mailing list
p4perlperforce.com

http://maillist.perforce.com/mailman/listinfo/p4perl
Unable to install p4perl on linux amd64
user name
2006-10-17 12:41:36
On Tuesday 17 October 2006 13:12, Ankur Gupta wrote:

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

Excellent.

> o/p of make command.

<snip>

Looks good.

> 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.

AIX I know to be a problem. HP/UX and Solaris on AMD64
should be OK - I think. 

Tony
_______________________________________________
p4perl mailing list
p4perlperforce.com

http://maillist.perforce.com/mailman/listinfo/p4perl
[1-6]

about | contact  Other archives ( Real Estate discussion Medical topics )