| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | MUHAMMAD ASIF <anaeem(dot)it(at)hotmail(dot)com> |
| Cc: | dpage(at)postgresql(dot)org, z-saito(at)guitar(dot)ocn(dot)ne(dot)jp, pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: UUIDs generated using ossp-uuid on windows not unique |
| Date: | 2010-03-30 14:01:50 |
| Message-ID: | 16105.1269957710@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
MUHAMMAD ASIF <anaeem(dot)it(at)hotmail(dot)com> writes:
> I have downloaded uuid-1.6.2.tar.gz from http://www.ossp.org/pkg/lib/uuid/ . It successfully built with MinGW gcc and made libuuid.a, I renamed it to uuid.lib to build uuid-ossp contrib module with visual studio 2005. uuid-ossp give the following linker error with VC2005 i.e.
>
> Linking...
> Creating library Release\uuid-ossp\uuid-ossp.lib and object Release\uuid-ossp\uuid-ossp.exp
> uuid.lib(uuid_time.o) : error LNK2019: unresolved external symbol ___divdi3 referenced in function _uuid_time_gettimeofday
> uuid.lib(uuid_time.o) : error LNK2019: unresolved external symbol ___moddi3 referenced in function _uuid_time_gettimeofday
> uuid.lib(uuid_str.o) : error LNK2019: unresolved external symbol ___umoddi3 referenced in function _fmtint
> uuid.lib(uuid_str.o) : error LNK2019: unresolved external symbol ___udivdi3 referenced in function _fmtint
> .\Release\uuid-ossp\uuid-ossp.dll : fatal error LNK1120: 4 unresolved externals
Generally, gcc is supposed to arrange for -lgcc to be included
automatically in links if it's needed. I have seen failures like this
before on other platforms, and it generally had something to do with
using gcc followed by a non-gnu linker; which indeed seems to describe
what you did here. I would suggest adding -lgcc to your VC project;
or maybe where it actually went missing was in your build of libuuid.
> MinGW libgcc.a contains these symbols and these routines are not
> implemented in c ( its assembly code to make it fast ) so I extracted
> _divdi3.o _moddi3.o _umoddi3.o _udivdi3.o (we can add these additional
> files to uuid.lib to make build easy) from libgcc.a and link it with
> uuid-ossp contrib.
This seems entirely inappropriate; it makes unwarranted assumptions
about which parts of libgcc are needed, and we couldn't ship any such
thing anyhow for license reasons.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Ian Barwick | 2010-03-30 14:03:33 | Re: why table.name is translated to (name.*)::name? |
| Previous Message | Robert Haas | 2010-03-30 13:54:58 | Re: GSoC |