Boost logo

Boost Users :

From: Dave Compton (abcdave_at_[hidden])
Date: 2006-04-30 15:10:55


The reason that this appears to be happening is that in 1_33_1 the link
line for these libraries includes -L"" . The empty quotes get ignored
and the following file is incorrectly to be taken to be a directory and
its symbols don't get linked in. Here it is in context:

"g++" "-Wl,--enable-auto-image-base" "-Wl,--exclude-symbols,_bss_end__:_bs
s_start__:_data_end__:_data_start__"
"-Wl,--out-implib,bin\boost\libs\filesyste
m\build\boost_filesystem.dll\mingw\debug\boost_filesystem-mgw-d-1_33_1.lib"
-g
-shared -Wl,--allow-multiple-definition -mno-cygwin -o
"bin\boost\libs\filesyst
em\build\boost_filesystem.dll\mingw\debug\boost_filesystem-mgw-d-1_33_1.dll"
-
L""
"bin\boost\libs\filesystem\build\boost_filesystem.dll\mingw\debug\exception
.obj"
"bin\boost\libs\filesystem\build\boost_filesystem.dll\mingw\debug\operatio
ns_posix_windows.obj"
"bin\boost\libs\filesystem\build\boost_filesystem.dll\ming
w\debug\path_posix_windows.obj"
"bin\boost\libs\filesystem\build\boost_filesyste
m.dll\mingw\debug\convenience.obj"
 

Dave Compton wrote:

> When I try to build boost 1_33_1 with mingw ( gcc 3.4.2 ) some
> libraries don't link properly. At the end of the build process, the
> following files are missing :
>

The reason that this appears to be happening is that in 1_33_1 the link
line for these libraries includes -L"" . The empty quotes get ignored
and the following file is incorrectly to be taken to be a directory and
its symbols don't get linked in. Here it is in context:

"g++" "-Wl,--enable-auto-image-base"
"-Wl,--exclude-symbols,_bss_end__:_bss_start__:_data_end__:_data_start__"
"-Wl,--out-implib,bin\boost\libs\filesystem\build\boost_filesystem.dll\mingw\debug\boost_filesystem-mgw-d-1_33_1.lib"

-g -shared -Wl,--allow-multiple-definition -mno-cygwin -o
"bin\boost\libs\filesystem\build\boost_filesystem.dll\mingw\debug\boost_filesystem-mgw-d-1_33_1.dll"

 -L""
"bin\boost\libs\filesystem\build\boost_filesystem.dll\mingw\debug\exception.obj"
"bin\boost\libs\filesystem\build\boost_filesystem.dll\mingw\debug\operations_posix_windows.obj"
"bin\boost\libs\filesystem\build\boost_filesystem.dll\mingw\debug\path_posix_windows.obj"
"bin\boost\libs\filesystem\build\boost_filesystem.dll\mingw\debug\convenience.obj"

 
This does not happen in 1_33_0. Can anyone tell me how to work around
it? Would it be possible to fix this in the next boost release?

Thanks.

- Dave

> boost_filesystem-mgw-1_33_1.dll
> boost_filesystem-mgw-1_33_1.lib
> boost_filesystem-mgw-d-1_33_1.dll
> boost_filesystem-mgw-d-1_33_1.lib
> boost_filesystem-mgw-d.lib
> boost_filesystem-mgw-mt-1_33_1.dll
> boost_filesystem-mgw-mt-1_33_1.lib
> boost_filesystem-mgw-mt-d-1_33_1.dll
> boost_filesystem-mgw-mt-d-1_33_1.lib
> boost_filesystem-mgw-mt-d.lib
> boost_filesystem-mgw-mt.lib
> boost_filesystem-mgw.lib
>
> boost_serialization-mgw-1_33_1.dll
> boost_serialization-mgw-1_33_1.lib
> boost_serialization-mgw-d-1_33_1.dll
> boost_serialization-mgw-d-1_33_1.lib
> boost_serialization-mgw-d.lib
> boost_serialization-mgw-mt-1_33_1.dll
> boost_serialization-mgw-mt-1_33_1.lib
> boost_serialization-mgw-mt-d-1_33_1.dll
> boost_serialization-mgw-mt-d-1_33_1.lib
> boost_serialization-mgw-mt-d.lib
> boost_serialization-mgw-mt.lib
> boost_serialization-mgw.lib
>
> boost_signals-mgw-1_33_1.dll
> boost_signals-mgw-1_33_1.lib
> boost_signals-mgw-d-1_33_1.dll
> boost_signals-mgw-d-1_33_1.lib
> boost_signals-mgw-d.lib
> boost_signals-mgw-mt-1_33_1.dll
> boost_signals-mgw-mt-1_33_1.lib
> boost_signals-mgw-mt-d-1_33_1.dll
> boost_signals-mgw-mt-d-1_33_1.lib
> boost_signals-mgw-mt-d.lib
> boost_signals-mgw-mt.lib
> boost_signals-mgw.lib
>
> I believe that all the other libraries are building successfully.
>
> Here are the first few errors that appear in my build log:
>
> gcc-Link-action
> bin\boost\libs\filesystem\build\boost_filesystem.dll\mingw\debug\boost_filesystem-mgw-d-1_33_1.dll
> bin\boost\libs\filesystem\build\boost_filesystem.dll\mingw\debug\boost_filesystem-mgw-d-1_33_1.lib
>
>
> Creating library file:
> bin\boost\libs\filesystem\build\boost_filesystem.dll\mingw\debug\boost_filesystem-mgw-d-1_33_1.lib
>
> bin\boost\libs\filesystem\build\boost_filesystem.dll\mingw\debug\operations_posix_windows.obj(.text+0x7ac):
> In function
> `ZN5boost10filesystem6detail12dir_itr_initERNS_10shared_ptrINS1_11dir_itr_impEEERKNS0_4pathE':
>
> c:/cygwin_home/dave/devl/thirdParty/Cygwin/boost/boost_1_33_1x/src/boost_1_33_1/libs/filesystem/build/../src/operations_posix_windows.cpp:308:
> undefined reference to `boost::filesystem::detail::system_error_code()'
> bin\boost\libs\filesystem\build\boost_filesystem.dll\mingw\debug\operations_posix_windows.obj(.text+0x81d):c:/cygwin_home/dave/devl/thirdParty/Cygwin/boost/boost_1_33_1x/src/boost_1_33_1/libs/filesystem/build/../src/operations_posix_windows.cpp:308:
> undefined reference to
> `boost::filesystem::filesystem_error::filesystem_error(std::string
> const&, boost::filesystem::path const&, int)'
> bin\boost\libs\filesystem\build\boost_filesystem.dll\mingw\debug\operations_posix_windows.obj(.text+0x8d7):c:/cygwin_home/dave/devl/thirdParty/Cygwin/boost/boost_1_33_1x/src/boost_1_33_1/libs/filesystem/build/../src/operations_posix_windows.cpp:308:
> undefined reference to
> `boost::filesystem::filesystem_error::~filesystem_error()'
> bin\boost\libs\filesystem\build\boost_filesystem.dll\mingw\debug\operations_posix_windows.obj(.text+0x8f3):c:/cygwin_home/dave/devl/thirdParty/Cygwin/boost/boost_1_33_1x/src/boost_1_33_1/libs/filesystem/build/../src/operations_posix_windows.cpp:308:
> undefined reference to
> `boost::filesystem::filesystem_error::~filesystem_error()'
>
>
> So far my work around has been to use 1_33_0 which builds 100% cleanly.
>
> Does anyone have any idea either what I might be doing wrong or what
> is going wrong otherwise.
>
> Thanks.
>
> - Dave
>
>
>


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net