Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open XLC compiler options in rules.aix.mk are incorrect #7612

Open
davidjmccann opened this issue Jan 21, 2025 · 1 comment
Open

Open XLC compiler options in rules.aix.mk are incorrect #7612

davidjmccann opened this issue Jan 21, 2025 · 1 comment

Comments

@davidjmccann
Copy link
Contributor

I'm trying to build OMR 0.4.0 on AIX using configure/make. Having worked around issue #7611 and set OMR_ENV_OPENXL manually, the build gets further but then fails with:

/opt/tools/gnumake/4.4.1/bin/make -j 64
make[1]: Entering directory '/Development/dmccann/slot1/p940_D/obj/rios_aix_4/thirdpartyproducts/omr/64bit/omr-omr-0.4.0'
/opt/tools/gnumake/4.4.1/bin/make -C tools/hookgen all
make[2]: Entering directory '/Development/dmccann/slot1/p940_D/obj/rios_aix_4/thirdpartyproducts/omr/64bit/omr-omr-0.4.0/tools/hookgen'
/opt/IBM/openxlC/17.1.1/bin/ibm-clang++_r -DICOL -DAMQ_INTERNAL_BUILD -I. -I../../third_party/pugixml-1.8 -I../../include_core -I../../nls -DPPC64 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE -
DRS6000 -DAIXPPC -D_LARGE_FILES -c -s -m64 -std=c++11 -qarch=ppc -fno-strict-aliasing -fno-exceptions -O0 -g -o HookGen.o HookGen.cpp
/opt/IBM/openxlC/17.1.1/bin/ibm-clang++_r -DICOL -DAMQ_INTERNAL_BUILD -I. -I../../third_party/pugixml-1.8 -I../../include_core -I../../nls -DPPC64 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE -
DRS6000 -DAIXPPC -D_LARGE_FILES -c -s -m64 -std=c++11 -qarch=ppc -fno-strict-aliasing -fno-exceptions -O0 -g -o main.o main.cpp
/opt/IBM/openxlC/17.1.1/bin/ibm-clang++_r -DICOL -DAMQ_INTERNAL_BUILD -I. -I../../third_party/pugixml-1.8 -I../../include_core -I../../nls -DPPC64 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE -
DRS6000 -DAIXPPC -D_LARGE_FILES -c -s -m64 -std=c++11 -qarch=ppc -fno-strict-aliasing -fno-exceptions -O0 -g -o pugixml.o ../../third_party/pugixml-1.8/pugixml.cpp
.ibm-clang: error: unknown argument '-qarch=ppc'; did you mean '-march=ppc'?
.ibm-clang: error: unknown argument '-qarch=ppc'; did you mean '-march=ppc'?
.ibm-clang: error: unknown argument '-qarch=ppc'; did you mean '-march=ppc'?
make[2]: *** [../../omrmakefiles/rules.mk:379: HookGen.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [../../omrmakefiles/rules.mk:379: main.o] Error 1
make[2]: *** [../../omrmakefiles/rules.mk:379: pugixml.o] Error 1
make[2]: Leaving directory '/Development/dmccann/slot1/p940_D/obj/rios_aix_4/thirdpartyproducts/omr/64bit/omr-omr-0.4.0/tools/hookgen'
make[1]: *** [GNUmakefile:308: tools/hookgen] Error 2
make[1]: Leaving directory '/Development/dmccann/slot1/p940_D/obj/rios_aix_4/thirdpartyproducts/omr/64bit/omr-omr-0.4.0'
make: *** [GNUmakefile:238: tools] Error 2
~

This is because of this code in omrmakefiles/rules.aix.mk:
ifeq ($(OMR_ENV_OPENXL),1)
GLOBAL_CFLAGS += -qarch=ppc -fno-strict-aliasing
GLOBAL_CXXFLAGS+=-std=c++11 -qarch=ppc -fno-strict-aliasing
else
GLOBAL_CFLAGS += -qarch=ppc -qalias=noansi -qxflag=LTOL:LTOL0 -qsuppress=1506-1108
GLOBAL_CXXFLAGS+=-qlanglvl=extended0x -qarch=ppc -qalias=noansi -qxflag=LTOL:LTOL0 -qsuppress=1506-1108
endif

-qarch is not valid with ibm-clang.

If I remove that, then the build fails further on with:
/opt/tools/gnumake/4.4.1/bin/make -C omr all
make[2]: Entering directory '/Development/dmccann/slot1/p940_D/obj/rios_aix_4/thirdpartyproducts/omr/64bit/omr-omr-0.4.0/omr'
/opt/IBM/openxlC/17.1.1/bin/ibm-clang++_r -DICOL -DAMQ_INTERNAL_BUILD -I. -I../gc/startup -I../include_core -I../nls -DPPC64 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE -DRS6000 -DAIXPPC -D_LA
RGE_FILES -c -s -m64 -std=c++11 -mcpu=power7 -fno-strict-aliasing -fno-exceptions -O0 -g -o OMR_Agent.o OMR_Agent.cpp
/opt/IBM/openxlC/17.1.1/bin/ibm-clang++_r -DICOL -DAMQ_INTERNAL_BUILD -I. -I../gc/startup -I../include_core -I../nls -DPPC64 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE -DRS6000 -DAIXPPC -D_LA
RGE_FILES -c -s -m64 -std=c++11 -mcpu=power7 -fno-strict-aliasing -fno-exceptions -O0 -g -o OMR_MethodDictionary.o OMR_MethodDictionary.cpp
/opt/IBM/openxlC/17.1.1/bin/ibm-clang++_r -DICOL -DAMQ_INTERNAL_BUILD -I. -I../gc/startup -I../include_core -I../nls -DPPC64 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE -DRS6000 -DAIXPPC -D_LA
RGE_FILES -c -s -m64 -std=c++11 -mcpu=power7 -fno-strict-aliasing -fno-exceptions -O0 -g -o OMR_Profiler.o OMR_Profiler.cpp
/opt/IBM/openxlC/17.1.1/bin/ibm-clang++_r -DICOL -DAMQ_INTERNAL_BUILD -I. -I../gc/startup -I../include_core -I../nls -DPPC64 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE -DRS6000 -DAIXPPC -D_LA
RGE_FILES -c -s -m64 -std=c++11 -mcpu=power7 -fno-strict-aliasing -fno-exceptions -O0 -g -o OMR_Runtime.o OMR_Runtime.cpp
/opt/IBM/openxlC/17.1.1/bin/ibm-clang++_r -DICOL -DAMQ_INTERNAL_BUILD -I. -I../gc/startup -I../include_core -I../nls -DPPC64 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE -DRS6000 -DAIXPPC -D_LA
RGE_FILES -c -s -m64 -std=c++11 -mcpu=power7 -fno-strict-aliasing -fno-exceptions -O0 -g -o OMR_TI.o OMR_TI.cpp
/opt/IBM/openxlC/17.1.1/bin/ibm-clang++_r -DICOL -DAMQ_INTERNAL_BUILD -I. -I../gc/startup -I../include_core -I../nls -DPPC64 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE -DRS6000 -DAIXPPC -D_LA
RGE_FILES -c -s -m64 -std=c++11 -mcpu=power7 -fno-strict-aliasing -fno-exceptions -O0 -g -o OMR_TIMemorySize.o OMR_TIMemorySize.cpp
/opt/IBM/openxlC/17.1.1/bin/ibm-clang++r -DICOL -DAMQ_INTERNAL_BUILD -I. -I../gc/startup -I../include_core -I../nls -DPPC64 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE -DRS6000 -DAIXPPC -D_LA
RGE_FILES -c -s -m64 -std=c++11 -mcpu=power7 -fno-strict-aliasing -fno-exceptions -O0 -g -o OMR_VM.o OMR_VM.cpp
.ibm-clang: warning: argument unused during compilation: '-s' [-Wunused-command-line-argument]
/opt/IBM/openxlC/17.1.1/bin/ibm-clang++r -DICOL -DAMQ_INTERNAL_BUILD -I. -I../gc/startup -I../include_core -I../nls -DPPC64 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE -DRS6000 -DAIXPPC -D_LA
RGE_FILES -c -s -m64 -std=c++11 -mcpu=power7 -fno-strict-aliasing -fno-exceptions -O0 -g -o OMR_VMThread.o OMR_VMThread.cpp
/opt/IBM/openxlC/17.1.1/bin/ibm-clang -DICOL -DAMQ_INTERNAL_BUILD -I. -I../gc/startup -I../include_core -I../nls -DPPC64 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE -DRS6000 -DAIXPPC -D_LARGE

FILES -c -s -m64 -mcpu=power7 -fno-strict-aliasing -q mbcs -std=c89 -qinfo=pro -std=c++11 -O0 -g -DICOL -DAMQ_INTERNAL_BUILD -o ut_omrti.o ut_omrti.c
.ibm-clang: warning: argument unused during compilation: '-s' [-Wunused-command-line-argument]
/opt/IBM/openxlC/17.1.1/bin/ibm-clang -DICOL -DAMQ_INTERNAL_BUILD -I. -I../gc/startup -I../include_core -I../nls -DPPC64 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE -DRS6000 -DAIXPPC -D_LARGE

FILES -c -s -m64 -mcpu=power7 -fno-strict-aliasing -q mbcs -std=c89 -qinfo=pro -std=c++11 -O0 -g -DICOL -DAMQ_INTERNAL_BUILD -o ut_omrvm.o ut_omrvm.c
.ibm-clang: warning: argument unused during compilation: '-s' [-Wunused-command-line-argument]
.ibm-clang: warning: argument unused during compilation: '-s' [-Wunused-command-line-argument]
.ibm-clang: warning: argument unused during compilation: '-s' [-Wunused-command-line-argument]
.ibm-clang: warning: argument unused during compilation: '-s' [-Wunused-command-line-argument]
.ibm-clang: warning: argument unused during compilation: '-s' [-Wunused-command-line-argument]
.ibm-clang: error: unknown argument: '-q'
.ibm-clang: error: unknown argument: '-qinfo=pro'
.ibm-clang: error: no such file or directory: 'mbcs'
.ibm-clang: warning: argument unused during compilation: '-s' [-Wunused-command-line-argument]
.ibm-clang: error: unknown argument: '-q'
.ibm-clang: error: unknown argument: '-qinfo=pro'
.ibm-clang: error: no such file or directory: 'mbcs'
make[2]: *** [../omrmakefiles/rules.mk:372: ut_omrvm.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [../omrmakefiles/rules.mk:372: ut_omrti.o] Error 1
make[2]: Leaving directory '/Development/dmccann/slot1/p940_D/obj/rios_aix_4/thirdpartyproducts/omr/64bit/omr-omr-0.4.0/omr'
make[1]: *** [GNUmakefile:308: omr] Error 2
make[1]: Leaving directory '/Development/dmccann/slot1/p940_D/obj/rios_aix_4/thirdpartyproducts/omr/64bit/omr-omr-0.4.0'
make: *** [GNUmakefile:231: mainbuild] Error 2

So it also seems that -s, -qinfo=pro and -q mbcs are also not supported.

@davidjmccann
Copy link
Contributor Author

Also, this looks incorrect:
GLOBAL_CFLAGS+=-std=c++11
Was GLOBAL_CXXFLAGS intended?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant