C UDR - AIX
Posted in 2011
Cesar wanted a simple C UDR on Informix 11.50 / AIX 6.1 to return the current transaction id (for debugging batch jobs), but linking with gcc 4.2 failed at 'gcc -shared -Wl,-soname,... -o get_transid.so' with 'collect2: get_transid.so: cannot open as COFF file'. Suggestions were to build 64-bit (-m64, which gcc rejected; -maix64 produced a 64-bit XCOFF object but the link still failed), to drop the -Wl,-soname option, and to consider reading the transaction id from sysmaster instead. The thread ends with no confirmed fix.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Stored Procedures & SPL, Triggers, Constraints & Referential Integrity, Platform-Specific Issues
Hi ,
IFX 11.50 FC9X6 , AIX 6.1
I'm trying create a simple UDR to get the current 'transaction id' with
less overhead possible...
To use this UDR inside of SPL + Trigger...
I'm not expert on C language, where play with it sometimes...
So , I getting some trouble to compile the .c file, what I not sure if
is some problem with gcc for AIX or the command line used...
I'm stuck on error 'collect2: get_transid.so: cannot open as COFF file'
... and following the John Miller IIUG/2010 presentation 'The Basics of
Writing and Utilizing C-User Define Routines'...
If anyone have any tips how solve this, I appreciate a lot...
===========================================
$ cat get_transid.c
#include "incl/public/mi.h"
#include "incl/public/milib.h"
mi_integer get_transid(void){
mi_integer transid ;
transid = mi_get_transaction_id() ;
return transid ;
}
$ gcc -g -Wall -fPIC -I/vulca/informix -c get_transid.c
$ l get*
-rw-rw-r-- 1 informix informix 178 Dec 15 14:09 get_transid.c
-rw-rw-r-- 1 informix informix 30140 Dec 16 07:35 get_transid.o
$ gcc -shared -Wl,-soname,get_transid.so -o get_transid.so get_transid.ocollect2: get_transid.so: cannot open as COFF file
$ gcc --version
gcc (GCC) 4.2.0Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ ld --versionGNU find version 4.1
===========================================
I'm already try some differ approach on "-g" parameter (-gxcoff ,
gxcoff+) without success.
Anyone?
Regards
Cesar
I believe you need to specify the format (64bits COFF) on the compilation
line. I had to do more or less what you're trying to do recently but I
think I made it on a trial/error basis... I'd need to check some notes....
I'll reply again if I'm able to find it...
Regards.
P.S.: Getting the tx id?! Why?
On Fri, Dec 16, 2011 at 10:42 AM, Cesar Inacio Martins <
cesar_inacio_martins@yahoo.com.br> wrote:
> Hi ,
>
> IFX 11.50 FC9X6 , AIX 6.1
>
> I'm trying create a simple UDR to get the current 'transaction id' with
> less overhead possible...
> To use this UDR inside of SPL + Trigger...
>
> I'm not expert on C language, where play with it sometimes...
> So , I getting some trouble to compile the .c file, what I not sure if
> is some problem with gcc for AIX or the command line used...
> I'm stuck on error 'collect2: get_transid.so: cannot open as COFF file'
>
> .... and following the John Miller IIUG/2010 presentation 'The Basics of
> Writing and Utilizing C-User Define Routines'...
>
> If anyone have any tips how solve this, I appreciate a lot...
>
> ===========================================
> $ cat get_transid.c
> #include "incl/public/mi.h"
> #include "incl/public/milib.h">
> mi_integer get_transid(void){
>
> mi_integer transid ;
>
> transid = mi_get_transaction_id() ;
>
> return transid ;
> }
>
> $ gcc -g -Wall -fPIC -I/vulca/informix -c get_transid.c
> $ l get*
> -rw-rw-r-- 1 informix informix 178 Dec 15 14:09 get_transid.c
> -rw-rw-r-- 1 informix informix 30140 Dec 16 07:35 get_transid.o>
> $ gcc -shared -Wl,-soname,get_transid.so -o get_transid.so get_transid.o> collect2: get_transid.so: cannot open as COFF file
>
> $ gcc --version
> gcc (GCC) 4.2.0> Copyright (C) 2007 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> $ ld --version> GNU find version 4.1
>
> ===========================================
>
> I'm already try some differ approach on "-g" parameter (-gxcoff ,
> gxcoff+) without success.
>
> Anyone?
> Regards
> Cesar
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--
Fernando Nunes
Portugal
http://informix-technology.blogspot.com
My email works... but I don't check it frequently...
--20cf306f7710462d3704b433d817
IB the compile line is missing the "-m64" option.
Art
Art S. Kagel
Advanced DataTools (www.advancedatatools.com)
Blog: http://informix-myview.blogspot.com/
Disclaimer: Please keep in mind that my own opinions are my own opinions
and do not reflect on my employer, Advanced DataTools, the IIUG, nor any
other organization with which I am associated either explicitly,
implicitly, or by inference. Neither do those opinions reflect those of
other individuals affiliated with any entity with which I am affiliated nor
those of the entities themselves.
On Fri, Dec 16, 2011 at 6:24 AM, Fernando Nunes <domusonline@gmail.com>wrote:
> I believe you need to specify the format (64bits COFF) on the compilation
> line. I had to do more or less what you're trying to do recently but I
> think I made it on a trial/error basis... I'd need to check some notes....
> I'll reply again if I'm able to find it...
>
> Regards.
>
> P.S.: Getting the tx id?! Why?
>
> On Fri, Dec 16, 2011 at 10:42 AM, Cesar Inacio Martins <
> cesar_inacio_martins@yahoo.com.br> wrote:
>
> > Hi ,
> >
> > IFX 11.50 FC9X6 , AIX 6.1
> >
> > I'm trying create a simple UDR to get the current 'transaction id' with
> > less overhead possible...
> > To use this UDR inside of SPL + Trigger...
> >
> > I'm not expert on C language, where play with it sometimes...
> > So , I getting some trouble to compile the .c file, what I not sure if
> > is some problem with gcc for AIX or the command line used...
> > I'm stuck on error 'collect2: get_transid.so: cannot open as COFF file'
> >
> > .... and following the John Miller IIUG/2010 presentation 'The Basics of
> > Writing and Utilizing C-User Define Routines'...
> >
> > If anyone have any tips how solve this, I appreciate a lot...
> >
> > ===========================================
> > $ cat get_transid.c
> > #include "incl/public/mi.h"
> > #include "incl/public/milib.h"> >
> > mi_integer get_transid(void){
> >
> > mi_integer transid ;
> >
> > transid = mi_get_transaction_id() ;
> >
> > return transid ;
> > }
> >
> > $ gcc -g -Wall -fPIC -I/vulca/informix -c get_transid.c
> > $ l get*
> > -rw-rw-r-- 1 informix informix 178 Dec 15 14:09 get_transid.c
> > -rw-rw-r-- 1 informix informix 30140 Dec 16 07:35 get_transid.o> >
> > $ gcc -shared -Wl,-soname,get_transid.so -o get_transid.so get_transid.o> > collect2: get_transid.so: cannot open as COFF file
> >
> > $ gcc --version
> > gcc (GCC) 4.2.0> > Copyright (C) 2007 Free Software Foundation, Inc.
> > This is free software; see the source for copying conditions. There is NO
> > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
> PURPOSE.
> >
> > $ ld --version> > GNU find version 4.1
> >
> > ===========================================
> >
> > I'm already try some differ approach on "-g" parameter (-gxcoff ,
> > gxcoff+) without success.
> >
> > Anyone?
> > Regards
> > Cesar
> >
> >
> >
> >
>
>
*******************************************************************************
> > Forum Note: Use "Reply" to post a response in the discussion forum.
> >
> >
>
> --
> Fernando Nunes
> Portugal
>
> http://informix-technology.blogspot.com
> My email works... but I don't check it frequently...
>
> --20cf306f7710462d3704b433d817
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--f46d0447a25f9884f404b433e081
Thanks Fernando, I will try some options here too.
The reason to get the transaction id , is only for debugging propose.
Try understand what wrong is happen into some batch process, for that we
need separate the information by the transactions occurred (the process
execute a lot of small transactions).
On 16/12/2011 09:24, Fernando Nunes wrote:
> I believe you need to specify the format (64bits COFF) on the compilation
> line. I had to do more or less what you're trying to do recently but I
> think I made it on a trial/error basis... I'd need to check some notes....
> I'll reply again if I'm able to find it...
>
> Regards.
>
> P.S.: Getting the tx id?! Why?
>
> On Fri, Dec 16, 2011 at 10:42 AM, Cesar Inacio Martins<
> cesar_inacio_martins@yahoo.com.br> wrote:
>
>> Hi ,
>>
>> IFX 11.50 FC9X6 , AIX 6.1
>>
>> I'm trying create a simple UDR to get the current 'transaction id' with
>> less overhead possible...
>> To use this UDR inside of SPL + Trigger...
>>
>> I'm not expert on C language, where play with it sometimes...
>> So , I getting some trouble to compile the .c file, what I not sure if
>> is some problem with gcc for AIX or the command line used...
>> I'm stuck on error 'collect2: get_transid.so: cannot open as COFF file'
>>
>> .... and following the John Miller IIUG/2010 presentation 'The Basics of
>> Writing and Utilizing C-User Define Routines'...
>>
>> If anyone have any tips how solve this, I appreciate a lot...
>>
>> ===========================================
>> $ cat get_transid.c
>> #include "incl/public/mi.h"
>> #include "incl/public/milib.h">>
>> mi_integer get_transid(void){
>>
>> mi_integer transid ;
>>
>> transid = mi_get_transaction_id() ;
>>
>> return transid ;
>> }
>>
>> $ gcc -g -Wall -fPIC -I/vulca/informix -c get_transid.c
>> $ l get*
>> -rw-rw-r-- 1 informix informix 178 Dec 15 14:09 get_transid.c
>> -rw-rw-r-- 1 informix informix 30140 Dec 16 07:35 get_transid.o>>
>> $ gcc -shared -Wl,-soname,get_transid.so -o get_transid.so get_transid.o>> collect2: get_transid.so: cannot open as COFF file
>>
>> $ gcc --version
>> gcc (GCC) 4.2.0>> Copyright (C) 2007 Free Software Foundation, Inc.
>> This is free software; see the source for copying conditions. There is NO
>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>>
>> $ ld --version>> GNU find version 4.1
>>
>> ===========================================
>>
>> I'm already try some differ approach on "-g" parameter (-gxcoff ,
>> gxcoff+) without success.
>>
>> Anyone?
>> Regards
>> Cesar
>>
>>
>>
>>
>
*******************************************************************************
>> Forum Note: Use "Reply" to post a response in the discussion forum.
>>
>>
You should be able to get it from sysmaster... not sure what will have
better performance...
Look at Art's suggestion... I believe it's something like that...
Regards
On Fri, Dec 16, 2011 at 11:41 AM, Cesar Inacio Martins <
cesar_inacio_martins@yahoo.com.br> wrote:
> Thanks Fernando, I will try some options here too.
>
> The reason to get the transaction id , is only for debugging propose.
> Try understand what wrong is happen into some batch process, for that we
> need separate the information by the transactions occurred (the process
> execute a lot of small transactions).
>
> On 16/12/2011 09:24, Fernando Nunes wrote:
> > I believe you need to specify the format (64bits COFF) on the compilation
> > line. I had to do more or less what you're trying to do recently but I
> > think I made it on a trial/error basis... I'd need to check some
> notes....
> > I'll reply again if I'm able to find it...
> >
> > Regards.
> >
> > P.S.: Getting the tx id?! Why?
> >
> > On Fri, Dec 16, 2011 at 10:42 AM, Cesar Inacio Martins<
> > cesar_inacio_martins@yahoo.com.br> wrote:
> >
> >> Hi ,
> >>
> >> IFX 11.50 FC9X6 , AIX 6.1
> >>
> >> I'm trying create a simple UDR to get the current 'transaction id' with
> >> less overhead possible...
> >> To use this UDR inside of SPL + Trigger...
> >>
> >> I'm not expert on C language, where play with it sometimes...
> >> So , I getting some trouble to compile the .c file, what I not sure if
> >> is some problem with gcc for AIX or the command line used...
> >> I'm stuck on error 'collect2: get_transid.so: cannot open as COFF file'
> >>
> >> .... and following the John Miller IIUG/2010 presentation 'The Basics of
> >> Writing and Utilizing C-User Define Routines'...
> >>
> >> If anyone have any tips how solve this, I appreciate a lot...
> >>
> >> ===========================================
> >> $ cat get_transid.c
> >> #include "incl/public/mi.h"
> >> #include "incl/public/milib.h"> >>
> >> mi_integer get_transid(void){
> >>
> >> mi_integer transid ;
> >>
> >> transid = mi_get_transaction_id() ;
> >>
> >> return transid ;
> >> }
> >>
> >> $ gcc -g -Wall -fPIC -I/vulca/informix -c get_transid.c
> >> $ l get*
> >> -rw-rw-r-- 1 informix informix 178 Dec 15 14:09 get_transid.c
> >> -rw-rw-r-- 1 informix informix 30140 Dec 16 07:35 get_transid.o> >>
> >> $ gcc -shared -Wl,-soname,get_transid.so -o get_transid.so get_transid.o> >> collect2: get_transid.so: cannot open as COFF file
> >>
> >> $ gcc --version
> >> gcc (GCC) 4.2.0> >> Copyright (C) 2007 Free Software Foundation, Inc.
> >> This is free software; see the source for copying conditions. There is
> NO
> >> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
> PURPOSE.
> >>
> >> $ ld --version> >> GNU find version 4.1
> >>
> >> ===========================================
> >>
> >> I'm already try some differ approach on "-g" parameter (-gxcoff ,
> >> gxcoff+) without success.
> >>
> >> Anyone?
> >> Regards
> >> Cesar
> >>
> >>
> >>
> >>
> >
>
>
*******************************************************************************
> >> Forum Note: Use "Reply" to post a response in the discussion forum.
> >>
> >>
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--
Fernando Nunes
Portugal
http://informix-technology.blogspot.com
My email works... but I don't check it frequently...
--20cf3074b1b41b8dc804b43426bb
Hi Art,
I tried it on both commands (the executable and the lib..) and not work ...
$ gcc -m64 -shared -Wl,-soname,get_transid.so -o get_transid.so
get_transid.ocollect2: get_transid.so: cannot open as COFF file
Other try...
$ gcc -m64 -g -Wall -fPIC -I/vulca/informix -c get_transid.ccc1: error: unrecognized command line option "-m64"
I already try with -maix64 ... without success..
On 16/12/2011 09:26, Art Kagel wrote:
> IB the compile line is missing the "-m64" option.
>
> Art
>
> Art S. Kagel
> Advanced DataTools (www.advancedatatools.com)
> Blog: http://informix-myview.blogspot.com/
>
> Disclaimer: Please keep in mind that my own opinions are my own opinions
> and do not reflect on my employer, Advanced DataTools, the IIUG, nor any
> other organization with which I am associated either explicitly,
> implicitly, or by inference. Neither do those opinions reflect those of
> other individuals affiliated with any entity with which I am affiliated nor
> those of the entities themselves.
>
> On Fri, Dec 16, 2011 at 6:24 AM, Fernando Nunes<domusonline@gmail.com>wrote:
>
>> I believe you need to specify the format (64bits COFF) on the compilation
>> line. I had to do more or less what you're trying to do recently but I
>> think I made it on a trial/error basis... I'd need to check some notes....
>> I'll reply again if I'm able to find it...
>>
>> Regards.
>>
>> P.S.: Getting the tx id?! Why?
>>
>> On Fri, Dec 16, 2011 at 10:42 AM, Cesar Inacio Martins<
>> cesar_inacio_martins@yahoo.com.br> wrote:
>>
>>> Hi ,
>>>
>>> IFX 11.50 FC9X6 , AIX 6.1
>>>
>>> I'm trying create a simple UDR to get the current 'transaction id' with
>>> less overhead possible...
>>> To use this UDR inside of SPL + Trigger...
>>>
>>> I'm not expert on C language, where play with it sometimes...
>>> So , I getting some trouble to compile the .c file, what I not sure if
>>> is some problem with gcc for AIX or the command line used...
>>> I'm stuck on error 'collect2: get_transid.so: cannot open as COFF file'
>>>
>>> .... and following the John Miller IIUG/2010 presentation 'The Basics of
>>> Writing and Utilizing C-User Define Routines'...
>>>
>>> If anyone have any tips how solve this, I appreciate a lot...
>>>
>>> ===========================================
>>> $ cat get_transid.c
>>> #include "incl/public/mi.h"
>>> #include "incl/public/milib.h">>>
>>> mi_integer get_transid(void){
>>>
>>> mi_integer transid ;
>>>
>>> transid = mi_get_transaction_id() ;
>>>
>>> return transid ;
>>> }
>>>
>>> $ gcc -g -Wall -fPIC -I/vulca/informix -c get_transid.c
>>> $ l get*
>>> -rw-rw-r-- 1 informix informix 178 Dec 15 14:09 get_transid.c
>>> -rw-rw-r-- 1 informix informix 30140 Dec 16 07:35 get_transid.o>>>
>>> $ gcc -shared -Wl,-soname,get_transid.so -o get_transid.so get_transid.o>>> collect2: get_transid.so: cannot open as COFF file
>>>
>>> $ gcc --version
>>> gcc (GCC) 4.2.0>>> Copyright (C) 2007 Free Software Foundation, Inc.
>>> This is free software; see the source for copying conditions. There is NO
>>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
>> PURPOSE.
>>> $ ld --version>>> GNU find version 4.1
>>>
>>> ===========================================
>>>
>>> I'm already try some differ approach on "-g" parameter (-gxcoff ,
>>> gxcoff+) without success.
>>>
>>> Anyone?
>>> Regards
>>> Cesar
>>>
>>>
>>>
>>>
>>
>
*******************************************************************************
>>> Forum Note: Use "Reply" to post a response in the discussion forum.
>>>
>>>
>> --
>> Fernando Nunes
>> Portugal
>>
>> http://informix-technology.blogspot.com
>> My email works... but I don't check it frequently...
>>
>> --20cf306f7710462d3704b433d817
>>
>>
>>
>>
>
*******************************************************************************
>> Forum Note: Use "Reply" to post a response in the discussion forum.
>>
>>
> --f46d0447a25f9884f404b433e081
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
Complementing...
Show as 32-bit XCOFF
=========================================
$ gcc -Wall -fPIC -I/vulca/informix -c get_transid.c
$ dump -ov get_transid.o
get_transid.o:
***Object Module Header***
# Sections Symbol Ptr # Symbols Opt Hdr Len Flags
2 0x0000019e 22 0 0x0000
Flags=( DEP_SYSTEM )
Timestamp = "Dec 16 08:58:00 2011"
Magic = 0x1df (32-bit XCOFF)
=========================================
Now is 64-bit XCOFF .... still no working...
=========================================
$ gcc -maix64 -Wall -fPIC -I/vulca/informix -c get_transid.c
$ dump -ov get_transid.o
get_transid.o:dump: get_transid.o: 0654-108 file is not valid in the current object
file mode.
Use the -X option to specify the desired object mode.
$ dump -ovX64 get_transid.o
get_transid.o:
***Object Module Header***
# Sections Symbol Ptr # Symbols Opt Hdr Len Flags
2 0x00000168 16 0 0x0000
Flags=( DEP_SYSTEM )
Timestamp = "Dec 16 08:58:42 2011"
Magic = 0x1f7 (64-bit XCOFF)
$ gcc -maix64 -shared -Wl,-soname,get_transid.so -o get_transid.so
get_transid.ocollect2: get_transid.so: cannot open as COFF file
$ gcc -shared -Wl,-soname,get_transid.so -o get_transid.so get_transid.ocollect2: get_transid.so: cannot open as COFF file
=========================================
On 16/12/2011 09:47, Cesar Inacio Martins wrote:
> Hi Art,
>
> I tried it on both commands (the executable and the lib..) and not
> work ...
>
> $ gcc -m64 -shared -Wl,-soname,get_transid.so -o get_transid.so
> get_transid.o> collect2: get_transid.so: cannot open as COFF file
>
>
> Other try...
>
> $ gcc -m64 -g -Wall -fPIC -I/vulca/informix -c get_transid.c> cc1: error: unrecognized command line option "-m64"
>
>
> I already try with -maix64 ... without success..
>
>
>
> On 16/12/2011 09:26, Art Kagel wrote:
>> IB the compile line is missing the "-m64" option.
>>
>> Art
>>
>> Art S. Kagel
>> Advanced DataTools (www.advancedatatools.com)
>> Blog:http://informix-myview.blogspot.com/
>>
>> Disclaimer: Please keep in mind that my own opinions are my own opinions
>> and do not reflect on my employer, Advanced DataTools, the IIUG, nor any
>> other organization with which I am associated either explicitly,
>> implicitly, or by inference. Neither do those opinions reflect those of
>> other individuals affiliated with any entity with which I am affiliated nor
>> those of the entities themselves.
>>
>> On Fri, Dec 16, 2011 at 6:24 AM, Fernando Nunes<domusonline@gmail.com>wrote:
>>
>>> I believe you need to specify the format (64bits COFF) on the compilation
>>> line. I had to do more or less what you're trying to do recently but I
>>> think I made it on a trial/error basis... I'd need to check some notes....
>>> I'll reply again if I'm able to find it...
>>>
>>> Regards.
>>>
>>> P.S.: Getting the tx id?! Why?
>>>
>>> On Fri, Dec 16, 2011 at 10:42 AM, Cesar Inacio Martins<
>>> cesar_inacio_martins@yahoo.com.br> wrote:
>>>
>>>> Hi ,
>>>>
>>>> IFX 11.50 FC9X6 , AIX 6.1
>>>>
>>>> I'm trying create a simple UDR to get the current 'transaction id' with
>>>> less overhead possible...
>>>> To use this UDR inside of SPL + Trigger...
>>>>
>>>> I'm not expert on C language, where play with it sometimes...
>>>> So , I getting some trouble to compile the .c file, what I not sure if
>>>> is some problem with gcc for AIX or the command line used...
>>>> I'm stuck on error 'collect2: get_transid.so: cannot open as COFF file'
>>>>
>>>> .... and following the John Miller IIUG/2010 presentation 'The Basics of
>>>> Writing and Utilizing C-User Define Routines'...
>>>>
>>>> If anyone have any tips how solve this, I appreciate a lot...
>>>>
>>>> ===========================================
>>>> $ cat get_transid.c
>>>> #include "incl/public/mi.h"
>>>> #include "incl/public/milib.h">>>>
>>>> mi_integer get_transid(void){
>>>>
>>>> mi_integer transid ;
>>>>
>>>> transid = mi_get_transaction_id() ;
>>>>
>>>> return transid ;
>>>> }
>>>>
>>>> $ gcc -g -Wall -fPIC -I/vulca/informix -c get_transid.c
>>>> $ l get*
>>>> -rw-rw-r-- 1 informix informix 178 Dec 15 14:09 get_transid.c
>>>> -rw-rw-r-- 1 informix informix 30140 Dec 16 07:35 get_transid.o>>>>
>>>> $ gcc -shared -Wl,-soname,get_transid.so -o get_transid.so get_transid.o>>>> collect2: get_transid.so: cannot open as COFF file
>>>>
>>>> $ gcc --version
>>>> gcc (GCC) 4.2.0>>>> Copyright (C) 2007 Free Software Foundation, Inc.
>>>> This is free software; see the source for copying conditions. There is NO
>>>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
>>> PURPOSE.
>>>> $ ld --version>>>> GNU find version 4.1
>>>>
>>>> ===========================================
>>>>
>>>> I'm already try some differ approach on "-g" parameter (-gxcoff ,
>>>> gxcoff+) without success.
>>>>
>>>> Anyone?
>>>> Regards
>>>> Cesar
>>>>
>>>>
>>>>
>>>>
>>
*******************************************************************************
>>>> Forum Note: Use "Reply" to post a response in the discussion forum.
>>>>
>>>>
>>> --
>>> Fernando Nunes
>>> Portugal
>>>
>>> http://informix-technology.blogspot.com
>>> My email works... but I don't check it frequently...
>>>
>>> --20cf306f7710462d3704b433d817
>>>
>>>
>>>
>>>
>>
*******************************************************************************
>>> Forum Note: Use "Reply" to post a response in the discussion forum.
>>>
>>>
>> --f46d0447a25f9884f404b433e081
>>
>>
>>
*******************************************************************************
>> Forum Note: Use "Reply" to post a response in the discussion forum.
>>
Try the link step without the "-Wl,-soname,get_transid.so" option. Just a
hunch.
Art
Art S. Kagel
Advanced DataTools (www.advancedatatools.com)
Blog: http://informix-myview.blogspot.com/
Disclaimer: Please keep in mind that my own opinions are my own opinions
and do not reflect on my employer, Advanced DataTools, the IIUG, nor any
other organization with which I am associated either explicitly,
implicitly, or by inference. Neither do those opinions reflect those of
other individuals affiliated with any entity with which I am affiliated nor
those of the entities themselves.
On Fri, Dec 16, 2011 at 7:03 AM, Cesar Inacio Martins <
cesar_inacio_martins@yahoo.com.br> wrote:
> Complementing...
>
> Show as 32-bit XCOFF
> =========================================
> $ gcc -Wall -fPIC -I/vulca/informix -c get_transid.c
> $ dump -ov get_transid.o>
> get_transid.o:
>
> ***Object Module Header***
> # Sections Symbol Ptr # Symbols Opt Hdr Len Flags
>
> 2 0x0000019e 22 0 0x0000
> Flags=( DEP_SYSTEM )
> Timestamp = "Dec 16 08:58:00 2011"
> Magic = 0x1df (32-bit XCOFF)
>
> =========================================
>
> Now is 64-bit XCOFF .... still no working...
>
> =========================================
> $ gcc -maix64 -Wall -fPIC -I/vulca/informix -c get_transid.c
> $ dump -ov get_transid.o
> get_transid.o:> dump: get_transid.o: 0654-108 file is not valid in the current object
> file mode.
>
> Use the -X option to specify the desired object mode.
> $ dump -ovX64 get_transid.o>
> get_transid.o:
>
> ***Object Module Header***
> # Sections Symbol Ptr # Symbols Opt Hdr Len Flags
>
> 2 0x00000168 16 0 0x0000
> Flags=( DEP_SYSTEM )
> Timestamp = "Dec 16 08:58:42 2011"
> Magic = 0x1f7 (64-bit XCOFF)
>
> $ gcc -maix64 -shared -Wl,-soname,get_transid.so -o get_transid.so
> get_transid.o> collect2: get_transid.so: cannot open as COFF file
> $ gcc -shared -Wl,-soname,get_transid.so -o get_transid.so get_transid.o> collect2: get_transid.so: cannot open as COFF file
> =========================================
>
> On 16/12/2011 09:47, Cesar Inacio Martins wrote:
> > Hi Art,
> >
> > I tried it on both commands (the executable and the lib..) and not
> > work ...
> >
> > $ gcc -m64 -shared -Wl,-soname,get_transid.so -o get_transid.so
> > get_transid.o> > collect2: get_transid.so: cannot open as COFF file
> >
> >
> > Other try...
> >
> > $ gcc -m64 -g -Wall -fPIC -I/vulca/informix -c get_transid.c> > cc1: error: unrecognized command line option "-m64"
> >
> >
> > I already try with -maix64 ... without success..
> >
> >
> >
> > On 16/12/2011 09:26, Art Kagel wrote:
> >> IB the compile line is missing the "-m64" option.
> >>
> >> Art
> >>
> >> Art S. Kagel
> >> Advanced DataTools (www.advancedatatools.com)
> >> Blog:http://informix-myview.blogspot.com/
> >>
> >> Disclaimer: Please keep in mind that my own opinions are my own opinions
> >> and do not reflect on my employer, Advanced DataTools, the IIUG, nor any
> >> other organization with which I am associated either explicitly,
> >> implicitly, or by inference. Neither do those opinions reflect those of
> >> other individuals affiliated with any entity with which I am affiliated
> nor
> >> those of the entities themselves.
> >>
> >> On Fri, Dec 16, 2011 at 6:24 AM, Fernando
> Nunes<domusonline@gmail.com>wrote:
> >>
> >>> I believe you need to specify the format (64bits COFF) on the
> compilation
> >>> line. I had to do more or less what you're trying to do recently but I
> >>> think I made it on a trial/error basis... I'd need to check some
> notes....
> >>> I'll reply again if I'm able to find it...
> >>>
> >>> Regards.
> >>>
> >>> P.S.: Getting the tx id?! Why?
> >>>
> >>> On Fri, Dec 16, 2011 at 10:42 AM, Cesar Inacio Martins<
> >>> cesar_inacio_martins@yahoo.com.br> wrote:
> >>>
> >>>> Hi ,
> >>>>
> >>>> IFX 11.50 FC9X6 , AIX 6.1
> >>>>
> >>>> I'm trying create a simple UDR to get the current 'transaction id'
> with
> >>>> less overhead possible...
> >>>> To use this UDR inside of SPL + Trigger...
> >>>>
> >>>> I'm not expert on C language, where play with it sometimes...
> >>>> So , I getting some trouble to compile the .c file, what I not sure if
> >>>> is some problem with gcc for AIX or the command line used...
> >>>> I'm stuck on error 'collect2: get_transid.so: cannot open as COFF
> file'
> >>>>
> >>>> .... and following the John Miller IIUG/2010 presentation 'The Basics
> of
> >>>> Writing and Utilizing C-User Define Routines'...
> >>>>
> >>>> If anyone have any tips how solve this, I appreciate a lot...
> >>>>
> >>>> ===========================================
> >>>> $ cat get_transid.c
> >>>> #include "incl/public/mi.h"
> >>>> #include "incl/public/milib.h"> >>>>
> >>>> mi_integer get_transid(void){
> >>>>
> >>>> mi_integer transid ;
> >>>>
> >>>> transid = mi_get_transaction_id() ;
> >>>>
> >>>> return transid ;
> >>>> }
> >>>>
> >>>> $ gcc -g -Wall -fPIC -I/vulca/informix -c get_transid.c
> >>>> $ l get*
> >>>> -rw-rw-r-- 1 informix informix 178 Dec 15 14:09 get_transid.c
> >>>> -rw-rw-r-- 1 informix informix 30140 Dec 16 07:35 get_transid.o> >>>>
> >>>> $ gcc -shared -Wl,-soname,get_transid.so -o get_transid.so
> get_transid.o> >>>> collect2: get_transid.so: cannot open as COFF file
> >>>>
> >>>> $ gcc --version
> >>>> gcc (GCC) 4.2.0> >>>> Copyright (C) 2007 Free Software Foundation, Inc.
> >>>> This is free software; see the source for copying conditions. There
> is NO
> >>>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
> >>> PURPOSE.
> >>>> $ ld --version> >>>> GNU find version 4.1
> >>>>
> >>>> ===========================================
> >>>>
> >>>> I'm already try some differ approach on "-g" parameter (-gxcoff ,
> >>>> gxcoff+) without success.
> >>>>
> >>>> Anyone?
> >>>> Regards
> >>>> Cesar
> >>>>
> >>>>
> >>>>
> >>>>
> >>
>
>
*******************************************************************************
> >>>> Forum Note: Use "Reply" to post a response in the discussion forum.
> >>>>
> >>>>
> >>> --
> >>> Fernando Nunes
> >>> Portugal
> >>>
> >>> http://informix-technology.blogspot.com
> >>> My email works... but I don't check it frequently...
> >>>
> >>> --20cf306f7710462d3704b433d817
> >>>
> >>>
> >>>
> >>>
> >>
>
>
*******************************************************************************
> >>> Forum Note: Use "Reply" to post a response in the discussion forum.
> >>>
> >>>
> >> --f46d0447a25f9884f404b433e081
> >>
> >>
> >>
>
>
*******************************************************************************
> >> Forum Note: Use "Reply" to post a response in the discussion forum.
> >>
>
>
>
>
**********************************************
nope...
(I include verbose mode this time...)
*$ gcc -v -shared -o get_transid.so get_transid.o -lc*
Using built-in specs.
Target: powerpc-ibm-aix6.1.0.0
Configured with: ../configure --with-as=/usr/bin/as
--with-ld=/usr/bin/ld --enable-languages=c,c++,java
--prefix=/opt/freeware --enable-threads
--enable-version-specific-runtime-libs --host=powerpc-ibm-aix6.1.0.0
--target=powerpc-ibm-aix6.1.0.0 --build=powerpc-ibm-aix6.1.0.0
--disable-libjava-multilib
Thread model: aix
gcc version 4.2.0
/opt/freeware/libexec/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/collect2
-bpT:0x10000000 -bpD:0x20000000 -btextro -bnodelcsect -bM:SRE -bnoentry
-o get_transid.so -L/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0
-L/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/../../..
get_transid.o -lc -lgcc_s -lc -lgcc_s
ld: 0711-736 ERROR: Input file get_transid.o:
XCOFF64 object files are not allowed in 32-bit mode.
collect2: ld returned 8 exit status
*$ OBJECT_MODE=64 gcc -v -shared -o get_transid.so get_transid.o -lc*
Using built-in specs.
Target: powerpc-ibm-aix6.1.0.0
Configured with: ../configure --with-as=/usr/bin/as
--with-ld=/usr/bin/ld --enable-languages=c,c++,java
--prefix=/opt/freeware --enable-threads
--enable-version-specific-runtime-libs --host=powerpc-ibm-aix6.1.0.0
--target=powerpc-ibm-aix6.1.0.0 --build=powerpc-ibm-aix6.1.0.0
--disable-libjava-multilib
Thread model: aix
gcc version 4.2.0
/opt/freeware/libexec/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/collect2
-bpT:0x10000000 -bpD:0x20000000 -btextro -bnodelcsect -bM:SRE -bnoentry
-o get_transid.so -L/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0
-L/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/../../..
get_transid.o -lc -lgcc_s -lc -lgcc_s
Assembler:
/tmp//cc4bu01p.s: line 14: 1252-191 Only .llong should be used for
relocatable expressions.
/tmp//cc4bu01p.s: line 41: 1252-191 Only .llong should be used for
relocatable expressions.
/tmp//cc4bu01p.s: line 63: 1252-191 Only .llong should be used for
relocatable expressions.
/tmp//cc4bu01p.s: line 90: 1252-191 Only .llong should be used for
relocatable expressions.
collect2: gcc returned 1 exit status
On 16/12/2011 12:19, Art Kagel wrote:
> Try the link step without the "-Wl,-soname,get_transid.so" option. Just a
> hunch.
>
> Art
>
> Art S. Kagel
> Advanced DataTools (www.advancedatatools.com)
> Blog: http://informix-myview.blogspot.com/
>
> Disclaimer: Please keep in mind that my own opinions are my own opinions
> and do not reflect on my employer, Advanced DataTools, the IIUG, nor any
> other organization with which I am associated either explicitly,
> implicitly, or by inference. Neither do those opinions reflect those of
> other individuals affiliated with any entity with which I am affiliated nor
> those of the entities themselves.
>
> On Fri, Dec 16, 2011 at 7:03 AM, Cesar Inacio Martins<
> cesar_inacio_martins@yahoo.com.br> wrote:
>
>> Complementing...
>>
>> Show as 32-bit XCOFF
>> =========================================
>> $ gcc -Wall -fPIC -I/vulca/informix -c get_transid.c
>> $ dump -ov get_transid.o>>
>> get_transid.o:
>>
>> ***Object Module Header***
>> # Sections Symbol Ptr # Symbols Opt Hdr Len Flags
>>
>> 2 0x0000019e 22 0 0x0000
>> Flags=( DEP_SYSTEM )
>> Timestamp = "Dec 16 08:58:00 2011"
>> Magic = 0x1df (32-bit XCOFF)
>>
>> =========================================
>>
>> Now is 64-bit XCOFF .... still no working...
>>
>> =========================================
>> $ gcc -maix64 -Wall -fPIC -I/vulca/informix -c get_transid.c
>> $ dump -ov get_transid.o
>> get_transid.o:>> dump: get_transid.o: 0654-108 file is not valid in the current object
>> file mode.
>>
>> Use the -X option to specify the desired object mode.
>> $ dump -ovX64 get_transid.o>>
>> get_transid.o:
>>
>> ***Object Module Header***
>> # Sections Symbol Ptr # Symbols Opt Hdr Len Flags
>>
>> 2 0x00000168 16 0 0x0000
>> Flags=( DEP_SYSTEM )
>> Timestamp = "Dec 16 08:58:42 2011"
>> Magic = 0x1f7 (64-bit XCOFF)
>>
>> $ gcc -maix64 -shared -Wl,-soname,get_transid.so -o get_transid.so
>> get_transid.o>> collect2: get_transid.so: cannot open as COFF file
>> $ gcc -shared -Wl,-soname,get_transid.so -o get_transid.so get_transid.o>> collect2: get_transid.so: cannot open as COFF file
>> =========================================
>>
>> On 16/12/2011 09:47, Cesar Inacio Martins wrote:
>>> Hi Art,
>>>
>>> I tried it on both commands (the executable and the lib..) and not
>>> work ...
>>>
>>> $ gcc -m64 -shared -Wl,-soname,get_transid.so -o get_transid.so
>>> get_transid.o>>> collect2: get_transid.so: cannot open as COFF file
>>>
>>>
>>> Other try...
>>>
>>> $ gcc -m64 -g -Wall -fPIC -I/vulca/informix -c get_transid.c>>> cc1: error: unrecognized command line option "-m64"
>>>
>>>
>>> I already try with -maix64 ... without success..
>>>
>>>
>>>
>>> On 16/12/2011 09:26, Art Kagel wrote:
>>>> IB the compile line is missing the "-m64" option.
>>>>
>>>> Art
>>>>
>>>> Art S. Kagel
>>>> Advanced DataTools (www.advancedatatools.com)
>>>> Blog:http://informix-myview.blogspot.com/
>>>>
>>>> Disclaimer: Please keep in mind that my own opinions are my own opinions
>>>> and do not reflect on my employer, Advanced DataTools, the IIUG, nor any
>>>> other organization with which I am associated either explicitly,
>>>> implicitly, or by inference. Neither do those opinions reflect those of
>>>> other individuals affiliated with any entity with which I am affiliated
>> nor
>>>> those of the entities themselves.
>>>>
>>>> On Fri, Dec 16, 2011 at 6:24 AM, Fernando
>> Nunes<domusonline@gmail.com>wrote:
>>>>> I believe you need to specify the format (64bits COFF) on the
>> compilation
>>>>> line. I had to do more or less what you're trying to do recently but I
>>>>> think I made it on a trial/error basis... I'd need to check some
>> notes....
>>>>> I'll reply again if I'm able to find it...
>>>>>
>>>>> Regards.
>>>>>
>>>>> P.S.: Getting the tx id?! Why?
>>>>>
>>>>> On Fri, Dec 16, 2011 at 10:42 AM, Cesar Inacio Martins<
>>>>> cesar_inacio_martins@yahoo.com.br> wrote:
>>>>>
>>>>>> Hi ,
>>>>>>
>>>>>> IFX 11.50 FC9X6 , AIX 6.1
>>>>>>
>>>>>> I'm trying create a simple UDR to get the current 'transaction id'
>> with
>>>>>> less overhead possible...
>>>>>> To use this UDR inside of SPL + Trigger...
>>>>>>
>>>>>> I'm not expert on C language, where play with it sometimes...
>>>>>> So , I getting some trouble to compile the .c file, what I not sure if
>>>>>> is some problem with gcc for AIX or the command line used...
>>>>>> I'm stuck on error 'collect2: get_transid.so: cannot open as COFF
>> file'
>>>>>> .... and following the John Miller IIUG/2010 presentation 'The Basics
>> of
>>>>>> Writing and Utilizing C-User Define Routines'...
>>>>>>
>>>>>> If anyone have any tips how solve this, I appreciate a lot...
>>>>>>
>>>>>> ===========================================
>>>>>> $ cat get_transid.c
>>>>>> #include
Cesar, did you receive my answer to the private email? Did it help?
On Fri, Dec 16, 2011 at 2:54 PM, Cesar Inacio Martins <
cesar_inacio_martins@yahoo.com.br> wrote:
> nope...
> (I include verbose mode this time...)
>
> *$ gcc -v -shared -o get_transid.so get_transid.o -lc*
>
> Using built-in specs.
> Target: powerpc-ibm-aix6.1.0.0
> Configured with: ../configure --with-as=/usr/bin/as
> --with-ld=/usr/bin/ld --enable-languages=c,c++,java
> --prefix=/opt/freeware --enable-threads
> --enable-version-specific-runtime-libs --host=powerpc-ibm-aix6.1.0.0
> --target=powerpc-ibm-aix6.1.0.0 --build=powerpc-ibm-aix6.1.0.0
> --disable-libjava-multilib
> Thread model: aix
> gcc version 4.2.0
> /opt/freeware/libexec/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/collect2
> -bpT:0x10000000 -bpD:0x20000000 -btextro -bnodelcsect -bM:SRE -bnoentry
> -o get_transid.so -L/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0
> -L/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/../../..
> get_transid.o -lc -lgcc_s -lc -lgcc_s
> ld: 0711-736 ERROR: Input file get_transid.o:
>
> XCOFF64 object files are not allowed in 32-bit mode.
> collect2: ld returned 8 exit status
>
> *$ OBJECT_MODE=64 gcc -v -shared -o get_transid.so get_transid.o -lc*
> Using built-in specs.
> Target: powerpc-ibm-aix6.1.0.0
> Configured with: ../configure --with-as=/usr/bin/as
> --with-ld=/usr/bin/ld --enable-languages=c,c++,java
> --prefix=/opt/freeware --enable-threads
> --enable-version-specific-runtime-libs --host=powerpc-ibm-aix6.1.0.0
> --target=powerpc-ibm-aix6.1.0.0 --build=powerpc-ibm-aix6.1.0.0
> --disable-libjava-multilib
> Thread model: aix
> gcc version 4.2.0
> /opt/freeware/libexec/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/collect2
> -bpT:0x10000000 -bpD:0x20000000 -btextro -bnodelcsect -bM:SRE -bnoentry
> -o get_transid.so -L/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0
> -L/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/../../..
> get_transid.o -lc -lgcc_s -lc -lgcc_s
> Assembler:
> /tmp//cc4bu01p.s: line 14: 1252-191 Only .llong should be used for
> relocatable expressions.
> /tmp//cc4bu01p.s: line 41: 1252-191 Only .llong should be used for
> relocatable expressions.
> /tmp//cc4bu01p.s: line 63: 1252-191 Only .llong should be used for
> relocatable expressions.
> /tmp//cc4bu01p.s: line 90: 1252-191 Only .llong should be used for
> relocatable expressions.
> collect2: gcc returned 1 exit status
>
> On 16/12/2011 12:19, Art Kagel wrote:
> > Try the link step without the "-Wl,-soname,get_transid.so" option. Just a
> > hunch.
> >
> > Art
> >
> > Art S. Kagel
> > Advanced DataTools (www.advancedatatools.com)
> > Blog: http://informix-myview.blogspot.com/
> >
> > Disclaimer: Please keep in mind that my own opinions are my own opinions
> > and do not reflect on my employer, Advanced DataTools, the IIUG, nor any
> > other organization with which I am associated either explicitly,
> > implicitly, or by inference. Neither do those opinions reflect those of
> > other individuals affiliated with any entity with which I am affiliated
> nor
> > those of the entities themselves.
> >
> > On Fri, Dec 16, 2011 at 7:03 AM, Cesar Inacio Martins<
> > cesar_inacio_martins@yahoo.com.br> wrote:
> >
> >> Complementing...
> >>
> >> Show as 32-bit XCOFF
> >> =========================================
> >> $ gcc -Wall -fPIC -I/vulca/informix -c get_transid.c
> >> $ dump -ov get_transid.o> >>
> >> get_transid.o:
> >>
> >> ***Object Module Header***
> >> # Sections Symbol Ptr # Symbols Opt Hdr Len Flags
> >>
> >> 2 0x0000019e 22 0 0x0000
> >> Flags=( DEP_SYSTEM )
> >> Timestamp = "Dec 16 08:58:00 2011"
> >> Magic = 0x1df (32-bit XCOFF)
> >>
> >> =========================================
> >>
> >> Now is 64-bit XCOFF .... still no working...
> >>
> >> =========================================
> >> $ gcc -maix64 -Wall -fPIC -I/vulca/informix -c get_transid.c
> >> $ dump -ov get_transid.o
> >> get_transid.o:> >> dump: get_transid.o: 0654-108 file is not valid in the current object
> >> file mode.
> >>
> >> Use the -X option to specify the desired object mode.
> >> $ dump -ovX64 get_transid.o> >>
> >> get_transid.o:
> >>
> >> ***Object Module Header***
> >> # Sections Symbol Ptr # Symbols Opt Hdr Len Flags
> >>
> >> 2 0x00000168 16 0 0x0000
> >> Flags=( DEP_SYSTEM )
> >> Timestamp = "Dec 16 08:58:42 2011"
> >> Magic = 0x1f7 (64-bit XCOFF)
> >>
> >> $ gcc -maix64 -shared -Wl,-soname,get_transid.so -o get_transid.so
> >> get_transid.o> >> collect2: get_transid.so: cannot open as COFF file
> >> $ gcc -shared -Wl,-soname,get_transid.so -o get_transid.so get_transid.o> >> collect2: get_transid.so: cannot open as COFF file
> >> =========================================
> >>
> >> On 16/12/2011 09:47, Cesar Inacio Martins wrote:
> >>> Hi Art,
> >>>
> >>> I tried it on both commands (the executable and the lib..) and not
> >>> work ...
> >>>
> >>> $ gcc -m64 -shared -Wl,-soname,get_transid.so -o get_transid.so
> >>> get_transid.o> >>> collect2: get_transid.so: cannot open as COFF file
> >>>
> >>>
> >>> Other try...
> >>>
> >>> $ gcc -m64 -g -Wall -fPIC -I/vulca/informix -c get_transid.c> >>> cc1: error: unrecognized command line option "-m64"
> >>>
> >>>
> >>> I already try with -maix64 ... without success..
> >>>
> >>>
> >>>
> >>> On 16/12/2011 09:26, Art Kagel wrote:
> >>>> IB the compile line is missing the "-m64" option.
> >>>>
> >>>> Art
> >>>>
> >>>> Art S. Kagel
> >>>> Advanced DataTools (www.advancedatatools.com)
> >>>> Blog:http://informix-myview.blogspot.com/
> >>>>
> >>>> Disclaimer: Please keep in mind that my own opinions are my own
> opinions
> >>>> and do not reflect on my employer, Advanced DataTools, the IIUG, nor
> any
> >>>> other organization with which I am associated either explicitly,
> >>>> implicitly, or by inference. Neither do those opinions reflect those
> of
> >>>> other individuals affiliated with any entity with which I am
> affiliated
> >> nor
> >>>> those of the entities themselves.
> >>>>
> >>>> On Fri, Dec 16, 2011 at 6:24 AM, Fernando
> >> Nunes<domusonline@gmail.com>wrote:
> >>>>> I believe you need to specify the format (64bits COFF) on the
> >> compilation
> >>>>> line. I had to do more or less what you're trying to do recently but
> I
> >>>>> think I made it on a trial/error basis... I'd need to check some
> >> notes....
> >>>>> I'll reply again if I'm able to find it...
> >>>>>
> >>>>> Regards.
> >>>>>
> >>>>> P.S.: Getting the tx id?! Why?
> >>>>>
> >>>>> On Fri, Dec 16, 2011 at 10:42 AM, Cesar Inacio Martins<
> >>>>> cesar_inacio_martins@yahoo.com.br> wrote:
> >>>>>
> >>>>>> Hi ,
> >>>>>>
> >>>>>> IFX 11.50 FC9X6 , AIX 6.1
> >>>>>>
> >>>>>> I'm trying create a simple UDR to get the current 'transaction id'
> >> with
> >>>>>> less overhead possible...
> >>>>>> To use this UDR inside of SPL + Trigger...
> >>>>>>
> >>>>>> I'm not expert on C language, where play with it sometimes...
> >>>
Just in case...
I believe something like this:
select
tx.txid, hex(tx.address)
from
sysmaster:systxptab tx, sysmaster:sysrstcb r
where
r.sid = DBINFO('sessionid')
and r.txp = tx.address
would be easier (although possibly less efficient)
Regards.
On Fri, Dec 16, 2011 at 3:36 PM, Fernando Nunes <domusonline@gmail.com>wrote:
> Cesar, did you receive my answer to the private email? Did it help?
>
>
> On Fri, Dec 16, 2011 at 2:54 PM, Cesar Inacio Martins <
> cesar_inacio_martins@yahoo.com.br> wrote:
>
>> nope...
>> (I include verbose mode this time...)
>>
>> *$ gcc -v -shared -o get_transid.so get_transid.o -lc*
>>
>> Using built-in specs.
>> Target: powerpc-ibm-aix6.1.0.0
>> Configured with: ../configure --with-as=/usr/bin/as
>> --with-ld=/usr/bin/ld --enable-languages=c,c++,java
>> --prefix=/opt/freeware --enable-threads
>> --enable-version-specific-runtime-libs --host=powerpc-ibm-aix6.1.0.0
>> --target=powerpc-ibm-aix6.1.0.0 --build=powerpc-ibm-aix6.1.0.0
>> --disable-libjava-multilib
>> Thread model: aix
>> gcc version 4.2.0
>> /opt/freeware/libexec/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/collect2
>> -bpT:0x10000000 -bpD:0x20000000 -btextro -bnodelcsect -bM:SRE -bnoentry
>> -o get_transid.so -L/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0
>> -L/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/../../..
>> get_transid.o -lc -lgcc_s -lc -lgcc_s
>> ld: 0711-736 ERROR: Input file get_transid.o:
>>
>> XCOFF64 object files are not allowed in 32-bit mode.
>> collect2: ld returned 8 exit status
>>
>> *$ OBJECT_MODE=64 gcc -v -shared -o get_transid.so get_transid.o -lc*
>> Using built-in specs.
>> Target: powerpc-ibm-aix6.1.0.0
>> Configured with: ../configure --with-as=/usr/bin/as
>> --with-ld=/usr/bin/ld --enable-languages=c,c++,java
>> --prefix=/opt/freeware --enable-threads
>> --enable-version-specific-runtime-libs --host=powerpc-ibm-aix6.1.0.0
>> --target=powerpc-ibm-aix6.1.0.0 --build=powerpc-ibm-aix6.1.0.0
>> --disable-libjava-multilib
>> Thread model: aix
>> gcc version 4.2.0
>> /opt/freeware/libexec/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/collect2
>> -bpT:0x10000000 -bpD:0x20000000 -btextro -bnodelcsect -bM:SRE -bnoentry
>> -o get_transid.so -L/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0
>> -L/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/../../..
>> get_transid.o -lc -lgcc_s -lc -lgcc_s
>> Assembler:
>> /tmp//cc4bu01p.s: line 14: 1252-191 Only .llong should be used for
>> relocatable expressions.
>> /tmp//cc4bu01p.s: line 41: 1252-191 Only .llong should be used for
>> relocatable expressions.
>> /tmp//cc4bu01p.s: line 63: 1252-191 Only .llong should be used for
>> relocatable expressions.
>> /tmp//cc4bu01p.s: line 90: 1252-191 Only .llong should be used for
>> relocatable expressions.
>> collect2: gcc returned 1 exit status
>>
>> On 16/12/2011 12:19, Art Kagel wrote:
>> > Try the link step without the "-Wl,-soname,get_transid.so" option. Just
>> a
>> > hunch.
>> >
>> > Art
>> >
>> > Art S. Kagel
>> > Advanced DataTools (www.advancedatatools.com)
>> > Blog: http://informix-myview.blogspot.com/
>> >
>> > Disclaimer: Please keep in mind that my own opinions are my own opinions
>> > and do not reflect on my employer, Advanced DataTools, the IIUG, nor any
>> > other organization with which I am associated either explicitly,
>> > implicitly, or by inference. Neither do those opinions reflect those of
>> > other individuals affiliated with any entity with which I am affiliated
>> nor
>> > those of the entities themselves.
>> >
>> > On Fri, Dec 16, 2011 at 7:03 AM, Cesar Inacio Martins<
>> > cesar_inacio_martins@yahoo.com.br> wrote:
>> >
>> >> Complementing...
>> >>
>> >> Show as 32-bit XCOFF
>> >> =========================================
>> >> $ gcc -Wall -fPIC -I/vulca/informix -c get_transid.c
>> >> $ dump -ov get_transid.o>> >>
>> >> get_transid.o:
>> >>
>> >> ***Object Module Header***
>> >> # Sections Symbol Ptr # Symbols Opt Hdr Len Flags
>> >>
>> >> 2 0x0000019e 22 0 0x0000
>> >> Flags=( DEP_SYSTEM )
>> >> Timestamp = "Dec 16 08:58:00 2011"
>> >> Magic = 0x1df (32-bit XCOFF)
>> >>
>> >> =========================================
>> >>
>> >> Now is 64-bit XCOFF .... still no working...
>> >>
>> >> =========================================
>> >> $ gcc -maix64 -Wall -fPIC -I/vulca/informix -c get_transid.c
>> >> $ dump -ov get_transid.o
>> >> get_transid.o:>> >> dump: get_transid.o: 0654-108 file is not valid in the current object
>> >> file mode.
>> >>
>> >> Use the -X option to specify the desired object mode.
>> >> $ dump -ovX64 get_transid.o>> >>
>> >> get_transid.o:
>> >>
>> >> ***Object Module Header***
>> >> # Sections Symbol Ptr # Symbols Opt Hdr Len Flags
>> >>
>> >> 2 0x00000168 16 0 0x0000
>> >> Flags=( DEP_SYSTEM )
>> >> Timestamp = "Dec 16 08:58:42 2011"
>> >> Magic = 0x1f7 (64-bit XCOFF)
>> >>
>> >> $ gcc -maix64 -shared -Wl,-soname,get_transid.so -o get_transid.so
>> >> get_transid.o>> >> collect2: get_transid.so: cannot open as COFF file
>> >> $ gcc -shared -Wl,-soname,get_transid.so -o get_transid.so
>> get_transid.o>> >> collect2: get_transid.so: cannot open as COFF file
>> >> =========================================
>> >>
>> >> On 16/12/2011 09:47, Cesar Inacio Martins wrote:
>> >>> Hi Art,
>> >>>
>> >>> I tried it on both commands (the executable and the lib..) and not
>> >>> work ...
>> >>>
>> >>> $ gcc -m64 -shared -Wl,-soname,get_transid.so -o get_transid.so
>> >>> get_transid.o>> >>> collect2: get_transid.so: cannot open as COFF file
>> >>>
>> >>>
>> >>> Other try...
>> >>>
>> >>> $ gcc -m64 -g -Wall -fPIC -I/vulca/informix -c get_transid.c>> >>> cc1: error: unrecognized command line option "-m64"
>> >>>
>> >>>
>> >>> I already try with -maix64 ... without success..
>> >>>
>> >>>
>> >>>
>> >>> On 16/12/2011 09:26, Art Kagel wrote:
>> >>>> IB the compile line is missing the "-m64" option.
>> >>>>
>> >>>> Art
>> >>>>
>> >>>> Art S. Kagel
>> >>>> Advanced DataTools (www.advancedatatools.com)
>> >>>> Blog:http://informix-myview.blogspot.com/
>> >>>>
>> >>>> Disclaimer: Please keep in mind that my own opinions are my own
>> opinions
>> >>>> and do not reflect on my employer, Advanced DataTools, the IIUG, nor
>> any
>> >>>> other organization with which I am associated either explicitly,
>> >>>> implicitly, or by inference. Neither do those opinions reflect those
>> of
>> >>>> other individuals affiliated with any entity with which I am
>> affiliated
>> >> nor
>> >>>> those of the entities themselves.
>> >>>>
>> >>>> On Fri, Dec 16, 2011 at 6:24 AM, Fernando
>> >> Nunes<domusonline@gmail.com>wrote:
>> >>>>> I believe you need to specify the format (64bits COFF) on the
>> >> compilation
>> >>>>> line. I had to do more or less what you're trying to do recently
>> but I
>> >>>>> think I made it on a trial/error basis... I'd need to check some
>> >> notes....
>> >>>>> I'll reply again if I'm