I can compile it without any problem on 7.2/i386, though I remove
"USE_FORTRAN=yes".
The latter is to avoid compilation with gcc4.4, which will lead to
incompatibilities with other libraries (such as boost) I use on a
project of mine.
bye
av.
It should be fixed now.
Actually, it used to work untill gcc-4.4.4.20100216. Gcc-44 is needed
because f77 has been removed from the base.
Since gcc-4.4.4.20100216, we got errors at linkage:
local symbol 0: discarded in section `.text._ZNSs12_...
local symbol 1: discarded in section `.text._ZNSs12_...
etc.
The OpenCASCADE port was built using devel/libtool22, and this port
installs a libtool file where LD and CC are hardcoded.
To fix OpenCASCADE, I had to link it with g++44, so I switched to the
included libtool.
I guess there might be a problem with devel/libtool22, but I don't dare
patching this beast: it could fix some ports, and break many others...
Regards,
--
Th. Thomas.
Are you sure OpenCASCADE requires f77?
I looked into the source and didn't find any file like "*.f" or "*.for",
although of course they might have other extension or be generated
during the build process.
Also I can confirm it compiles with the base system gcc, although I
don't remember if I had gcc44 installed at the time, so it might also be
it picked f77 from gcc44 anyway.
The whole point of the above is that, due to gcc44's libstdc++ recently
becoming incompatible with older versions, if you mix different g++
versions in the same project, you'll get "Undefined symbol" errors when
starting your executable.
In my case, I'm linking (amongst others) against Boost and OpenCASCADE,
so I need them to use the same compiler (and use that myself).
Again, this is not a problem with OpenCASCADE only, but potentially
affects any C++ library which is build with gcc44.
bye & Thanks
av.
> Are you sure OpenCASCADE requires f77?
> I looked into the source and didn't find any file like "*.f" or "*.for",
> although of course they might have other extension or be generated
> during the build process.
> Also I can confirm it compiles with the base system gcc, although I
> don't remember if I had gcc44 installed at the time, so it might also be
> it picked f77 from gcc44 anyway.
You're right: it builds succesfully in a tinderbox without USE_FORTRAN,
which is just searched by configure.
Should be some remaining of an older version...
> The whole point of the above is that, due to gcc44's libstdc++ recently
> becoming incompatible with older versions, if you mix different g++
> versions in the same project, you'll get "Undefined symbol" errors when
> starting your executable.
>
> In my case, I'm linking (amongst others) against Boost and OpenCASCADE,
> so I need them to use the same compiler (and use that myself).
>
>
>
> Again, this is not a problem with OpenCASCADE only, but potentially
> affects any C++ library which is build with gcc44.
True: that's why I think that libtool should'nt force $CC and $LD.
Best regards,
--
Th. Thomas.