This discussion is archived
10 Replies Latest reply: Jan 9, 2013 12:21 AM by 977823 RSS

Compiling / Linking error in Solaris Studio 12.3 C++ Compiler

977823 Newbie
Currently Being Moderated
Hi,

I downloaded Solaris Studio 12.3 (SolarisStudio12.3-solaris-x86-pkg.tar.bz2) & unpacked and installed on the default directory (in non-interactive mode) of local machine running Solaris 10 10/09 s10x_u8wos_08a X86. Also applied all the required patches by running the "install_patches.sh" after running "solarisstudio.sh".

My application has make files to take care of the building the whole application. I made necessary changes to the make files to pick up the latest Solaris 12.3 C++ compiler. I could see that it has picked up for compiling.

While building the whole project, the source files are compiled to object files successfully but when it is creating shared object (.so) files it stops at the below error:

/opt/solarisstudio12.3/prod/bin/CC -mt -i -library=stlport4 -zdefs -ztext -G -h xmem.so -Lpic/lib/debug/sol32 -L/MyHome/open_source/abc/lib/sol32 -L/MyHome/open_source/mno/lib/sol32 -L/MyHome/open_source/pqr/lib/sol32 -L/MyHome/open_source/xyz/lib/sol32 -g -lc -lCrun -lumem -m32 -o debug/xmem.so

*usage: CC [ options ] files. Use 'CC -flags' for details*

Note:
Some third party open source libraries are being used in the project. Those libraries are not built using Solaris Studio 12.3 compilers.

Tried changing lot of options and re-ordering the switches/options but no luck. But on changing as mentioned below the shared library DID build successfully
- Added space after '-L' option, added '*' at the end of path like "-L/MyHome/open_source/pqr/lib/sol32/*".

Note:*_
+1) I tried compiling a separate small program into object files using Solaris 12.3 C++ compiler but got the above error/problem when linking the experimental libraries (shared object) with most of the options used in the above command.+

+2) The same project gets built successfully in Solaris Studio 12.1 (studio12.1-091123) and Solaris Studio 12 (studio12-070724) but the same is failing in Solaris Studio 12.3.+

Can someone please help me to understand the issue and resolve it? Let me know if any more information is needed.

Thanks in advance.

-Vijay

Edited by: 974820 on Dec 4, 2012 7:05 PM
  • 1. Re: Compiling / Linking error in Solaris Studio 12.3 C++ Compiler
    Steve_Clamage Pro
    Currently Being Moderated
    >
    While building the whole project, the source files are compiled to object files successfully but when it is creating shared object (.so) files it stops at the below error:

    /opt/solarisstudio12.3/prod/bin/CC -mt -i -library=stlport4 -zdefs -ztext -G -h xmem.so -Lpic/lib/debug/sol32 -L/MyHome/open_source/abc/lib/sol32 -L/MyHome/open_source/mno/lib/sol32 -L/MyHome/open_source/pqr/lib/sol32 -L/MyHome/open_source/xyz/lib/sol32 -g -lc -lCrun -lumem -m32 -o debug/xmem.so

    *usage: CC [ options ] files. Use 'CC -flags' for details*
    The command line as shown lists no files to be linked into xmem.so. Hence the error message.

    >
    Note:
    Some third party open source libraries are being used in the project. Those libraries are not built using Solaris Studio 12.3 compilers.
    If they are compiled by some other C++ compiler, you will not be able to use the object files in your program.
    Exception: The option -compat=g causes CC to generate code that can be linked with code created by g++.

    >
    Tried changing lot of options and re-ordering the switches/options but no luck. But on changing as mentioned below the shared library DID build successfully
    - Added space after '-L' option, added '*' at the end of path like "-L/MyHome/open_source/pqr/lib/sol32/*".
    A space after -L is optional. The options
    -L/foo
    -L /foo
    are equivalent. But the wild card changes things. Suppose we have this:
    % ls /foo
    bar a.o b.o
    where bar is a directory. The option
    -L /foo/* (or -L/foo/*) expands to
    -L /foo a.o b.o
    meaning that a.o and b.o are now treated as object files to be linked, and /foo/bar is treated as a directory to be searched for needed libraries.

    Maybe you are confused about the -L option. It designates a directory to be searched at link time for libraries named on the command line. Example:
    CC ... -L/foo -lbar ...
    This part of the command line means to look (at link time) in /foo for library libbar.a or libbar.so before searching default locations like /usr/lib. The directory /foo will also be searched for any other libraries listed later on the command line.

    Refer to the Option Reference appendix in the C++ Users Guide for more details. See also the -R option to designate where the run-time program should look for shared libraries.

    For best practices in building and using shared libraries, see this paper written by Darryl Gove and myself.
    http://www.oracle.com/technetwork/articles/servers-storage-dev/linkinglibraries-396782.html
  • 2. Re: Compiling / Linking error in Solaris Studio 12.3 C++ Compiler
    977823 Newbie
    Currently Being Moderated
    Thank you for providing the details. May be I did not explain fully.

    The requirement is to get the xmem.so shared object/library built by using the .so files from the directories given as part of the '-L' option. What I observed is that the command (with all options) as part of the full build is getting executed in Solaris Studio 12.1 & 12 versions but not in 12.3. So, I believe the third party open source library files not being built again using Solaris Studio 12.3 is NOT an issue since the same files are used as it is in 12.1 & 12 version of studio. Please correct me if I am wrong here.

    I experimented with a small program that mimics my build process where I have two shared objects a.so & b.so in different paths. Then I am creating a new prog.so shared library using those a.so & b.so.
    The compiler options used are same as that I have mentioned previously. Here also, I get the same error.
    But if I give space after '-L" option & provide the wild char '*' at the end of the director I get the prog.so generated. Not sure what is the issue here.

    So,
    1) Is this a 12.3 issue? or
    2) I need to modify the command line options as per the 12.3 changes?
    3) Or any other issue?

    Any help here is greatly appreciated.

    Thank in advance for the help & for the patience.

    -Vijay
  • 3. Re: Compiling / Linking error in Solaris Studio 12.3 C++ Compiler
    Steve_Clamage Pro
    Currently Being Moderated
    You cannot actually combine two shared libraries -- A.so and B.so -- into one new shared library C.so. If you write a command that appears to create such a combined library, you don't actually get that. Instead, C.so depends on A.so and B.so. It does not have the contents of A.so and B.so. The dependency means that when C.so is loaded, it causes A.so and B.so to be loaded first. A program that links C.so therefore can use the contents of A.so and B.so, but not because they are part of C.so. It is because they are also linked to the program.

    You are seeing a change of behavior in the Studio CC driver after Studio 12.1. The earlier CC drivers allowed you to create an empty shared library that merely referenced other shared libraries. For example, if we have libA.so and libB.so in the current directory, we could so this with the older CC versions:
    CC -G -o libC.so -L. -lA -lB -R. 
    The result is an (almost) empty libC.so that depends on libA and libB, but is itself not useful. In effect, you create a proxy library that has a little code that get executed at program start and exit, but does nothing useful, and also takes up a little of the program address space.

    The C driver, cc, never allowed creation of such a library. The f90, cc, and CC drivers were consolidated into one source base that provides more consistent behavior across the compilers. In the process, the creation of empty shared libraries was no longer allowed by CC.

    I recommend you modify your build process so that you don't create useless libraries. An alternative is to use ld directly to create the empty shared library. That is, you can replace CC with ld and probably the original command line will work.
  • 4. Re: Compiling / Linking error in Solaris Studio 12.3 C++ Compiler
    977823 Newbie
    Currently Being Moderated
    Hi,

    Thank you very much for clarifying the difference between older & newer versions of Solaris CC. In my case, the reason for not using 'ld' but to use CC is as per the link http://docs.oracle.com/cd/E2445701/html/E21991/bkamq.html_, in which the first few lines states "You should not use ld directly. As with static libraries, the CC command ensures that all the necessary template instances from the template repository are included in the library if you are using templates"

    I hope I have followed all the details in the link given you previously and the above link.
    Could you please help to understand more on this to resolve this issue?
    -----------------------------

    I have attached the sample program to experiment this CC behaviour (to build the cool.so shared library) & the steps / commands as below:

    The code:
    -------------------------------
    one.C_
    #include <iostream>
    void print_a() { std::cout << "a" << std::endl; }

    two.C_
    #include <iostream>
    void print_b() { std::cout << "b" << std::endl; }

    main.C_
    #include <iostream>
    extern void print_a(void);
    extern void print_b(void);
    main() { print_a(); print_b(); }
    -------------------------------

    Step 1: Creating one.so file
    bash-3.00$
    /export/home/snataraj/Solaris_Studio_12_3/Solaris_Studio_12_3/SolarisStudio12.3-solaris-x86-bin/solarisstudio12.3/prod/bin/CC -mt -i -library=stlport4 -z defs -z text -G -h one.so -g -lc -lCrun -lumem -m32 -o /workspaces/PROGRAMS/one.so -Kpic one.C

    Step 2: Creating two.so file
    bash-3.00$
    /export/home/snataraj/Solaris_Studio_12_3/Solaris_Studio_12_3/SolarisStudio12.3-solaris-x86-bin/solarisstudio12.3/prod/bin/CC -mt -i -library=stlport4 -z defs -z text -G -h two.so -g -lc -lCrun -lumem -m32 -o /workspaces/PROGRAMS/two.so -Kpic two.C

    Step 3: one.so & two.so files are created
    bash-3.00$ ls –ltr *.so
    -rwxr-xr-x 1 snataraj other 82896 Dec 5 15:28 one.so
    -rwxr-xr-x 1 snataraj other 82896 Dec 5 15:28 two.so

    Step 4: Creating cool.so file such that it depends on one.so & two.so files. But it fails. The same command succeeds in Studio 12.1 as shown in Step 5.
    bash-3.00$
    /export/home/snataraj/Solaris_Studio_12_3/Solaris_Studio_12_3/SolarisStudio12.3-solaris-x86-bin/solarisstudio12.3/prod/bin/CC -mt -i -library=stlport4 -z defs -z text -G -h cool.so -L/workspaces/PROGRAMS/ -g -lc -lCrun -lumem -m32 -o /workspaces/PROGRAMS/cool.so
    *usage: CC [ options ] files. Use 'CC -flags' for details*

    NOTE_ - giving the space after '-L' and having '*' or '*.so' at the end the path (as explained in my previous replies) helps in this case also to create cool.so file in this case.

    Step 5: Creating the cool.so shared library using the original command (Step 4, that initially failed in Studio 12.3) using Solaris Studio 12.1 CC. Here, it gets built successfully.
    bash-3.00$ /export/home/snataraj/Solaris_Studio_12_1/Solaris_Studio_12_1/SolarisStudio12.1-solaris-x86-bin/solarisstudio12.1/prod/bin/CC -mt -i -library=stlport4 -z defs -z text -G -h cool.so -L/workspaces/PROGRAMS/ -g -lc -lCrun -lumem -m32 -o /workspaces/PROGRAMS/cool.so

    Step 6:
    bash-3.00$ ls -ltr *.so
    -rwxr-xr-x 1 snataraj other 82896 Dec 5 15:29 one.so
    -rwxr-xr-x 1 snataraj other 82896 Dec 5 15:29 two.so
    -rwxr-xr-x 1 snataraj other 4292 Dec 5 15:52 cool.so

    Thanks in advance.

    -Vijay
  • 5. Re: Compiling / Linking error in Solaris Studio 12.3 C++ Compiler
    Steve_Clamage Pro
    Currently Being Moderated
    I have already given you the explanation for the behavior you see. I will repeat it one more time.

    The command
    CC -mt -i -library=stlport4 -z defs -z text -G -h cool.so -L/workspaces/PROGRAMS/ \
    -g -lc -lCrun -lumem -m32 -o /workspaces/PROGRAMS/cool.so
    usage: CC [ options ] files. Use 'CC -flags' for details
    does not work because no files are specified as components of cool.so. This version of the command does not even create a dependency on one.so and two.so because they are not mentioned anywhere. If you use older C++ compilers, you get an (almost) empty library that itself is useless, in the sense that it has only do-nothing code that takes up space and execution time in exchange for no benefit. Trying to create it is almost certainly an error, which is why the current compilers do not allow it.

    Let's assume that /workspaces/PROGRAMS contains only one.so and two.so. In that case, when you change -L/workspaces/PROGRAMS/ to -L/workspaces/PROGRAMS/*, the effect is having written
    -L/workspaces/PROGRAMS/one.so /workspaces/PROGRAMS/two.so 
    In this case, the -L option has no effect, and you now have file two.so on the command line, making it a valid command, although it probably does not do what you intended.
  • 6. Re: Compiling / Linking error in Solaris Studio 12.3 C++ Compiler
    977823 Newbie
    Currently Being Moderated
    Thanks Steve for clarifying my doubts and your time in spending with this issue.

    The same set of commands used to work for our project with previous versions of Studio. Now, for whatever reasons, it has been broken or not supported in Studio 12.3 & we are kind of stuck with compilation/linking issue.

    So,
    1) Do we have to raise any ticket with Oracle to get it resolved from Oracle side?, or
    2) Change anything specifically in the command line options or the way the shared libraries are being built (apart from using ld instead of CC - due to the reason stated in my previous reply).

    I have no clue on how to proceed further!

    Any pointers in this direction will really appreciated.

    Thanks in advance.

    - Vijay
  • 7. Re: Compiling / Linking error in Solaris Studio 12.3 C++ Compiler
    Steve_Clamage Pro
    Currently Being Moderated
    vijaygr wrote:

    The same set of commands used to work for our project with previous versions of Studio.
    ... for some definition of "work". If you mean "no error messages", then it worked. If you mean "did something useful," I suspect not.
    Now, for whatever reasons, it has been broken or not supported in Studio 12.3 & we are kind of stuck with compilation/linking issue.

    So,
    1) Do we have to raise any ticket with Oracle to get it resolved from Oracle side?, or
    We do not intend to restore the old, incorrect, behavior. You should not want your old build process to work. You should be happy that the compiler now points out the error in the process.
    2) Change anything specifically in the command line options or the way the shared libraries are being built (apart from using ld instead of CC - due to the reason stated in my previous reply).
    Let's assume that the library in question, call it libC, was empty, and merely depended on other shared libraries. There is no reason to build an empty library, so don't build it. Assuming libC depended on libA and libB, remove the command to build libC, and replace uses of libC with libA and libB. Example:
    Old commands:
    CC -G -o libC.so -lA -lB ...
    CC -o myprog -lC ... 
    New commands:
    [omit building libC.so]
    CC -o myprog -lA -lB ... 
    Alternatively, you can choose to put something useful in libC. Change the command line that builds libC to include object code. Then you don't need to change anything else. I don't recommend this solution, since the more shared libraries you have, the more complicated your build and distribution process is, and the longer it takes the application to start running.
  • 8. Re: Compiling / Linking error in Solaris Studio 12.3 C++ Compiler
    977823 Newbie
    Currently Being Moderated
    Hi Steve,

    We are not yet able to completely eliminate the dependency on this almost-zero library. Still working on it.

    Meanwhile, I compiled module wise, particularly this almost-empty library using the workaround mentioned in my earlier mails. Then by-passed building this library by making changes in the makefile while building the entire project.
    In this way, I was able to proceed little further in compilation BUT am receiving a new error:

    /opt/solarisstudio12.3/prod/bin/CC -xdebugformat=stabs -errtags=yes -Kpic -mt -errwarn -library=stlport4 -erroff=doubunder -xO4 -xtarget=pentium4 -DNDEBUG -xlibmil -DOS_SOLARIS -DDATAMODEL_ILP32 -I/workspaces/CP.00_compiler/3rd_Party/open_source/boost_1_49_0/include -I/workspaces/CP.00_compiler/3rd_Party/open_source/poco-1.3.6p2/include -Imisc/color/inc -Icommon/cpputils/inc -Icommon/xcc/inc -Imisc/color/icc/inc -Idecomp/basic/inc -Idecomp/imag/inc -Iinclude -Imisc/color/DynamicL/inc -I/workspaces/CP.00_compiler/3rd_Party/open_source/ACE-6.0 -I/workspaces/CP.00_compiler/docusp/osnlayer/include -I/workspaces/CP.00_compiler/SunOS/include -m32 -c misc/color/x/xProfileDB.cpp -o arts/misc/color/x/src/obj/opt/sol32/xProfileDB.o
    Assembler: lcmsWrapper.cpp
    *"/tmp/yabeAAAsIaaln", line 12528 : Symbols must be in same section*
    Failure in /opt/solarisstudio12.3/prod/bin/fbe, status = 0x7f00
    Fatal Error exec'ing /opt/solarisstudio12.3/prod/bin/fbegmake[1]: *** [_arts_/misc/color/DynamicL/src/obj/debug/sol32/lcmsWrapper.o] Error 2
    gmake[1]: *** Waiting for unfinished jobs....
    gmake: *** [all] Error 2


    Found some information from various online sources where the possible solutions are to increase the swap space, tweak the assembler, etc which are all not applicable in our case as we have enough swap space too & other options mentioned by them didn’t resolve our issue. One of the post also mentioned to apply 117846-20 patch but this is for Solaris 10 only.
    http://blog.gmane.org/gmane.os.solaris.opensolaris.devel/month=20091101/page=2
    front end: not enough space error with Sun Studio Express 07.08 ?

    Any suggestions on correcting this issue or if I am doing anything wrong ?

    Thank you in advance.
  • 9. Re: Compiling / Linking error in Solaris Studio 12.3 C++ Compiler
    Steve_Clamage Pro
    Currently Being Moderated
    You might have run into compiler bug 15614347
    "Symbols must be in same section when compiling with -xdebugformat=stabs"
    This bug has not yet been fixed, and no workaround is listed for it.

    If you don't know of a specific reason why you need the -xdebugformat=stabs option, remove it.
    Or at least remove it for the module that is giving you a problem. The stabs format for debug data is considered obsolete, and normally you should prefer to use the default, industry-standard, DWARF format. http://www.dwarfstd.org/


    If removing the option does not fix the problem and you have a Studio service contract with Oracle, you can file a bug report at My Oracle Support, or you can work through your support channel to get the problem resolved.

    Suggesting a workaround in your code for the problem is likely to be outside the scope of this forum, unless you can make a small test case that you can post here.
  • 10. Re: Compiling / Linking error in Solaris Studio 12.3 C++ Compiler
    977823 Newbie
    Currently Being Moderated
    Hi Steve,

    Thanks for the valuable input on the -xdebugformat option. Every suggestion of yours is helping me to proceed further to some extent. This time too, after removing the "-xdebugformat=stabs", I am able to go past the previous error.
    BUT this time I am running into -xarch option problem. I am not sure if this is a application design or compilation options issue or compiler issue. Posting it here to get some inputs to understand more on this before raising any service request with Oracle Support.

    The error details and workarounds used with their result._

    NOTE: All these compilation were passed in earlier Studio versions.

    ORIGINAL - with -xarch=sse2
    ===============================ERRORS===============================
    /opt/solarisstudio12.3/prod/bin/CC -errtags=yes -Kpic -mt -errwarn -xdepend=yes -DUSING_STUDIO11 common/xm2/x86/common/inc/templates.il -D__EXTENSIONS__ -g -xarch=sse2 -Icommon/xccolor/inc -Icommon/xm2/x86/include -Icommon/xm2/x86/assembly/inc -Icommon/xm2/x86/common/inc -Iinclude -Icommon/xm2/x86hbc/expander/inc -Icommon/xm2/x86/jpeg/inc -Icommon/xm2embedded/host/x86/hbc/inc -Icommon/xm2/common/inc -Iimg-drv//include -Icommon/xm2/config/inc -Icommon/Utilities/include -Iimg-drv/ipshared/include -Icommon/cpp/inc -I/workspaces/3rd_Party/open_source/poco-1.3.6p2/include -I/workspaces/3rd_Party/open_source/boost_1_49_0/include -I/workspaces/3rd_Party/open_source/ACE-6.0 -I/workspaces/osnl/include -I/workspaces/osnl/SunOS/include -m32 -c common/xm2/x86/hbc/src/hbc_jpeg.c -o artifacts/common/xm2/x86/obj/debug/sol32/hbc_jpeg.o
    Assembler:
    "/tmp/yabeAAAIaaOxX", line 294 : Syntax error
    Near line: " maskmovq %mm0,%ebp"
    "/tmp/yabeAAAIaaOxX", line 1175 : Syntax error
    Near line: " maskmovq %mm0,%ebp"
    Failure in /opt/solarisstudio12.3/prod/bin/fbe, status = 0x7f00
    Fatal Error exec'ing /opt/solarisstudio12.3/prod/bin/fbe
    common/xm2embedded/host/x86/src/hbc_jpeg.c:1062 Warning: mmextract_epi16 intrinsic requires -xarch=sse4_1.*
    cc: acomp failed for common/xm2/x86/hbc/src/hbc_jpeg.c

    gmake[1]: *** [_artifacts_/common/xm2/x86/obj/debug/sol32/hbc_jpeg.o] Error 2
    gmake[1]: *** Waiting for unfinished jobs....
    ===============================ERRORS===============================


    AFTER CHANGING -xarch=sse2 to -xarch=sse4_1
    ===============================ERRORS===============================
    /opt/solarisstudio12.3/prod/bin/CC -errtags=yes -Kpic -mt -errwarn -library=stlport4 -DCPU_LITTLE_ENDIAN -DDSP_LITTLE_ENDIAN -xarch=sse4_1 -DTIXML_USE_STL=1 -erroff=doubunder -g -Icommon/xm2/xm2util/src -Icommon/xm2/xm2util/inc -Icommon/xm2/common/inc -Icommon/xm2/config/inc -Icommon/xm2embedded/host/utils/inc -Icommon/xm2/imageutil/inc -Icommon/xm2/x86hbc/include -Icommon/include -Iinclude -Icommon/xcc/inc -Icommon/cpp/inc -Icommon/Util/include -I/workspaces/open_source/poco-1.3.6p2/include -I/workspaces/3rd_Party/open_source/boost_1_49_0/include -I/workspaces/3rd_Party/open_source/ACE-6.0 -I/workspaces/CP.00_compiler/docusp/osnlayer/include -I/workspaces/osnl/SunOS/include -m32 -c common/xm2/xm2/src/JPEGHelpers.cpp -o artifacts/common/xm2/xm2/src/obj/debug/sol32/JPEGHelpers.o
    "common/xm2/xm2/src/JPEGHelpers.cpp", line 918: Error, nostructsym: Variable table is not a structure.
    "common/xm2/xm2/src/JPEGHelpers.cpp", line 919: Error, nostructsym: Variable table is not a structure.
    "common/xm2/xm2/src/JPEGHelpers.cpp", line 926: Error, nostructsym: Variable clear_high2bits is not a structure.
    "common/xm2/xm2/src/JPEGHelpers.cpp", line 927: Error, nostructsym: Variable clear_high2bits is not a structure.
    "common/xm2/xm2/src/JPEGHelpers.cpp", line 1223: Error, unassigned: The variable clear_high2bits has not yet been assigned a value.
    "common/xm2/xm2/src/JPEGHelpers.cpp", line 1224: Error, unassigned: The variable table has not yet been assigned a value.
    6 Error(s) detected.

    /opt/solarisstudio12.3/prod/bin/CC -errtags=yes -Kpic -mt -errwarn -library=stlport4 -DCPU_LITTLE_ENDIAN -DDSP_LITTLE_ENDIAN -xarch=sse4_1 -DTIXML_USE_STL=1 -erroff=doubunder -g -Icommon/xm2/xm2/src -Icommon/xm2/xm2/inc -Icommon/xm2/common/inc -Icommon/xm2/config/inc -Icommon/xm2/utils/inc -Icommon/xm2/imageutil/inc -Icommon/xm2/x86/include -Icommon/xm2/include -Iinclude -Icommon/xcc/inc -Icommon/cpp/inc -Icommon/Util/include -I/workspaces/3rd_Party/open_source/poco-1.3.6p2/include -I/workspaces/3rd_Party/open_source/boost_1_49_0/include -I/workspaces/3rd_Party/open_source/ACE-6.0 -I/workspaces/osnl/include -I/workspaces/osnl/SunOS/include -m32 -c common/xm2/xm2/src/Color.cpp -o artifacts/common/xm2/xm2/src/obj/debug/sol32/Color.o
    "common/xm2/xm2/inc/JPEGStripsImage.hpp", line 85: Error, badinitlval: Initializing std::vector<unsigned, xm2::XM2Allocator<unsigned>>& requires an lvalue.
    "common/xm2/image/inc/ISelector.hpp", line 36: Error, badinitlval: Initializing std::vector<unsigned, xm2::XM2Allocator<unsigned>>& requires an lvalue.
    "common/xm2/image/inc/RasterSelectorImage.hpp", line 53: Error, badinitlval: Initializing std::vector<unsigned, xm2::XM2Allocator<unsigned>>& requires an lvalue.
    3 Error(s) detected.

    6 Error(s) detected.gmake[1]: *** [_artifacts_/common/xm2/xm2/src/obj/debug/sol32/JPEGHelpers.o] Error 2
    gmake[1]: *** Waiting for unfinished jobs....
    3 Error(s) detected.gmake[1]: *** [_artifacts_/common/xm2/xm2/src/obj/debug/sol32/Color.o] Error 2
    ===============================ERRORS===============================

    Thank you.

    Vijay

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points