c++ gcc boost clang windows-subsystem-for-linux

c++ - Errores intermitentes y aleatorios de "archivo no encontrado" en el Subsistema de Windows para Linux(WSL)



gcc boost (2)

Obtengo errores ''error fatal: ... archivo no encontrado'' intermitentes al crear la aplicación C ++ usando gcc 4.8 o clang 3.8 en Ubuntu 16.04.2 ejecutándose en el Subsistema de Windows para Linux (WSL), cuando se incluyen los archivos de encabezado de C ++, pero solo desde la instalación de la actualización de Windows 10 de abril (versión 1803, SO Build 17134.1) hace unos días.

Ejemplo de mensaje de error del compilador clang:

fatal error: ''boost/preprocessor/list/fold_left.hpp'' file not found

Ejemplo de mensaje de error del compilador gcc:

fatal error: boost/mpl/aux_/at_impl.hpp: No such file or directory

Digo que el error es intermitente porque si vuelvo a ejecutar la compilación, el error particular que interrumpió la compilación desaparece, y la compilación se ejecuta durante un tiempo más hasta que la compilación se realiza correctamente o falla al incluir algún otro archivo con el mismo tipo de compilación. Error ''archivo no encontrado''.

La sincronización de esta falla y su aleatoriedad me hacen sospechar que es un nuevo error en WSL. ¿Alguien más está viendo esto o tiene sugerencias sobre cómo solucionarlo?

El error no siempre está en una inclusión de Boost, pero a menudo es simplemente porque Boost comprende una gran parte de los archivos de inclusión generales. Los archivos que se están construyendo existen en un volumen compartido en / mnt / d /.


En mi caso, no era multihilo sino el camino a la cadena de herramientas. El caso fallido fue: toolchain se instaló en /mnt/c/.../tools/ Un buen caso fue: toolchain se instaló en /home/yurir/tools/

Supongo que la asignación de carpetas de Windows con las carpetas de Ubuntu crea un poco de desorden.


Esto se ha identificado como un error de subprocesamiento múltiple ( https://docs.microsoft.com/en-us/windows/wsl/release-notes#build-17655-skip-ahead ) y debería corregirse en una futura actualización de Windows.

Dado que es un error de subprocesamiento múltiple, podría ser posible solucionarlo al no utilizar compilaciones de multiproceso.

Si tiene prisa, podría ser posible simplemente acceder al programa de Windows Insider y usar una de las compilaciones de vista previa.