[M3devel] Trying to set up on AMD64_LINUX

Jay K jay.krell at cornell.edu
Thu Nov 3 03:16:18 CET 2011


Possible a gcc bug.

Possibly related to:
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20218


Possible fix is to stop using attribte(hidden) and such, but really, they are good things.


I can poke around later maybe.
I think AMD64_LINUX is a relatively popular platform here.

Try with a newer gcc/ld?


Try removing this:

#if __GNUC__ >= 4
#pragma GCC visibility push(hidden)
#endif


in ThreadPThreadC.c.

if that works, let's keep it, but move stuff around.
Like, maybe move 
void SignalHandler(int signo, siginfo_t *info, void *context);
above it, or put another decoration on that.

 - Jay

> To: m3devel at elegosoft.com
> Date: Wed, 2 Nov 2011 18:39:30 -0700
> From: mika at async.caltech.edu
> Subject: [M3devel] Trying to set up on AMD64_LINUX
> 
> Ran into an error I don't recognize, any ideas, anyone?
> 
> myriam5% cm3 -commands
> --- building in AMD64_LINUX ---
> 
> cd AMD64_LINUX
> ignoring ../src/m3overrides
> 
> rm .M3SHIP
> rm .M3OVERRIDES
> inhale libm3core.m3x
> 
> new source -> compiling ThreadPThreadC.c
> gcc -gstabs+ -m64 -fPIC -I../src/unix/Common -I../src -I../src/Csupport/Common -I../src/Csupport/little-endian -I../src/Csupport/libgcc -I../src/runtime/common -I../src/runtime/POSIX -I../src/runtime/ex_frame -I../src/thread/Common -I../src/thread/PTHREAD -I../src/C/Common -I../src/float/C99 -I../src/time/POSIX -c ../src/thread/PTHREAD/ThreadPThreadC.c
> 
> new "ThreadPThreadC.o" -> archiving libm3core.a
> rm libm3core.a
> fgrep m3gcdefs /ufs/arpa/mika/cm3/pkg/m3core/AMD64_LINUX/.M3EXPORTS 2>/dev/null >/dev/null
> rm libm3core.a
> rm libm3core.a.sa
> rm libm3core.so
> rm libm3core.so.5
> rm libm3core.exp
> ar crus libm3core.a hand.o dtoa.o libgcc.o RTHooks.io RTHooks.mo RT0.io RT0.mo RuntimeError.io RuntimeError.mo Compiler.io Compiler.mo RTAllocator.io RTAllocator.mo RTAllocCnts.io RTAllocStats.io RTAllocStats.mo RTHeap.io RTHeap.mo RTHeapInfo.io RTHeapInfo.mo RTHeapMap.io RTHeapMap.mo RTHeapRep.io RTHeapRep.mo RTHeapStats.io RTHeapStats.mo RTCollector.io RTCollector.mo RTCollectorSRC.io RTWeakRef.io RTIO.io RTIO.mo RTIOc.o RTLinkerX.io RTLinker.io RTLinker.mo RTLinkerC.o RTDebug.io RTDebug.mo RTDebugC.o RTError.io RTError.mo RTException.io RTException.mo RTMapOp.io RTMapOp.mo RTMisc.io RTMisc.mo RTMiscC.o RTModule.io RTPacking.io RTPacking.mo RTParams.io RTParams.mo RTProcedure.io RTProcedure.mo RTProcess.io RTProcess.mo RTProcessC.o RTThread.io RTTipe.io RTTipe.mo RTType.io RTType.mo RTTypeFP.io RTTypeFP.mo RTTypeMap.io RTTypeMap.mo RTutils.io RTutils.mo RTHeapDebug.io RTHeapDebug.mo RTArgs.io RTHeapEvent.io RTProcedureSRC.io RTSignal.io RTStack.io RTTypeSRC.io RTOS.io RTMac
>  hine.io RTArgs.mo RTOS.mo RTPerfTool.io RTPerfTool.mo RTOSbrk.o RTSignalPrivate.io RTSignalC.o RTSignalC.io RTSignal.mo RTExFrame.mo RTStackC.o Thread.io ThreadF.io Scheduler.io SchedulerPosix.io ThreadInternal.io ThreadInternal.o MutexRep.io ThreadEvent.io ThreadPThread.io ThreadPThread.mo ThreadPThreadC.o WinBaseTypes.io WinDef.io WinDef.mo WinNT.io WinNT.mo UtimeC.o UnixC.o UnixLink.o Uexec.io Uexec.o Unetdb.io Unetdb.o Umman.o Ugrp.io Ugrp.o Uin.o Uugid.o Uuio.o Uutmp.o Usignal.o Upwd.o Uprocess.o Usignal.io Uconstants.o Uutmp.io Umman.io UstatC.o Uuio.io Upwd.io Uugid.io Uprocess.io Unix.io Unix.mo Utime.io Utypes.io Uerror.io Usched.io Usocket.io Usocket.o Ustat.io Udir.io UdirC.o Uin.io Cerrno.io Cstddef.io Cstdint.io Cstdlib.io CstdlibC.o Ctypes.io M3toC.io M3toC.mo CerrnoC.o Cstring.io CstringC.o Cstdio.io CstdioC.o Csignal.io CsignalC.o Csetjmp.io BasicCtypes.io RealFloat.io LongFloat.io ExtendedFloat.io IEEESpecial.io IEEESpecial.mo Real.mo LongReal.mo Extended.mo
>   DragonInt.io DragonInt.mo DragonT.io DragonT.mo Real.io LongReal.io Extended.io RealFloat.mo LongFloat.mo ExtendedFloat.mo RealRep.io LongRealRep.io FPU.io FPU.mo FloatMode.io FloatMode.mo FloatModeC.io FloatModeC.o Time.io Tick.io Date.io FmtTime.io FmtTime.mo TickPortable.mo TimePosix.io TimePosix.mo DatePosix.io DatePosix.mo DatePosixC.o TimePosixC.o CConvert.io CConvert.mo Convert.io Convert.mo String8.io String8.mo String16.io String16.mo Text.io Text.mo TextClass.io TextClass.mo TextLiteral.io TextLiteral.mo Text8.io Text8.mo Text8Short.io Text8Short.mo Text8CString.io Text8CString.mo Text16.io Text16.mo Text16Short.io Text16Short.mo TextSub.io TextSub.mo TextCat.io TextCat.mo TextConv.io TextConv.mo Fingerprint.io Fingerprint.mo Poly.io Poly.mo PolyBasis.io PolyBasis.mo Main.io WeakRef.io WeakRef.mo WordRep.io Word.io LongRep.io Long.io Word.mo Long.mo Boolean.io Boolean.mo Char.io Char.mo Int32.io Int32.mo Int64.io Int64.mo Integer.io Integer.mo Longint.io Longint.m
>  o Refany.io Refany.mo ASCII.io ASCII.mo WideChar.io WideChar.mo Unicode.io Unicode.mo Address.io Address.mo
> gcc -gstabs+ -m64 -fPIC -Wl,-z,now -Wl,-z,origin -Bsymbolic -Wl,--fatal-warnings -Wl,-rpath,\$ORIGIN -Wl,-rpath,\$ORIGIN/../lib -Wl,--warn-common -Wl,-rpath,/ufs/arpa/mika/cm3/bin/../lib   -shared -Wl,-soname,libm3core.so.5 -o libm3core.so.5 hand.o dtoa.o libgcc.o RTHooks.io RTHooks.mo RT0.io RT0.mo RuntimeError.io RuntimeError.mo Compiler.io Compiler.mo RTAllocator.io RTAllocator.mo RTAllocCnts.io RTAllocStats.io RTAllocStats.mo RTHeap.io RTHeap.mo RTHeapInfo.io RTHeapInfo.mo RTHeapMap.io RTHeapMap.mo RTHeapRep.io RTHeapRep.mo RTHeapStats.io RTHeapStats.mo RTCollector.io RTCollector.mo RTCollectorSRC.io RTWeakRef.io RTIO.io RTIO.mo RTIOc.o RTLinkerX.io RTLinker.io RTLinker.mo RTLinkerC.o RTDebug.io RTDebug.mo RTDebugC.o RTError.io RTError.mo RTException.io RTException.mo RTMapOp.io RTMapOp.mo RTMisc.io RTMisc.mo RTMiscC.o RTModule.io RTPacking.io RTPacking.mo RTParams.io RTParams.mo RTProcedure.io RTProcedure.mo RTProcess.io RTProcess.mo RTProcessC.o RTThread.io RTTipe.io RT
>  Tipe.mo RTType.io RTType.mo RTTypeFP.io RTTypeFP.mo RTTypeMap.io RTTypeMap.mo RTutils.io RTutils.mo RTHeapDebug.io RTHeapDebug.mo RTArgs.io RTHeapEvent.io RTProcedureSRC.io RTSignal.io RTStack.io RTTypeSRC.io RTOS.io RTMachine.io RTArgs.mo RTOS.mo RTPerfTool.io RTPerfTool.mo RTOSbrk.o RTSignalPrivate.io RTSignalC.o RTSignalC.io RTSignal.mo RTExFrame.mo RTStackC.o Thread.io ThreadF.io Scheduler.io SchedulerPosix.io ThreadInternal.io ThreadInternal.o MutexRep.io ThreadEvent.io ThreadPThread.io ThreadPThread.mo ThreadPThreadC.o WinBaseTypes.io WinDef.io WinDef.mo WinNT.io WinNT.mo UtimeC.o UnixC.o UnixLink.o Uexec.io Uexec.o Unetdb.io Unetdb.o Umman.o Ugrp.io Ugrp.o Uin.o Uugid.o Uuio.o Uutmp.o Usignal.o Upwd.o Uprocess.o Usignal.io Uconstants.o Uutmp.io Umman.io UstatC.o Uuio.io Upwd.io Uugid.io Uprocess.io Unix.io Unix.mo Utime.io Utypes.io Uerror.io Usched.io Usocket.io Usocket.o Ustat.io Udir.io UdirC.o Uin.io Cerrno.io Cstddef.io Cstdint.io Cstdlib.io CstdlibC.o Ctypes.io 
>  M3toC.io M3toC.mo CerrnoC.o Cstring.io CstringC.o Cstdio.io CstdioC.o Csignal.io CsignalC.o Csetjmp.io BasicCtypes.io RealFloat.io LongFloat.io ExtendedFloat.io IEEESpecial.io IEEESpecial.mo Real.mo LongReal.mo Extended.mo DragonInt.io DragonInt.mo DragonT.io DragonT.mo Real.io LongReal.io Extended.io RealFloat.mo LongFloat.mo ExtendedFloat.mo RealRep.io LongRealRep.io FPU.io FPU.mo FloatMode.io FloatMode.mo FloatModeC.io FloatModeC.o Time.io Tick.io Date.io FmtTime.io FmtTime.mo TickPortable.mo TimePosix.io TimePosix.mo DatePosix.io DatePosix.mo DatePosixC.o TimePosixC.o CConvert.io CConvert.mo Convert.io Convert.mo String8.io String8.mo String16.io String16.mo Text.io Text.mo TextClass.io TextClass.mo TextLiteral.io TextLiteral.mo Text8.io Text8.mo Text8Short.io Text8Short.mo Text8CString.io Text8CString.mo Text16.io Text16.mo Text16Short.io Text16Short.mo TextSub.io TextSub.mo TextCat.io TextCat.mo TextConv.io TextConv.mo Fingerprint.io Fingerprint.mo Poly.io Poly.mo Poly
>  Basis.io PolyBasis.mo Main.io WeakRef.io WeakRef.mo WordRep.io Word.io LongRep.io Long.io Word.mo Long.mo Boolean.io Boolean.mo Char.io Char.mo Int32.io Int32.mo Int64.io Int64.mo Integer.io Integer.mo Longint.io Longint.mo Refany.io Refany.mo ASCII.io ASCII.mo WideChar.io WideChar.mo Unicode.io Unicode.mo Address.io Address.mo -lm -pthread
> /usr/bin/ld: ThreadPThreadC.o: relocation R_X86_64_PC32 against `ThreadPThread__SignalHandler' can not be used when making a shared object; recompile with -fPIC
> /usr/bin/ld: final link failed: Bad value
> collect2: ld returned 1 exit status
>   make_lib => 1
> librarian failed building: m3core
> Fatal Error: package build failed
> rm m3make.args
> cd ..
> 
> % uname -a
> Linux noname5 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:52:25 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
> 
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20111103/b51fc0bc/attachment-0002.html>


More information about the M3devel mailing list