Find xctl in VI's dependencies
Hello everybody,
I am trying to find programatically all the subVI's used in a VI and save them together in the same folder.
I did that using Get VI Dependencies Invoke Method. It works with VIs, ctl, llb and lvlib (I can get their names and paths).
But if the VI contains an xctl, it doesn't appear in the Dependency Names and Dependency Paths.
Do you know how can I get programatically the path to an xctl used in a VI?
Thank's
Solved!
Go to Solution.
Hi,
Even i have tried this with the invoke node. Didn't work for me as well. I am not sure what is the correct solution for this question. But what I did was, I made a project with the VI containing the x-control and then i took the Project Dependencies using the invoke node. This returns the x-control name and path. I hope this helps you in some way.
Regards,
NitzZ
(Give Kudos to good Answers, Mark it as a Solution if your problem is Solved)
Similar Messages
-
Sql query to find dependencies for a table
Hi All,
I am having a table (REPT_ALL) with dependent objects on it ( child tables, indexes, constraints, views, synonyms, sequences , packages,procedures,functions,triggers).
I want the query to find out all the above dependencies for the above table(REP_ALL).
I m looking for the query to find dependencies inorder to find out the risks before dropping the above table(drop table REP_ALL cascade constraints)?
ThnxTo find foreign key constraints for a table you cannot use DBA_DEPENDENCIES but you have to use DBA_CONSTRAINTS.
Example Re: Find out foreign key column -
Component Version Dependencies of SAP EHP1 FOR SAP NW PI 7.3 & SAP EP 7.3
Hi,
Our Client is plannig to implement SAP EHP1 FOR SAP NW PI 7.3 & SAP Enterprise Portal 7.3.I have been asked to find out any component version dependencies or pre-requisites for these 2 SAP products.I am not getting it from anywhere.If anyone has any information please do reply me back.
Note : Currently there is no PI,EP system in our landscape.Hi,
It will work with EHP5. We also have same systems in our landscape.
And I would suggest you to read the guide below
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/50b765af-91a5-2e10-9692-d4764d024cb3?QuickLink=index&overridelayout=true
Thanks
Sunny -
I keep getting "pkg-config: could not find or read package"
trying to install firefox-branded using yaourt
[anthony@arch yaourt]$ yaourt -S firefox-branded
==> Downloading firefox-branded PKGBUILD from AUR...
bsdtar: Removing leading '/' from member names
x firefox-safe.desktop
x browser-defaulturls.patch
x PKGBUILD
x firefox.install
x mozilla-firefox-1.0-lang.patch
x firefox.desktop
x firefox-version.patch
x firefox-agent.patch
x mozconfig
Comment by: wantilles on Wed, 21 Jul 2010 12:34:35 +0000
Upstrem update to 3.6.7.
Comment by: geo on Wed, 21 Jul 2010 12:46:53 +0000
As reliable as ever, thanks wantilles :)
Comment by: wantilles on Wed, 21 Jul 2010 16:27:56 +0000
@ ropez fzerorubigd tschertel
I won't answer the same questions twice.
See my comment on Mon, 28 Jun 2010 15:51:20 +0000.
Comment by: fzerorubigd on Wed, 21 Jul 2010 18:18:22 +0000
:) I just want to report this is out of date and why I flag this as out of date. nothing else.
Comment by: wantilles on Sat, 24 Jul 2010 11:36:22 +0000
Upstream update to 3.6.8.
Comment by: fzerorubigd on Wed, 11 Aug 2010 17:56:44 +0000
Its a good work, but can you add default dictionary to this too? I mean just add a dictionaries folder inside installation folder and copy to en-US.dic and en-US.aff from mozilla-1.9.2/extensions/spellcheck/locales/en-US/hunspell folder?
Thanks for your great work.
First Submitted: Wed, 25 Jun 2008 06:41:54 +0000
firefox-branded 3.6.8-1 : Standalone web browser from mozilla.org
( Unsupported package: Potentially dangerous ! )
==> Edit PKGBUILD ? [Y/n] ("A" to abort)
==> ------------------------------------
==> n
==> firefox-branded dependencies:
- desktop-file-utils (already installed)
- zip (already installed)
- diffutils (already installed)
- libgnomeui>=2.24.1 (already installed)
- python (already installed)
- wireless_tools (already installed)
- xulrunner=1.9.2.8 (building from AUR)
- pkg-config (building from AUR)
==> Edit firefox.install ? [Y/n] ("A" to abort)
==> -------------------------------------------
==> n
==> Continue building firefox-branded ? [Y/n]
==> -----------------------------------------
==>
==> Building and installing package
==> Install or build missing dependencies for firefox-branded:
Password:
error: 'pkg-config': could not find or read package
==> WARNING: Dependencies have been installed before the failure
==> Restart building firefox-branded ? [y/N]
==> ----------------------------------------
==>
==> WARNING: Following packages have not been installed:
firefox-branded
I have pkg-config installed (pacman -S base-devel) and ran pacman -Syyu after.==> Making package: firefox-branded 3.6.8-1 (Tue Aug 24 03:59:02 PDT 2010)
==> Checking Runtime Dependencies...
==> Missing Dependencies:
-> xulrunner=1.9.2.8
==> Checking Buildtime Dependencies...
==> Missing Dependencies:
-> pkg-config
==> ERROR: Could not resolve all dependencies.
thats what I get with makepkg -i -
Slow and insecure but feature-rich pacman wrapper in bash
This project of mine started because I want to compile my packages in a way that lets me delete gnome apps. Here's the problem: I see that evince depends on gnome-keyring, gnome-keyring depends on gconf and alltray depends on gconf. This leads me to think that if I recompile evince to not use gnome-keyring and recompile alltray to not use gconf, I can delete gconf.
NO!
I have to recompile evince to not use gconf as well because little do I know from pacman's dependency handling... gconf is a direct (but second level) dependency of evince as it's compiled as well.
This is a pretty standard problem. It's the reason why debian dependency lists are so damn long. I don't want Arch to move to a system like that... well sort of. Here's what I did. I made a script that acts just like pacman but when you tell it to download and install a package, it tells pacman to only download that package into a separate cache, then it extracts the package, finds all dynamic executables in the package, uses ldd to determine their library dependencies, uses pacman -Qo to find packages that own these dependencies (and caches them in a file so they can be looked up more quickly in the future), applies some other enhancements that should be visible in the script, then adds the new dependencies to the depends array and makes sure that none are duplicated. It also formats the array so that it goes (original clean dependency list) kernel26 (new list). That way it can parse queries as well so -Qi will omit all the dependencies after kernel26 and the Required By section while -Qii shows everything. This is the perfect compromise for me. Not sure if it will be for you.
Other things it does:
* Checks if AUR packages need updating (but doesn't update them)
* Takes out docs and gconf schemas
* Cleans up man pages so there's no /usr/man and just /usr/share/man/man*
* Convers /usr/share/man/locale/man1/whatever.1.gz to /usr/share/man/man1/whatever-locale.1.gz
* Converts info pages to man pages with info2man and puts them in man9
* Gzips all man pages
* Allows replacing packages with -U
* Package specific stuff like disabling the firefox error console.
Regretably I had to make it play around with the md5sums. This essentially makes them useless but if I don't do this reinstalling a package that is in the main cache because this script put it there fails due to corruption. So you might want to get rid of this "feature" and probably the firefox / uvesafb /gstreamer / info2man stuff but this is cool so tell me what you think of it.
#!/bin/bash
function aur_check {
STARTDIR=`pwd`
cd /var/cache/pacman
for r in `pacman -Qmq`; do
wget "http://aur.archlinux.org/packages/$r/$r/PKGBUILD" >/dev/null 2>&1
if [ $? -eq 0 ]; then
LOCAL_VERSION_REL=`'pacman' -Q $r | awk '{print $2}'`
LOCAL_VERSION=`echo $LOCAL_VERSION_REL| sed -e 's/-.*//g'`
REMOTE_VERSION=`cat PKGBUILD | grep -E '^pkgver=' | sed -e 's/pkgver=//g' | sed -e 's/[ ]*//g'`
REMOTE_REL=`cat PKGBUILD | grep -E '^pkgrel=' | sed -e 's/pkgrel=//g'`
if [[ "$LOCAL_VERSION" < "$REMOTE_VERSION" ]]; then
printf "warning: $r: ignoring package upgrade ($LOCAL_VERSION_REL => ${REMOTE_VERSION}-${REMOTE_REL})\n"
fi
rm PKGBUILD
fi
done
cd $STARTDIR
function sync_check {
STARTDIR=`pwd`
cd /var/cache/pacman
IGNORED_PACKAGES=`cat /etc/pacman.conf | grep -E '^IgnorePkg' | sed -e 's/IgnorePkg[ ]*=[ ]*//g'`
for s in $IGNORED_PACKAGES; do
REMOTE_VERSION_STRING=`'pacman' -Si $s 2>/dev/null | grep -E '^Version'`
if [ $? -eq 0 ]; then
REMOTE_VERSION_REL=`echo $REMOTE_VERSION_STRING | awk '{print $3}'`
LOCAL_VERSION_STRING=`'pacman' -Q $s 2>/dev/null`
if [ $? -eq 0 ]; then
LOCAL_VERSION_REL=`echo $LOCAL_VERSION_STRING | awk '{print $2}'`
printf "warning: $s: ignoring package upgrade ($LOCAL_VERSION_REL => $REMOTE_VERSION_REL)\n"
fi
fi
done
cd $STARTDIR
function remove_crap {
# No docs or schemas.
rm -rf 2>/dev/null ./usr/share/doc
rm -rf 2>/dev/null ./usr/share/gtk-doc
rm -rf 2>/dev/null ./etc/gconf
# Please delete this file. It is not necessary for linking the library.
find . -name "*.la" -exec rm {} \;
# Only one man directory please.
if [ -d ./usr/man ]; then
if [ ! -d ./usr/share ]; then
mkdir ./usr/share
fi
mv ./usr/man ./usr/share/man
fi
if [ -d ./usr/share/man ]; then
cd ./usr/share/man
ls | grep 'cat' | xargs rm -rf
if [ -d ./man ]; then
mv ./man/* .
rm -rf ./man
fi
# Imposes what I consider to be a better naming convention for some reason.
for t in `ls`; do
if [ $t != 'man0' ] && [ $t != 'man1' ] && [ $t != 'man2' ] && [ $t != 'man3' ] && [ $t != 'man4' ] && [ $t != 'man5' ] && [ $t != 'man6' ] && [ $t != 'man7' ] && [ $t != 'man8' ] && [ $t != 'man9' ] && [ $t != 'mann' ] && [ $t != 'manm' ]; then
cd $t
for u in `ls`; do
cd $u
for v in `ls`; do
SECOND_LAST_EXTENSION=`echo $v | sed -e 's/\.gz$//g' | rev | sed -e 's/\..*//g' | rev`
PREFIX=`echo $v | sed -e 's/\.gz$//g' | sed -e "s/\.${SECOND_LAST_EXTENSION}//g"`
SUFFIX=`echo $v | sed -e "s/$PREFIX//g"`
if [ ! -h $v ]; then
install -D $v ../../${u}/${PREFIX}-${t}${SUFFIX}
else
TARGET=`readlink $v`
TARGET_SECOND_LAST_EXTENSION=`echo $TARGET | sed -e 's/\.gz$//g' | rev | sed -e 's/\..*//g' | rev`
TARGET_PREFIX=`echo $TARGET | sed -e 's/\.gz$//g' | sed -e "s/\.${TARGET_SECOND_LAST_EXTENSION}//g"`
TARGET_SUFFIX=`echo $TARGET | sed -e "s/${TARGET_PREFIX}//g"`
install -d ../../${u}
ln -s ${TARGET_PREFIX}-${t}${TARGET_SUFFIX} ../../${u}/${PREFIX}-${t}${SUFFIX}
fi
done
cd ..
done
cd ..
rm -rf $t
fi
done
# Now that it is nicely organized we can gzip everything and add symlinks.
for x in `ls`; do
cd $x
for y in `ls`; do
echo $y | grep -q -E '\.gz$'
if [ $? -ne 0 ]; then
gzip $y >/dev/null 2>&1
SECOND_LAST_EXTENSION=`echo $y | rev | sed -e 's/\..*//g' | rev`
PREFIX=`echo $y | sed -e "s/\.${SECOND_LAST_EXTENSION}//g"`
NEW_NAME=`echo $PREFIX | sed -e 's/\./-/g'`
if [ $NEW_NAME != $PREFIX ]; then
ln -s ${y}.gz ${NEW_NAME}.${SECOND_LAST_EXTENSION}.gz
fi
else
SECOND_LAST_EXTENSION=`echo $y | sed -e 's/\.gz$//g' | rev | sed -e 's/\..*//g' | rev`
PREFIX=`echo $y | sed -e 's/\.gz//g' | sed -e "s/\.${SECOND_LAST_EXTENSION}//g"`
NEW_NAME=`echo $PREFIX | sed -e 's/\./-/g'`
if [ $NEW_NAME != $PREFIX ]; then
ln -s ${y} ${NEW_NAME}.${SECOND_LAST_EXTENSION}.gz
fi
fi
done
cd ..
done
cd ../../..
fi
# Converts info pages to man pages in the man9 directory
if [ -d ./usr/share/info ]; then
if [ -d ./usr/share/man ]; then
mkdir ./usr/share/man/man9
else
mkdir ./usr/share/man
mkdir ./usr/share/man/man9
fi
cd ./usr/share/info
for z in `ls`; do
echo $z | grep -q -E '\.gz$'
if [ $? -eq 0 ]; then
NAME=`echo $z | sed -e 's/\.gz$//g'`
NEWNAME=`echo $NAME | sed -e 's/\./-/g'`
gunzip $z
info2man $NAME > ../man/man9/${NEWNAME}
gzip ../man/man9/${NEWNAME} >/dev/null 2>&1
else
NEWNAME=`echo $z | sed -e 's/\./-/g'`
info2man $z > ../man/man9/${NEWNAME}
gzip ../man/man9/${NEWNAME} >/dev/null 2>&1
fi
done
cd ../../..
rm -rf ./usr/share/info
fi
function install_with_u {
ULTIMATE_ANSWER="y"
# Checks if there are package conflicts
CONFLICTS=`cat .PKGINFO | grep 'conflict = ' | awk '{print $3}'`
ACTUAL_CONFLICTS=""
for p in $CONFLICTS; do
VERSION_CHECK=0
CONFLICTING_PACKAGE=`echo $p | sed -r 's/(>|=|<).*//g'`
# Checks if these conflicts actually affect packages on the system
'pacman' -Q $CONFLICTING_PACKAGE >/dev/null 2>&1
if [ $? -eq 0 ]; then
AFFECTED=1
if [ ${#p} -gt ${#CONFLICTING_PACKAGE} ]; then
AFFECTED=0
# If a version is specified, finds it out and sees if we're affected
CONFLICTING_VERSION_STRING=${p:${#CONFLICTING_PACKAGE}:${#p}-${#CONFLICTING_PACKAGE}}
RELATION=${CONFLICTING_VERSION_STRING:1:2}
if [ "$RELATION" = "=" ]; then
RELATION=${CONFLICTING_VERSION_STRING:0:1}${RELATION}
CONFLICTING_VERSION=${CONFLICTING_VERSION_STRING:2:${#CONFLICTING_VERSION_STRING}-2}
else
RELATION=${CONFLICTING_VERSION_STRING:0:1}
CONFLICTING_VERSION=${CONFLICTING_VERSION_STRING:1:${#CONFLICTING_VERSION_STRING}-1}
fi
ACTUAL_VERSION=`pacman -Q $CONFLICTING_PACKAGE | awk '{print $2}'`
if [ "$RELATION" = ">" ]; then
if [[ "$ACTUAL_VERSION" > "$CONFLICTING_VERSION" ]]; then
AFFECTED=1
fi
elif [ "$RELATION" = "<" ]; then
if [[ "$ACTUAL_VERSION" < "$CONFLICTING_VERSION" ]]; then
AFFECTED=1
fi
elif [ "$RELATION" = ">=" ]; then
if [ "$ACTUAL_VERSION" >= "$CONFLICTING_VERSION" ]; then
AFFECTED=1
fi
elif [ "$RELATION" = "<=" ]; then
if [ "$ACTUAL_VERSION" <= "$CONFLICTING_VERSION" ]; then
AFFECTED=1
fi
else
if [ "$ACTUAL_VERSION" = "$CONFLICTING_VERSION" ]; then
AFFECTED=1
fi
fi
fi
if [ $AFFECTED -ne 0 ]; then
ACTUAL_CONFLICTS="$ACTUAL_CONFLICTS $CONFLICTING_PACKAGE"
printf ":: ${1} conflicts with ${CONFLICTING_PACKAGE}. Remove ${CONFLICTING_PACKAGE}? [Y/n] "
read ANSWER
if [ $ANSWER != "Y" ] && [ $ANSWER != "y" ]; then
ULTIMATE_ANSWER="n"
break
fi
fi
fi
done
if [ $ULTIMATE_ANSWER = "y" ]; then
for q in $ACTUAL_CONFLICTS; do
'pacman' -Rd ${q}
done
return 0
fi
return 1
function get_deps {
PACKAGE_NAME=`cat .PKGINFO | grep 'pkgname = ' | sed -e 's/pkgname = //g'`
# Does a few package specific things
if [ $PACKAGE_NAME = "kernel26" ]; then
ln -s /etc/uvesafb.conf /etc/uvesafb
elif [ $PACKAGE_NAME = "firefox" ]; then
cd ./usr/lib
FIREFOX_DIR=`ls | grep 'firefox'`
if [ $? -eq 0 ]; then
cd $FIREFOX_DIR/chrome
jar -xf ./browser.jar
rm ./browser.jar
sed -i -e '/console.xul/s/^/\/\//g' ./content/browser/browser.js
jar -cf browser.jar content
rm -r content
cd ../..
fi
cd ../..
elif [ $PACKAGE_NAME = "gstreamer0.10-good-plugins" ]; then
rm ./usr/lib/gstreamer0.10/libgstesd.so
fi
POSSIBLE_LIBS=`find . -type f | grep -E '(\.so\.|\.so$)'`
POSSIBLE_BINS=`find . -type f | grep -v 'PKGINFO' | grep -v -E '\/.*\.[a-zA-Z0-9]+$' | grep -v 'LICENSE'`
POSSIBLE_ELFS="$POSSIBLE_LIBS $POSSIBLE_BINS"
DEPS=""
# Makes a list of all the direct dependencies
for i in $POSSIBLE_ELFS; do
#echo "SCANNING: $i"
ldd $i >/dev/null 2>&1
if [ $? -eq 0 ]; then
# Caches the shared libraries in a file to make it easier for everything else to look them up
DIRNAME=`dirname ${i:1:${#i}}`
echo "$i" | grep -q ".so"
if [ $? -eq 0 ]; then
if [ "$DIRNAME" = "/lib" ] || [ "$DIRNAME" = "/usr/lib" ]; then
grep -q "${i:1:${#i}} $PACKAGE_NAME" /var/cache/pacman/quicklookup
# If this package's library assigned to this package was not found...
if [ $? -ne 0 ]; then
grep -q "${i:1:${#i}}" /var/cache/pacman/quicklookup
# It may have been assigned to another package so we change that
if [ $? -eq 0 ]; then
sed -i -e "/${i:1:${#i}}/d" /var/cache/pacman/quicklookup
fi
# Otherwise we just assign it to this package
echo "${i:1:${#i}} $PACKAGE_NAME" >> /var/cache/pacman/quicklookup
fi
fi
fi
# Figures out what packages own the library dependencies
POSSIBLE_DEPS=`ldd $i 2>/dev/null | grep '=> ' | grep -v '=> ' | sed -e 's/.* => //g' | sed -e 's/ (.*//g'`
for j in $POSSIBLE_DEPS; do
DIRNAME=`dirname $j`
if [ "$DIRNAME" = "/lib" ] || [ "$DIRNAME" = "/usr/lib" ]; then
OWNER=`grep "$j" /var/cache/pacman/quicklookup`
# The owner of the dep is either already in the quicklookup file
if [ $? -eq 0 ]; then
OWNER=`echo $OWNER | awk '{print $2}'`
DEPS="$DEPS $OWNER"
else
# Or it's part of the current package
BASENAME=`basename $j`
find . -name ${BASENAME} | grep -q "${BASENAME}"
if [ $? -eq 0 ]; then
echo "$j $PACKAGE_NAME" >> /var/cache/pacman/quicklookup
else
# Or we figure out its owner with pacman and put it in the quicklookup file
OWNER=`'pacman' -Qoq $j 2>/dev/null`
if [ $? -eq 0 ]; then
echo "$j $OWNER" >> /var/cache/pacman/quicklookup
DEPS="$DEPS $OWNER"
fi
fi
fi
fi
done
fi
done
# Sticks a "kernel26" between the old dependencies and the new dependencies
CURRENT_DEPS=`cat .PKGINFO | grep -E '^depend = ' | sed -e 's/depend = //g'`
DEPS="$CURRENT_DEPS kernel26a $DEPS"
# Puts them into the PKGINFO file so that all depend lines are contiguous
grep -q -E '^depend = ' .PKGINFO
if [ $? -eq 0 ]; then
FIRST_DEPEND_LINE_NUMBER=`grep -n -E '^depend = ' .PKGINFO | head -1 | sed -e 's/:.*//g'`
LAST_DEPEND_LINE_NUMBER=`grep -n -E '^depend = ' .PKGINFO | tail -1 | sed -e 's/:.*//g'`
LAST_LINE_NUMBER=`wc -l .PKGINFO | awk '{print $1}'`
(( DIFFERENCE=$LAST_LINE_NUMBER-$LAST_DEPEND_LINE_NUMBER ))
cat .PKGINFO | tail -${DIFFERENCE} > .PKGINFO-3
touch .PKGINFO-2
(( FIRST_DEPEND_LINE_NUMBER-- ))
cat .PKGINFO | head -${FIRST_DEPEND_LINE_NUMBER} > .PKGINFO-1
else
cp .PKGINFO .PKGINFO-1
touch .PKGINFO-2
touch .PKGINFO-3
fi
for k in $DEPS; do
echo "depend = $k" >> .PKGINFO-2
done
# This is all so we don't get mesa and mesa=7.5 in the same dep array
cat .PKGINFO-2 | awk '{print $3}' | sed -r 's/(>=|>|=|<|<=)/ \1/g' > .RAW-DEPS
cat .RAW-DEPS | awk '{print $1}' > .COL-1
cat .RAW-DEPS | awk '{print $2}' > .COL-2
# Got this from sed1line.txt... it removes duplicate lines
sed -i -n 'G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P' .COL-1
paste --delimiter="" .COL-1 .COL-2 > .RAW-DEPS
sed -i -e "/${PACKAGE_NAME}/d" .RAW-DEPS
sed -i -e 's/kernel26a/kernel26/g' .RAW-DEPS
sed -e 's/^/depend = /g' .RAW-DEPS > .PKGINFO-2
sed -i -e "/depend =[ ]*$/d" .PKGINFO-2
cat .PKGINFO-1 .PKGINFO-2 .PKGINFO-3 > .PKGINFO
rm .PKGINFO-1 .PKGINFO-2 .PKGINFO-3 .RAW-DEPS .COL-1 .COL-2
function do_install {
STARTDIR=`pwd`
cd /var/cache/pacman/tmp
for l in `ls -tr`; do
TEMP_DIR=`echo $l | sed -r 's/(-i686|-x86_64|-any|)\.pkg\.tar\.gz//g'`
# Extracts the package and makes the necessary modifications to it
mkdir $TEMP_DIR
mv $l $TEMP_DIR
cd $TEMP_DIR
tar -xf $l >/dev/null 2>&1
rm $l
remove_crap
get_deps
# Retars the package and installs it
if [ -e .INSTALL ]; then
tar -cf $l .INSTALL .PKGINFO * >/dev/null 2>&1
else
tar -cf $l .PKGINFO * >/dev/null 2>&1
fi
# Installs it and puts it in the cache
install_with_u $l
if [ $? -eq 0 ]; then
'pacman' -Udf $l
else
mv $l ../../pkg
cd ..
rm -r $TEMP_DIR
break;
fi
mv $l ../../pkg
cd ..
rm -r $TEMP_DIR
done
cd $STARTDIR
function get_answer {
read ANSWER
echo $ANSWER > /var/cache/pacman/answer
echo $ANSWER
if [ "$1" = "-Syu" ]; then
sync_check
aur_check
'pacman' --cachedir /var/cache/pacman/tmp -Syuw
do_install
elif [ "$1" = "-Su" ]; then
sync_check
aur_check
'pacman' --cachedir /var/cache/pacman/tmp -Suw
do_install
elif [ "$1" = "-S" ]; then
shift
PACKAGE_ARRAY=""
# If something we're installing is in the cache... move it to the temporary cache
for n in $@; do
if [ ${n:0:1} != "-" ]; then
NUM_MATCHES=`ls -1 /var/cache/pacman/pkg | grep -E "^${n}-" | wc -l`
for o in `seq 1 $NUM_MATCHES`; do
POSSIBLE_MATCH=`ls /var/cache/pacman/pkg | grep -E "^${n}-" -m${o} | tail -1`
HYPHENS=`echo $POSSIBLE_MATCH | sed -e "s/${n}//g" | grep -o "-" | wc -l`
if [ $HYPHENS -le 3 ]; then
mv /var/cache/pacman/pkg/${POSSIBLE_MATCH} /var/cache/pacman/tmp
# Changes the stored md5sum temporarily - I don't know a better way to do this
TEMP_DIR=`echo ${POSSIBLE_MATCH} | sed -r 's/(-i686|-x86_64|-any|)\.pkg\.tar\.gz//g'`
find /var/lib/pacman/sync -name $TEMP_DIR | grep -q $TEMP_DIR
if [ $? -eq 0 ]; then
MD5SUM=`md5sum /var/cache/pacman/tmp/${POSSIBLE_MATCH} | awk '{print $1}'`
REPOS=`find /var/lib/pacman/sync -name $TEMP_DIR | sed -e 's/\// /g' | awk '{print $5}'`
sed -i '/%MD5SUM%/G' /var/lib/pacman/sync/$REPOS/$TEMP_DIR/desc
MD5_LINE_NUMBER=`grep -n '%MD5SUM%' /var/lib/pacman/sync/$REPOS/$TEMP_DIR/desc | sed -e 's/:.*//g'`
(( MD5_LINE_NUMBER++ ))
sed -i -e "${MD5_LINE_NUMBER}s/.*/${MD5SUM}/" /var/lib/pacman/sync/$REPOS/$TEMP_DIR/desc
PACKAGE_ARRAY="${PACKAGE_ARRAY} ${REPOS}/${TEMP_DIR}"
fi
break;
fi
done
fi
done
# Pacman is run and then a function reads a y or an n from stdin and passes it to pacman's stdin
get_answer | 'pacman' --cachedir /var/cache/pacman/tmp -Sw $@
# The function also saves it in a file so we know whether to proceed or cancel because pacman was cancelled
LETTER=`cat /var/cache/pacman/answer`
if [ "$LETTER" != "y" ] || [ "$LETTER" != "Y" ]; then
do_install
else
# If anything got moved to the temporary cache for this it is sent back to the main one
FILES_IN_CACHE=`ls /var/cache/pacman/tmp | wc -l`
if [ $FILES_IN_CACHE -ne 0 ]; then
mv /var/cache/pacman/tmp/* /var/cache/pacman/pkg
fi
fi
# Changes all the md5sums back
for w in $PACKAGE_ARRAY; do
MD5_LINE_NUMBER=`grep -n '%MD5SUM%' /var/lib/pacman/sync/$w/desc | sed -e 's/:.*//g'`
(( MD5_LINE_NUMBER++ ))
sed -i -e "${MD5_LINE_NUMBER}d" /var/lib/pacman/sync/$w/desc
done
elif [ "$1" = "-U" ]; then
STARTDIR=`pwd`
TEMP_DIR=`echo $2 | sed -r 's/(-i686|-x86_64|-any|)\.pkg\.tar\.gz//g'`
mkdir /var/cache/pacman/$TEMP_DIR
cp "$2" /var/cache/pacman/$TEMP_DIR
cd /var/cache/pacman/$TEMP_DIR
tar -xf $2 >/dev/null 2>&1
rm $2
get_deps
# Retars the package and installs it
if [ -e .INSTALL ]; then
tar -cf $2 .INSTALL .PKGINFO * >/dev/null 2>&1
else
tar -cf $2 .PKGINFO * >/dev/null 2>&1
fi
install_with_u $2
if [ $? -eq 0 ]; then
'pacman' -U $2
fi
cd ..
rm -r $TEMP_DIR
cd $STARTDIR
elif [ "$1" = "-Qi" ] || [ "$1" = "-Qii" ]; then
INITIAL_ARG=$1
shift
if [ "$INITIAL_ARG" = "-Qi" ]; then
'pacman' -Qi $@ > /var/cache/pacman/tempquery
else
'pacman' -Qii $@ > /var/cache/pacman/tempquery
fi
if [ $? -ne 0 ] || [ ! -e /var/cache/pacman/tempquery ]; then
exit 1
fi
# Filters out all deps after kernel26 for a regular query
# Filters out all deps before kernel26 for a verbose query
if [ $? -eq 0 ]; then
START_LINE_NUMBER=`cat /var/cache/pacman/tempquery | grep -n 'Depends On' | sed -e 's/:.*//g'`
LINE_NUMBER=$START_LINE_NUMBER
(( LINE_NUMBER=$LINE_NUMBER+1 ))
cat /var/cache/pacman/tempquery | head -${LINE_NUMBER} | tail -1 | grep ':'>/dev/null 2>&1
while [ $? -ne 0 ]; do
(( LINE_NUMBER=$LINE_NUMBER+1 ))
cat /var/cache/pacman/tempquery | head -${LINE_NUMBER} | tail -1 | grep ':'>/dev/null 2>&1
done
(( END_LINE_NUMBER=$LINE_NUMBER-1 ))
(( DIFFERENCE=$LINE_NUMBER-$START_LINE_NUMBER ))
OLD_DEP_LIST=`cat /var/cache/pacman/tempquery | head -${END_LINE_NUMBER} | tail -${DIFFERENCE} | sed -e 's/.* : //g' | sed -e 's/ //g'`
for k in $OLD_DEP_LIST; do
if [ "$INITIAL_ARG" = "-Qi" ]; then
if [ "$k" != "kernel26" ]; then
NEW_DEP_LIST="$NEW_DEP_LIST $k"
else
break
fi
else
if [ "$k" != "kernel26" ]; then
NEW_DEP_LIST="$NEW_DEP_LIST $k"
fi
fi
done
fi
# Removes the old deps array and replaces it with the new one
sed -i -e "${START_LINE_NUMBER},${END_LINE_NUMBER}d" /var/cache/pacman/tempquery
(( START_LINE_NUMBER=$START_LINE_NUMBER-1 ))
END_LINE_NUMBER=`wc -l /var/cache/pacman/tempquery | awk '{print $1}'`
(( DIFFERENCE=$END_LINE_NUMBER-$START_LINE_NUMBER ))
cat /var/cache/pacman/tempquery | head -${START_LINE_NUMBER} > /var/cache/pacman/tempquery-1
cat /var/cache/pacman/tempquery | tail -${DIFFERENCE} > /var/cache/pacman/tempquery-3
CURRENT_LINE=""
CURRENT_LINE_NUMBER=1
for m in $NEW_DEP_LIST; do
if (( ${#CURRENT_LINE}+${#m}+1<=63 )); then
CURRENT_LINE="$CURRENT_LINE $m"
else
if [ $CURRENT_LINE_NUMBER -eq 1 ]; then
printf "Depends On :$CURRENT_LINE\n" >> /var/cache/pacman/tempquery-2
else
printf "\t\t$CURRENT_LINE\n" >> /var/cache/pacman/tempquery-2
fi
CURRENT_LINE=" $m"
CURRENT_LINE_NUMBER=0
fi
done
if [ $CURRENT_LINE_NUMBER -eq 1 ]; then
printf "Depends On :$CURRENT_LINE\n" >> /var/cache/pacman/tempquery-2
else
printf "\t\t$CURRENT_LINE\n" >> /var/cache/pacman/tempquery-2
fi
cat /var/cache/pacman/tempquery-1 /var/cache/pacman/tempquery-2 /var/cache/pacman/tempquery-3 > /var/cache/pacman/tempquery
# Removes the requirements array for a regular query
if [ "$INITIAL_ARG" = "-Qi" ]; then
START_LINE_NUMBER=`cat /var/cache/pacman/tempquery | grep -n 'Required By' | sed -e 's/:.*//g'`
LINE_NUMBER=$START_LINE_NUMBER
(( LINE_NUMBER=$LINE_NUMBER+1 ))
cat /var/cache/pacman/tempquery | head -${LINE_NUMBER} | tail -1 | grep ':'>/dev/null 2>&1
while [ $? -ne 0 ]; do
(( LINE_NUMBER++ ))
cat /var/cache/pacman/tempquery | head -${LINE_NUMBER} | tail -1 | grep ':'>/dev/null 2>&1
done
(( END_LINE_NUMBER=$LINE_NUMBER-1 ))
sed -i -e "${START_LINE_NUMBER},${END_LINE_NUMBER}d" /var/cache/pacman/tempquery
fi
cat /var/cache/pacman/tempquery
rm /var/cache/pacman/tempquery /var/cache/pacman/tempquery-1 /var/cache/pacman/tempquery-2 /var/cache/pacman/tempquery-3
elif [ "$1" = "-Scc" ]; then
LINE_NUMBER=0
for z in `cat /var/cache/pacman/quicklookup | awk '{print $1}'`; do
(( LINE_NUMBER++ ))
if [ ! -e $z ]; then
sed -i -e "${LINE_NUMBER}d" /var/cache/pacman/quicklookup
(( LINE_NUMBER-- ))
fi
done
'pacman' -Scc
else
'pacman' $@
fi
Last edited by ConnorBehan (2009-09-19 00:42:48)rls wrote:ABS is fine, but unless I am mistaken, it does nothing to ensure the configure and make stages go smoothly. It is a good way to integrate "home-rolled" packages into the Arch system.
hmmmm... I could be wrong because I've never used Gentoo, but if you make a package that doesn't already exist for Gentoo, does it do anything to make sure the compilation goes smoothly? If the package exists, then there is a way to build the package that has been tested by somebody else. This is how ABS works too; if a PKGBUILD exists, you can be reasonably sure it will work.
I can't imagine a program that can automatically fix or recover from compiler or Makefile errors. If it does, then... wow.
I assume that Gentoo has a larger package base than Arch, but let's not get into that discussiong again!
Xentacs script is basically designed to allow you to choose whether you are going to install from source or binary. Assuming the PKGBUILDS are in order (which for arch repository programs they are, because the binaries were built from them!), this should work as flawlessly as installing from binaries.
Dusty -
Problem in Predefined Properties after SP14 upgrade
Hi,
we are facing one Problem after the SP14 upgrade in the Development environment.The Problem is as follows:
Actually we have defined some Predefined metadata Properties which give us option of country and Locality while uploading any Document.The Property of Country and Locality are Interlinked and whenever user check the country checkbox (Like China) the interdependent Locality List appears (like Shanghai).But after SP14 upgrade whenever we are clicking the country checkbox the Loclity checkboxes are not appearing.(Even though some processing happens).I have checked all the configuration under System admin >Global services> Property Metada -->Group and Properties.Property Structures -->Property Groups etc and match them with all the properties of that in the Production environment.But we don't find any property missing like Dependencies etc.
Is there anything else we need to check?Anybody of you have faced the same Problem earlier?
Please Help It is urgent
Regards
ImranDear Imran,
we dint migrate the properties to the new server.
we have created those properties again in our new server.
I am using those properties for two purposes
1.to refine the search ,adding them in the search option set.
here i am able to see the all properties and there dependedncy .
its working fine.
2. while uploading the documnets.
I created a metadata group mapped those properties to all groups.
all process as we have done in our old server.
here i am able to view all the properties except 1.
for ex country and city
I am able to see the property country ,
but the property city is not visible only .
where as i can see both the properties in search and working as desired .
If the problem is with patch,then it should either not work in the search also.
can u please suggest me on this .
Thanks in advance
Regards
swetha pola -
Hi Guys!
I need to exchange XML documents with third-party. The aproach is to generate it from SAP and then sign it with Digital Signature.
I found information, that I could use SSF to achieve it. On help.sap.com I found information, that I could use SAP Cryptographic library.
I have installed SAP Crypto and I maintained ssfrfc.ini file:
SSF_LIBRARY_PATH = D:\CRYPTO\sapcrypto.dll
SSF_TRACE_LEVEL = 3
SSF_MD_ALG = MD5
SSF_SYMENCR_ALG = DES-CBC
Now I want to test it with report SSF01 - but I'm getting an error:
Result: SSF_API_NOSECTK
Version information: 61
SSFRFC V1.46.3 No security toolkit version information found.
So I thought I will manually run ssfrfc.exe. And again I'm getting an error:
=================================================
=== SSF INITIALIZATION:
===... SSF initialization file ssfrfc.ini found.
===...SSF library is D:\CRYPTO\sapcrypto.dll .
===...SSF trace level is 3 .
===...SSF hash algorithm is MD5 .
===...SSF symmetric encryption algorithm is DES-CBC .
===...completed.
=================================================
=================================================
=== LOAD SSF FUNCTIONS:
===...could not load SSF library D:\CRYPTO\sapcrypto.dll .
I checked two libraries:
SAPCRYPTOLIBP_8412-20011729
SAPCRYPTOLIB_36-10010888
I checked all file destinations and so on at least three times. I don't have any new idea to make it working. Please help me.
Best regards
AnaHello Anatoly,
I had exactly the same issue with a SSF library provided by SBKontur (RU). Their library "KonturSSF.dll" could not be loaded by ssfrfc.exe on the frontend, the trace file contained something like:
=================================================
=== SSF INITIALIZATION:
===... SSF initialization file C:\Program Files (x86)\SAP\FrontEnd\SAPgui\ssfrfc.ini found.
===...SSF library is C:\Program Files (x86)\SAP\FrontEnd\SAPgui\KonturSSF.dll .
===...SSF trace level is 5 .
===...SSF hash algorithm is SHA1 .
===...SSF symmetric encryption algorithm is DES-CBC .
===...completed.
=================================================
=================================================
=== LOAD SSF FUNCTIONS:
===...could not load SSF library C:\Program Files (x86)\SAP\FrontEnd\SAPgui\KonturSSF.dll .
After some investigation I found out by calling the ssfrfc.exe directly in a Windows command box with option -D, that the library had dependencies to Microsoft's C runtime libraries MSVCP120.DLL and MSVCR120.DLL.
Unfortunately, this is not logged into the SSF RFC Trace File dev_ssfa*, but only shown as error message in a popup window if you execute ssfrfc.exe directly as mentioned before.
So you should try this in order to find out if there are dependencies with your special library.
Kind regards
Heiko -
How to call Fortran .dll file that using other library files?
Hi,
I am trying to do some arkward tasks using LabView, and I am desperately need help....
A little bit background:
1. My co-worker has some code written in Fortran, where he called other libraries (many from CERNLAB or PAW). Those stuffs are pretty powerful in mathmatical calculation and simulations.
2. In some of my LabView code, I need to call his Fortran source code in order to do some complicated calculations. I have no capablility to translate his Fortran code to Labview (or is it even possible??), so we end up with trying to use "Call library function node" where I just provide input/outputs to communicate with his code. The idea sounds simple enough?
3. We complie the Fortran code into .dll, and then specifiy the dll in "Call library function node". The first try with a very simple Fortran code, something like c = a+b*a, was sucessful. The dll file and Call lib function worked good. It's sort of proved the concept.
4. Now I am trying more complicated Fortran code (say Test.dll), which calling other library (.lib files) that using typical "call xxx(a,b,c)" line, and my nightmare started.... It seems nothing was excuted when I call Test.dll in LabView.
Questions:
1. How do LabView know if the Test.dll code needs functions from other .lib files? Do I need to copy all the .lib files to a specific folder?
2. When I create .dll file, for LabView to be able to use it, are there any special requirement on the way the .dll is compiled?
3. Seems there is mismatch btw the data type in Fortran and LabView. For example, LabView's Signed 8-bit Integer seems different with a integer in Fortran. How can i know the correlation btw data type in different langurage, i.e. LabView vs Fortran?
4. Are there any good examples that I can take a look?
I would highly appreicate any suggestions/helps!
Rgds,
HarryYou are aware that Intel Visual Fortran is the successor to Compaq Visual Fortran (I think you made a mistype with the Virtual)? So an upgrade might be at its place.
Anyhow I'm really not familiar with Fortran at all, but lib files are usually compiled into an EXE or DLL and not loaded dynamically. 1)
So there should be no problem with locating those libs. What most likely is a problem are other DLL dependencies such as any Fortran Runtime library or possibly other third party DLLs the more advanced code in your DLL might be using.
Typically most compilers can be configured to link the runtime library code statically into the DLL, as altenbach reports for the Intel compiler, otherwise you must make sure to install the redistributable Fortran Runtime Library for your compiler. Besides that you must make sure to find out what other runtime dependencies your code might have and install them.
1) One exception I know of is LabWindows CVI which allows to also load lib files dynamically. This is supposedly a legacy feature from LabWindows for DOS, which allowed that feature to simulate dynamic module loading in order to swap modules at runtime to work around the 640k memory limitation of DOS.
Rolf Kalbermatter
CIT Engineering Netherlands
a division of Test & Measurement Solutions -
Empty search result in query on SMPortal SCSM 2012
Hello
We have on SCSM Portal about 20 published Request Offerings. Some of them have problem to display query result on portal in the form of creating request. This happens from time to time. We can't find the reason and any dependencies. But this is real problem
because if it happens - user can't create request because can't select anything in empty fields. When I open first time new request form It thinks too much time and after show no results. Log is clear for any specific errors which could have any relationship
to this problem.
Could you help in the question what can be the reason of this? Example is on the screenshot. And I'm sure that result of the query result should not empty the same query work normally in another Request Offering at the same time.
Thank youHi Dmytro
You say that only some of you Request Offerings are having this issue, from time to time. Those types of issues are the worst don't you think? If I where you I would start With recreating at least one of the troublesome Request Offerings from scratch.
And make sure that the template and Request Offering goes into a
new Management Pack. If this request offering turns out to be healthy afterwards then you do the same to the rest of them.
Might also be interesting to know how many Computer CI you have in the CMDB. -
Newbie Pacman question [SOLVED]
I am very new to ArchLinux (less than 24 hours exposure) and have one simple question so far...
I cannot seem to figure out why when I run:
pacman -Q apache
I get an error saying it cannot find any packages named apache, but when I do:
pacman -S apache
It magically finds apache and its required dependencies...what am I missing here? Just trying to understand this system a bit better.
Thanks in advance!
Last edited by ckeck (2009-10-05 15:36:16)Thanks everyone -- I had read through it but I guess I missed that option. My mistake.
Loving Arch so far...any thoughts or advice if coming from mostly a Debian background? Finding a lot of little differences that are throwing me off -
Has anyone successfully installed RPM on Arch?
I've read the numerous threads describing how to convert .rpm packages into pkgbuilds. But I'm trying to install Intel's VTune, which apart from being distributed in closed-source rpm packages, is also installed via a series of complicated shell scripts that rely on queries to RPM.
I've tried installing RPM from the AUR, as well as building it from source, but in both cases I get a series of errors when running it -- mainly that it cannot detect anything on the system, not even /bin/sh. Basically `rpm -q` turns up nothing. I guess I'm probably missing some set-up steps, but I couldn't find any good documentation to help me here.
Since it's available on the AUR, I figure some people here must've done it successfully. Any tips?I created an Arch package for a commercial binary rpm application, you may see it here:
pkgname=Maya2009
pkgver=2009.0
pkgrel=1
pkgdesc="High-end 3D animation suite."
arch=('x86_64')
url="http://www.autodesk.com/maya"
license=('proprietary')
depends=('tcsh' 'libjpeg6' 'libgl' 'fam' 'libxp' 'libxpm')
makedepends=('rpm' 'cpio')
source=(Maya2009_0_64-2009.0-423.x86_64.rpm \
postPkg.sh)
md5sums=('48646ed435722682857b92c5bfa79d02'
'3072e06e004e273b0e85637fc6d5d7ce')
build() {
cd ${pkgdir}
rpm2cpio ${srcdir}/Maya2009_0_64-2009.0-423.x86_64.rpm > Maya2009.cpio || return 1
cpio -idmv < Maya2009.cpio || return 1
rm Maya2009.cpio || return 1
cp ${srcdir}/postPkg.sh ${pkgdir}/postPkg.sh || return 1
sh postPkg.sh || return 1
rm postPkg.sh || return 1
Basically find out somehow all the dependencies and add them - I knew this already and didn't bother to find a method using rpm or something, then run this to extract the installation scripts from the rpm:
$ rpm -pq --scripts <PackageName>.rpm > scripts
Now edit that "scripts" to add/remove whatever necessary, maybe not a very easy task, for example Maya requires a directory called /usr/tmp and some symlinks, I put everything in that file. In a quick and dirty manner, I renamed this file "postPkg.sh" and run if from the build() function in the work dir (some path-related things), but afaik the pacman way is to put them in the "*.install" script to restore the modification when removing the package, and so on.
Finally build your package with 'makepkg -s', as usual. -
About DBA_DEPENDENCIES and REFERENCED_LINK_NAME
Hi, i have a question about, the info of DBA_DEPENDENCIES, i found the next two rows on the same database, and i don't understand why they are about the same synonym, that uses a database link, but here it appears two times, once with the db_link that it is related to, and other without the db_link.
OWNER NAME TYPE REF_OWNER REF_NAME REF_TYPE REF_LINK_NAME DEPENDENCY_TYPE
SCHEMAX PROCX PROCEDURE PUBLIC SYNONYMX SYNONYM DB_LINK_X HARD
SCHEMAX PROCX PROCEDURE PUBLIC SYNONYMX SYNONYM NULL HARDSomebody knows what is the reason of this?
Thank you.
Edited by: user11173393 on 10/12/2010 02:26 PM
Edited by: user11173393 on 10/12/2010 02:27 PMhttp://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:3225568207176
+"+
+We are missing something in this discussion. Just wanted to Add to it and would also like to know.+
+How can we find out depencenies on the Objects of a remote database. Let's assume I have created a+
+view and i am referring to a table of Remote database using DB_LINK.+
+How can i find out these kind of dependencies. I tried to user DBA_DEPENDENCIES.+
+DBA_DEPENDENCIES describes all dependencies in the database between procedures, packages,+
+functions, package bodies, and triggers, including dependencies on views created without any+
+database links.+
+Followup December 23, 2009 - 7am Central time zone:+
+Your object is dependent on the database link - and that is all.+
+I like to use views, as they import the metadata of the remote table and it is pretty clear what the view refers to to (single table view). It makes the compilation of the procedure a bit speedier as well since the procedure is dependent on the view, not on the database link behind the view - we don't need to even open the link to compile the procedure.+
+"+
Hope This Helps.
Ogan -
Uploading local package problems in 11g
I've tried to add a package to the "Local PKGs" section of the local content. I can install the package manually without issue but when I upload it into "Local Content" it ends up with the "Broken Rules (Missing Dependencies)" state. When the package is in that state I can't use it in operational profiles.
I've checked the emoc.log but all I can find is it says "No Dependencies".
Any idea what I'm missing on the upload? Or how to fix the "broken rules"?
Thanks.We are using the Multipart request in the Oracle 8i Application server(with APache 1.3 as web server) itself. For that matter we didn't set any classpath separetly in the jserv.properties file of the Application server. Only the classes relating to the Multipart files are to be referenced with all other classes of whichever appliaction you are creating and that can be put in the proper package within the classes folder of the Web-Inf where generally the classes are referenced. OI guess that will certainly work in Oracle 9i AS.
Thanks. -
Labview 8.5 project crashes when searching for callers of missing lvlib
I have done a search and reviewed previously reported crashes with LV8.5, but did not find a match to what I'm seeing.
SYNOPSIS: When selecting Find > Callers, under the project Dependencies, LV crashes as shown in the image below.
I created a new project and "borrowed" some vi's from another project. Disconnected all vi's from previous libraries and proceeded to develop code last night. All seemed well.
This morning, as I opened the project to continue coding, it complained about a missing lvlib, the one items were "borrowed" from. No big deal, I'll just look at the dependencies and find out which one I missed. When doing the search, the program crashes immediately. Repeated a number of times with the same result. Verified system performance and memory useage, minimal change when opening the project or attempting to do the search.
I will attempt a workaround, but I am curious if others have seen this as well.
I'll wait before reporting this as a "bug", until more info is gathered on this..
By the way, the original lvlib was NOT deleted, removed, moved, renamed as the error suggests.. LV actually knows where it is because it finds the directory when doing the search..
I know the routine, "simply re-install LV8.5", but I'm trying to understand more of what's gooing on and how we can avoid this.. I remember LV8.2 was crashing a lot at the beginning, then for no apparent reason, it became stable, and now I can't remember the last time it crashed.. Do others observe the same thing? LV gets more stable with time?? LOL! A program with personality. Will LV turn into HAL? LOL!!
Here's the picture:
Message Edited by JoeLabView on 02-13-2008 08:35 AM
Attachments:
LV8.5ProjectCrash.PNG 38 KBGood morning Jennifer,
I'll try to re-create the events from memory.
OS: Win-XP Pro - SP2
1. Opened library of VI's from Agilent E4440A drivers. Opened the "Tree.vi" to look at available vi's. Copied (pasted) some of the vi's into a new folder. This may be important: I deleted the folder that contained the original library. (Actually, the zipped file was moved to a storage location). This means LV has no idea where to find the original library.
2. Opened all freshly copied VI at the new folder location. They all complained about not finding the .lvlib file. Ignored the error and disconnected every vi from the library and saved them. All except for one which was polymorphic and I didn't need it. I forgot to delete it at this time.
3. Created a new folder (real) within the directory structure of an existing project which uses an lvlib. Moved the disconnected vi's into this folder.
4. Opened the project and added the folder to the project, thus creating the virtual folder and files that were in the folder. All this was added to the library.
Note.. I can't remember the exact steps below, but they were something close to what I describe.
5. Cannot remember if I closed the project then opened it, but I do remember seeing a message complaining that one VI could not find the lvlib (the one from Agilent).
6. Looked into the folder and examined the saved date, which quickly led to the polymorphic VI that was still part of the original library. Since I was not sure if I wanted to use it later, I simply changed the extention from .vi to ._vi_.
7. Did some work, saved everything. Closed the project..
8. Opened the project and got an error message about a missing .lvlib. Again looking for the original Agilent lib. Remember that I had deleted the original library, it's folder, etc. (step 1).
9. Everytime I would open the project, I would get the error message. I ignore it and continue working. Since I don't like errors , I looked at the dependencies to find out what I missed. At this time, the file with the ._vi_ extension was still in the folder. I had forgotten about it and didn't realize that LV would pick it up.
10. In the dependencies tree, I right-clicked the error message and selected "Find>Callers", as shown in the attached image of the original post. Got the crash message. I repeated this 4 times. Rebooted the PC, and repeated it twice. All the same result >> Crash. I may have saved a copy of the "crash" report, although I doubt it... I didn't bother sending the report to MS; because, well, I don't have much credibility over what those guys do at MS.
11. Looked at the folder to go through every VI to find out which one was still connected to the library. None of them were.
12. Noticed the ._vi_, and figured there would be no harm to delete it. Deleted it. It resolved the dependencies, thus no more error, no more crash.
I am actually surprised that LV project also looks into non-DOTvi files for dependencies. I imagined that it would ignore anything non-Labview known extentions. This is definitely good to know. However, the crash was a bit unexpected.
I will look for error logs. If I have time, I may try to repeat this on my PC and send logs. It will have to wait until I finish my surrent project (client / revenue)
Hope the above helps.
RayR -
Hey all,
i'm in the process of rewriting a currently procedural project/application to an oop one.
The problem is,that i can't open the project anymore on this pc and another one. So i tried to create a new project, adding the ethernet rio and the files i created previously. Everything was working fine until i again closed and reopened the project, then the same error occurs.
For testing purposes i installed the trial version of labview for macs on my macbook and there the project loads without an error.
Then i thought about updating labview (2012 to 2012 SP1), but this didn't change a thing.
Attached you will find the project with all dependencies.
I hope you can help me with this as i couldn't make any progress in fixing this error.
Attachments:
Hilfe.zip 549 KBSo the LabVIEW IDE itself is crashing.
I've taken a look at your Project and the crash is coming from the Ventil class from inside the "Klassen" folder.
If I remove the 4 Ventil... files and load V2-Neu.lvproj then it loads fine (skipping the obvious missing dependencies).
If I replace these dependencies then it accepts them, but you can't reload the project without the same crash.
I would suggest you try re-creating these Ventil class files, maybe that will help.
Thoric (CLA, CLED, CTD and LabVIEW Champion)
Maybe you are looking for
-
WRT54G for computer internet gaming
I just bought a RC aircraft game that has a multiplayer online game mode. I have to use a Static IP address and have a port range between 61234 and 61241. Simple enough I guess, if you know what you"re doing. Here are the prolbems I am running into.
-
ICloud loses individual episodes from TV Shows
I have converted TV Shows from DVD to the harddisk of my Mac using Handbrake, and uploaded them to the iCloud so I can watch them via Apple TV. Since my harddisk is pretty full I have transferred the media to a Synology NAS using TuneSpan. This usual
-
Hi, I have a query regarding explain plan. While we gather the statistics then optimize choose the best possible plan out of the explain plans available. If we do not gather statistics on a table for a long time then which plan it choose: If it will
-
Is there a way to check SQL syntax only? Thanks.
-
Re-Developed an existing dashboard completely in Design Studio
Hi All, How to Re-Developed an existing dashboard completely in Design Studio and made compatible for IPad and Iphone ? Thanks in Advance..