Мне удалось заставить фазу компиляции для работы, однако я уже давно боролся с линкером. При запуске команды mips_fp_be -g ++ -shared -wl, -soname, libscl.so.3 -o libscl.so.3.2.1 dbg/*. O api/*. O warpper/*. O сокет/*. O
Для справки, переменные среды показаны ниже: < /p>
env
PWD=/cygdrive/c/jenkins/workspace/xyz_master/libscl
PATH=/usr/bin:/cygdrive/c/MontaVista/opt/montavista/pro/host/bin:/cygdrive/c/MontaVista/opt/montavista/pro/devkit/mips/fp_be/bin:/cygdrive/c/MontaVista/opt/montavista/comm:/cygdrive/c/MontaVista/bin
CC=mips_fp_be-g++
# output omitted
< /code>
Одна вещь, которую нужно отметить, это то, что мне пришлось немного настроить программы, доступные на пути, так что можно было вызвать инструмент Montavista GCC. Были необходимы изменения, внесенные командами внутри контейнеровочного файла [/code]. По сути, эти инструкции гарантируют, что инструмент Montevista MIPS называется первым в пути. PrettyPrint-Override ">
Код: Выделить всё
RUN powershell -Command \
Expand-Archive -Path "C:\\MontaVista.zip" -DestinationPath "C:\\"; \
Remove-Item -Force "C:\\MontaVista.zip"
RUN del C:\MontaVista\opt\montavista\pro\devkit\mips\fp_be\target\usr\include\asm.lnk \
&& mklink C:\MontaVista\opt\montavista\pro\devkit\mips\fp_be\target\usr\include\asm C:\MontaVista\opt\montavista\pro\devkit\mips\fp_be\target\usr\include\asm-mips \
&& move C:\MontaVista\bin\as.exe C:\MontaVista\bin\as_backup.exe \
&& mklink C:\MontaVista\bin\as.exe C:\MontaVista\opt\montavista\pro\devkit\mips\fp_be\bin\mips_fp_be-as.exe \
&& move C:\MontaVista\bin\ld.exe C:\MontaVista\bin\ld_backup.exe \
&& mklink C:\MontaVista\opt\montavista\pro\devkit\mips\fp_be\bin\ld.exe C:\MontaVista\opt\montavista\pro\devkit\mips\fp_be\bin\mips_fp_be-ld.exe
< /code>
Однако я подозреваю, что инструменты (asКод: Выделить всё
@Echo Off
:: cygwin.cmd doru.carastan@mvista.com
::
:: Starts the Cygwin bash or sets a proper Cygwin mount table.
::
:: Command options:
:: [-w] Starts the Cygwin bash shell or
:: -m (re)builds the default Cygwin mount table
:: -v verbose
::
:: Changes:
:: 2003/11/11 - Peter Rehley
:: - Removed start items. Just call bash directly.
:: Prevents two dos prompts from showing.
:: - Also turn echo on when -v is used. It was off
:: 2003/12/15 - Doru Carastan
:: - Double quoted the CYGWIN_ROOT variable.
:: - Show root path in window title.
if "%1" == "-v" shift & echo on
::for /f "delims=" %%p in ('bin\cygpath -a -w /') do set CYGWIN_ROOT=%%p
set HOME=C:\MontaVista
set CYGWIN_ROOT=C:\MontaVista
if "%1" == "-m" goto MOUNT
set CYGWIN=codepage:oem
title BASH Shell --- '%CYGWIN_ROOT%' mounted as /
"%CYGWIN_ROOT%\bin\bash.exe" --login -i
goto EOF
exit %ERRORLEVEL%
:MOUNT
echo Setting Cygwin mount table based on %CYGWIN_ROOT% ...
pushd "%CYGWIN_ROOT%\bin"
"%CYGWIN_ROOT%\bin\umount.exe" -A
"%CYGWIN_ROOT%\bin\mount.exe" -f -s -b "%CYGWIN_ROOT%\bin" "/usr/bin"
"%CYGWIN_ROOT%\bin\mount.exe" -f -s -b "%CYGWIN_ROOT%\lib" "/usr/lib"
"%CYGWIN_ROOT%\bin\mount.exe" -f -s -b "%CYGWIN_ROOT%" "/"
"%CYGWIN_ROOT%\bin\mount.exe" -s -b --change-cygdrive-prefix "/cygdrive"
"%CYGWIN_ROOT%\bin\mount.exe"
popd
:EOF
На фрагменте ниже показан список каталога LS-Al/Cygdrive/C/Montavista/Opt/Montavista/Pro/devkit/mips/fp_be/bin :
:
ls -al /cygdrive/c/MontaVista/opt/montavista/pro/devkit/mips/fp_be/bin
total 0
drwxr-xr-x 2 Administ Kein 4096 Jul 31 15:51 .
drwxr-xr-x 15 Administ Kein 0 Jul 31 16:04 ..
-rwxr-xr-x 1 Administ Kein 25018 Apr 30 2006 apxs
-rwxr-xr-x 1 Administ Kein 1917 Jan 14 2004 glib-config
-rwxr-xr-x 1 Administ Kein 2676098 Apr 16 2006 mips_fp_be-addr2line.exe
-rwxr-xr-x 1 Administ Kein 2584605 Apr 16 2006 mips_fp_be-ar.exe
-rwxr-xr-x 1 Administ Kein 3465718 Apr 16 2006 mips_fp_be-as.exe
-rwxr-xr-x 1 Administ Kein 2699561 Apr 16 2006 mips_fp_be-c++filt.exe
-rwxr-xr-x 1 Administ Kein 903226 Apr 30 2006 mips_fp_be-cpp.exe
-rwxr-xr-x 1 Administ Kein 8760 Feb 6 2006 mips_fp_be-e2fs_install
-rwxr-xr-x 1 Administ Kein 904216 Apr 30 2006 mips_fp_be-g++.exe
-rwxr-xr-x 1 Administ Kein 901144 Apr 30 2006 mips_fp_be-gcc.exe
-rwxr-xr-x 1 Administ Kein 766813 Apr 30 2006 mips_fp_be-gcov.exe
-rwxr-xr-x 1 Administ Kein 8658973 Feb 6 2006 mips_fp_be-gdb.exe
-rwxr-xr-x 1 Administ Kein 2870275 Apr 16 2006 mips_fp_be-gprof.exe
-rwxr-xr-x 1 Administ Kein 630959 Dec 24 2003 mips_fp_be-initdconfig.exe
-rwxr-xr-x 1 Administ Kein 2488675 Dec 24 2003 mips_fp_be-ksymoops.exe
-rwxr-xr-x 1 Administ Kein 3258783 Apr 16 2006 mips_fp_be-ld.exe
-rwxr-xr-x 1 Administ Kein 6922 May 7 2004 mips_fp_be-libindex
-rwxr-xr-x 1 Administ Kein 15610 May 7 2004 mips_fp_be-libopt
-rwxr-xr-x 1 Administ Kein 8213 Dec 24 2003 mips_fp_be-libtoolize
-rwxr-xr-x 1 Administ Kein 2720814 Apr 16 2006 mips_fp_be-nm.exe
-rwxr-xr-x 1 Administ Kein 3093750 Apr 16 2006 mips_fp_be-objcopy.exe
-rwxr-xr-x 1 Administ Kein 3195519 Apr 16 2006 mips_fp_be-objdump.exe
-rwxr-xr-x 1 Administ Kein 2587165 Apr 16 2006 mips_fp_be-ranlib.exe
-rwxr-xr-x 1 Administ Kein 1196401 Apr 16 2006 mips_fp_be-readelf.exe
-rwxr-xr-x 1 Administ Kein 630959 Dec 24 2003 mips_fp_be-shellconfig.exe
-rwxr-xr-x 1 Administ Kein 2539522 Apr 16 2006 mips_fp_be-size.exe
-rwxr-xr-x 1 Administ Kein 2573054 Apr 16 2006 mips_fp_be-strings.exe
-rwxr-xr-x 1 Administ Kein 3093750 Apr 16 2006 mips_fp_be-strip.exe
Наконец, фрагмент ниже отображает вывод LS-Al/CygDrive/C/Montavista/Opt/Montavista/Pro/devkit/mips/fp_be/mips-hardhat-linux/bin :
:
ls -al /cygdrive/c/MontaVista/opt/montavista/pro/devkit/mips/fp_be/mips-hardhat-linux/bin
drwxr-xr-x 2 Administ Kein 4096 Jul 31 15:52 .
drwxr-xr-x 5 Administ Kein 0 Jul 31 15:52 ..
-rw-r--r-- 1 Administ Kein 134 Jul 11 2006 ar.exe.lnk
-rw-r--r-- 1 Administ Kein 134 Jul 11 2006 as.exe.lnk
-rw-r--r-- 1 Administ Kein 136 Jul 11 2006 cpp.exe.lnk
-rw-r--r-- 1 Administ Kein 136 Jul 11 2006 g++.exe.lnk
-rw-r--r-- 1 Administ Kein 136 Jul 11 2006 gcc.exe.lnk
-rw-r--r-- 1 Administ Kein 138 Jul 11 2006 gcov.exe.lnk
-rw-r--r-- 1 Administ Kein 96 Jul 11 2006 gnm.exe.lnk
-rw-r--r-- 1 Administ Kein 102 Jul 11 2006 gstrip.exe.lnk
-rw-r--r-- 1 Administ Kein 134 Jul 11 2006 ld.exe.lnk
-rw-r--r-- 1 Administ Kein 134 Jul 11 2006 nm.exe.lnk
-rw-r--r-- 1 Administ Kein 142 Jul 11 2006 ranlib.exe.lnk
-rw-r--r-- 1 Administ Kein 140 Jul 11 2006 strip.exe.lnk
Как я могу убедиться, что/usr/bin и/usr/lib указывать на правильные каталоги для Cross Compile Chanseman? Если вам нужна дополнительная информация, пожалуйста, оставьте комментарий. Спасибо за вашу помощь.
Подробнее здесь: https://stackoverflow.com/questions/797 ... ind-lgcc-s
Мобильная версия