Monday, September 10, 2012
confd build error: "cannot find -lconfd"
Q: I've set up the linked directory required for building a ref_platform that uses confd, and upgraded to a newer version of confd, but the build is failing :
*** Linking elemConfdProxy
/usr/bin/ld: cannot find -lconfd
collect2: ld returned 1 exit status
make[3]: *** [/home/jmir/SystemManager/from_ipw/element_3.2.2/ref_platforms/generic_confd_3.5.0/bin/linux-x86_64/elemConfdProxy]
Error 1
- the directory element_3.2.2/confd/confd-36/x86_64 exists
- it contains the softlink to my $CONFD_ROOT
- $CONFD_VERSION in my environment is set to the new version i.e. "36"
- metadata/staging_confd.xml is updated with the new version
A: There is one more step, which isn't noted in the README.confd file. You must change the CONFD_VERSION reference in your local Makefile in ref_platforms/generic_confd_3.5.0 :
ELEMENT_OPTIONS ?= CONFD_VERSION=36
Tuesday, September 04, 2012
sysmgr_support.mk: No such file
Q: Building element_3.2.2 for the first time from a tarball delivery, while making the generic_cluster reference platform I get this build error immediately:
make[1]: Entering directory `/home/jmir/Element/Releases/3.2.2/element_3.2.2/ref_platforms/generic_cluster'
/home/jmir/Element/Releases/3.2.2/element_3.2.2/ref_platforms/generic_cluster/../../build/packages/packages.mk:28: /home/jmir/Element/Releases/3.2.2/element_3.2.2/ref_platforms/generic_cluster/../../build/packages/sysmgr/sysmgr_support.mk: No such file or directory
make[1]: *** No rule to make target `/home/jmir/Element/Releases/3.2.2/element_3.2.2/ref_platforms/generic_cluster/../../build/packages/sysmgr/sysmgr_support.mk'. Stop.
make[1]: Leaving directory `/home/jmir/Element/Releases/3.2.2/element_3.2.2/ref_platforms/generic_cluster'
make: *** [xml-check] Error 2
/home/jmir/Element/Releases/3.2.2/element_3.2.2/ref_platforms/generic_cluster/../../build/packages/packages.mk:28: /home/jmir/Element/Releases/3.2.2/element_3.2.2/ref_platforms/generic_cluster/../../build/packages/sysmgr/sysmgr_support.mk: No such file or directory
make[1]: *** No rule to make target `/home/jmir/Element/Releases/3.2.2/element_3.2.2/ref_platforms/generic_cluster/../../build/packages/sysmgr/sysmgr_support.mk'. Stop.
make[1]: Leaving directory `/home/jmir/Element/Releases/3.2.2/element_3.2.2/ref_platforms/generic_cluster'
make: *** [xml-check] Error 2
I don't even want to use sysmgr right now, so why is it complaining?
A: There was a packaging problem with 3.2.2 (that has since been corrected in subsequent releases); in order to work around it, assuming you don't need sysmgr, remove this line from build/packages/packages.mk :
include $(ELEMENT_PATH)/$(PACKAGE_DIR)/sysmgr/sysmgr_support.mk
Rebuild afterward and all should be well. If you do however need sysmgr, you'll need to get an updated tarball which includes it all.
Tuesday, December 22, 2009
"make all" gives weird errors that don't make sense
Q: I'm trying to build a BSP under OSE5.4.1 and got this error:
$ make all../../rtose/common_rtose.mk:169: *** multiple target patterns. Stop.make: *** [mods] Error 2
This makes no sense whatsoever. I've already done the required mod to environment.mk.
A: Sometimes there is more than one cause.
For example, the OSE baseline is set up differently starting in OSE5.3.x, and is also matched to a BSP for each release. So you should only use the cygwin shipped with OSE5.3.x for building BSPs intended for OSE5.3.x; If you try to use OSE5.3.x cygwin to build a BSP delivered for use with OSE5.4.x, you may get strange errors. Verify that your cygwin is the correct one and that $OSE_ROOT and toolset is pointing to the right place, e.g.:
$ echo $OSE_ROOT
C:/OSE/OSE5.4.1_PPC
$ which powerpc-eabi-gcc
/cygdrive/c/OSE/OSE5.4.1_PPC/gcc_win32_powerpc_4.2.3/bin/powerpc-eabi-gcc
Another problem may be with corrupted cygwin environment. If you see strange make errors you might quickly check the environment, e.g. run "alias" and see what comes out:
$ alias
'lias gd='grep --directories=recurse
'lias java='E:/ThirdParty/jre1.5.0_06/bin/java.exe
'lias ll='ls -la
Clearly this shows the aliases are not being interpreted correctly, and possibly that the ~/.bash_profile (which has the aliases defined) is corrupted. A quick cleaning with the col utility takes care of this:
$ cp .bash_profile orig.bash_profile
$ col -b < .bash_profile > out.bash_profile
$ cp out.bash_profile .bash_profile
The col utility will remove any escape and other "invisible" chars that may be in the cygwin init files. Not the solution to every strange problem, but something to eliminate and to restart cygwin after fixing.
$ make all../../rtose/common_rtose.mk:169: *** multiple target patterns. Stop.make: *** [mods] Error 2
This makes no sense whatsoever. I've already done the required mod to environment.mk.
A: Sometimes there is more than one cause.
For example, the OSE baseline is set up differently starting in OSE5.3.x, and is also matched to a BSP for each release. So you should only use the cygwin shipped with OSE5.3.x for building BSPs intended for OSE5.3.x; If you try to use OSE5.3.x cygwin to build a BSP delivered for use with OSE5.4.x, you may get strange errors. Verify that your cygwin is the correct one and that $OSE_ROOT and toolset is pointing to the right place, e.g.:
$ echo $OSE_ROOT
C:/OSE/OSE5.4.1_PPC
$ which powerpc-eabi-gcc
/cygdrive/c/OSE/OSE5.4.1_PPC/gcc_win32_powerpc_4.2.3/bin/powerpc-eabi-gcc
Another problem may be with corrupted cygwin environment. If you see strange make errors you might quickly check the environment, e.g. run "alias" and see what comes out:
$ alias
'lias gd='grep --directories=recurse
'lias java='E:/ThirdParty/jre1.5.0_06/bin/java.exe
'lias ll='ls -la
Clearly this shows the aliases are not being interpreted correctly, and possibly that the ~/.bash_profile (which has the aliases defined) is corrupted. A quick cleaning with the col utility takes care of this:
$ cp .bash_profile orig.bash_profile
$ col -b < .bash_profile > out.bash_profile
$ cp out.bash_profile .bash_profile
The col utility will remove any escape and other "invisible" chars that may be in the cygwin init files. Not the solution to every strange problem, but something to eliminate and to restart cygwin after fixing.
Labels: cygwin, make, OSE5, sfk
free invisible web counter

