pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/45500 benchmarks/libmicro doesn't compile on dfly64



The following reply was made to PR pkg/45500; it has been noted by GNATS.

From: Juan Francisco Cantero Hurtado <iam%juanfra.info@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: pkg/45500 benchmarks/libmicro doesn't compile on dfly64
Date: Tue, 1 Nov 2011 04:42:55 +0100

 On Mon, Oct 31, 2011 at 11:05:03PM +0000, John Marino wrote:
 > 
 >  Hi Juan,
 >  
 >  I know your patches didn't cause the following error, but 
 >  benchmarks/libmicro doesn't build on x86_64-dragonfly2.13.   Have you 
 >  only been building this on i386?
 >  
 >  The error I'm seeing is:
 >  gcc -c -O -DUSE_SEMOP -DUSE_SEMOP -D_REENTRANT -D_REENTRANT 
 >  ../getcontext.c -o getcontext.o
 >  gcc -o getcontext getcontext.o  -O -DUSE_SEMOP libmicro.a   -lpthread -lm
 >  getcontext.o: In function `benchmark':
 >  getcontext.c:(.text+0x23): undefined reference to `getcontext'
 >  getcontext.c:(.text+0x2d): undefined reference to `getcontext'
 >  getcontext.c:(.text+0x37): undefined reference to `getcontext'
 >  getcontext.c:(.text+0x41): undefined reference to `getcontext'
 >  getcontext.c:(.text+0x4b): undefined reference to `getcontext'
 >  getcontext.o:getcontext.c:(.text+0x55): more undefined references to 
 >  `getcontext' follow
 >  gmake[1]: *** [getcontext] Error 1
 >  rm close_tcp.o cascade_lockf.o cascade_fcntl.o cascade_cond.o 
 >  getcontext.o file_lock.o fcntl_ndelay.o exp.o fork.o close.o 
 >  cascade_flock.o fcntl.o dup.o bind.o connection.o chdir.o exec.o 
 >  cascade_mutex.o exit.o
 >  gmake[1]: Leaving directory 
 >  `/usr/obj/psworkzone/benchmarks/libmicro/work/libMicro-0.4.0/bin-x86_64'
 >  gmake: *** [default] Error 2
 >  *** Error code 2
 >  
 >  Stop.
 >  bmake: stopped in /usr/pkgsrc/benchmarks/libmicro
 >  *** Error code 1
 
 Yes, only in i386. My fault. Sorry.
 
 The libc in dfly/amd64 hasn't "getcontext", only
 lib/libc/i386/sys/getcontext.S. I think the team worked in the i386
 version of "getcontext" before of the creation of dfly/amd64 GSoC
 project, but they not ported all libc to amd64
 
 I've opened a bug in dfly bugtracker:
 http://bugs.dragonflybsd.org/issue2179
 
 References:
 - lib/libc/i386/sys/getcontext.S
 - Request for swapcontext and getcontext to be ported to our libc:
   http://leaf.dragonflybsd.org/mailarchive/users/2006-12/msg00153.html
 - Port DragonFly to the AMD64 architecture:
   http://www.dragonflybsd.org/docs/developer/AMD64GSoC/
 
 --
 
 Tomorrow I'll review the problem and I'll give you a solution. The
 problem is only with amd64, so I think the better is import run-libmicro
 in pkgsrc because this is broke for all OS and create two Makefiles for
 DragonFly. I think the fix in libc is hard, so I'll disable temporary
 the code affected.
 
 Thanks.
 
 
 -- 
 Juan Francisco Cantero Hurtado http://juanfra.info
 


Home | Main Index | Thread Index | Old Index